From 8867f4f188141a07d3e6d8ee157472cf99a60129 Mon Sep 17 00:00:00 2001 From: Dhananjay Tanpure Date: Thu, 20 Jan 2022 21:06:17 +0000 Subject: [PATCH 1/9] added module for blugon --- bumblebee_status/modules/contrib/blugon.py | 97 ++++++++++++++++++++++ tests/modules/contrib/test_blugon.py | 2 + 2 files changed, 99 insertions(+) create mode 100644 bumblebee_status/modules/contrib/blugon.py create mode 100644 tests/modules/contrib/test_blugon.py diff --git a/bumblebee_status/modules/contrib/blugon.py b/bumblebee_status/modules/contrib/blugon.py new file mode 100644 index 0000000..4fa0079 --- /dev/null +++ b/bumblebee_status/modules/contrib/blugon.py @@ -0,0 +1,97 @@ +"""Displays temperature of blugon and Controls it. + +Use wheel up and down to change temperature, middle click to toggle and right click to reset temprature. + +Default Values: + * Minimum temperature: 1000 (red) + * Maximum temperature: 20000 (blue) + * Default temperature: 6600 + +Requires the following executable: + * blugon + +Parameters: + * blugon.step: The amount of increase/decrease on scroll (default: 200) + +contributed by `DTan13 ` +""" + +import core.module +import core.widget + +import util.cli +import util.format + +import os + + +class Module(core.module.Module): + def __init__(self, config, theme): + super().__init__(config, theme, core.widget.Widget(self.full_text)) + self.__state = True + self.__default = 6600 + self.__step = ( + util.format.asint(self.parameter("step")) if self.parameter("step") else 200 + ) + self.__max, self.__min = 20000, 1000 + + file = open(os.path.expanduser("~/.config/blugon/current")) + self.__current = int(float(file.read())) + + events = [ + { + "type": "toggle", + "action": self.toggle, + "button": core.input.MIDDLE_MOUSE, + }, + { + "type": "blue", + "action": self.blue, + "button": core.input.WHEEL_UP, + }, + { + "type": "red", + "action": self.red, + "button": core.input.WHEEL_DOWN, + }, + { + "type": "reset", + "action": self.reset, + "button": core.input.RIGHT_MOUSE, + }, + ] + + for event in events: + core.input.register(self, button=event["button"], cmd=event["action"]) + + def set_temp(self): + temp = self.__current if self.__state else self.__default + util.cli.execute("blugon --setcurrent={}".format(temp)) + + def full_text(self, widget): + return self.__current if self.__state else self.__default + + def state(self, widget): + if not self.__state: + return ["critical"] + + def toggle(self, event): + self.__state = not self.__state + self.set_temp() + + def reset(self, event): + self.__current = 6600 + self.set_temp() + + def blue(self, event): + if self.__state and (self.__current < self.__max): + self.__current += self.__step + self.set_temp() + + def red(self, event): + if self.__state and (self.__current > self.__min): + self.__current -= self.__step + self.set_temp() + + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/tests/modules/contrib/test_blugon.py b/tests/modules/contrib/test_blugon.py new file mode 100644 index 0000000..6c9dd9b --- /dev/null +++ b/tests/modules/contrib/test_blugon.py @@ -0,0 +1,2 @@ +def test_load_module(): + __import__("modules.contrib.zpool") From e5cdabcc0f9fb972828cf88739072130bf2f545a Mon Sep 17 00:00:00 2001 From: Dhananjay Tanpure Date: Mon, 7 Mar 2022 08:50:30 +0530 Subject: [PATCH 2/9] mpd and title --- bumblebee_status/modules/contrib/mpd.py | 9 +++++++++ bumblebee_status/modules/contrib/title.py | 6 +++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/bumblebee_status/modules/contrib/mpd.py b/bumblebee_status/modules/contrib/mpd.py index 3efffff..92568d1 100644 --- a/bumblebee_status/modules/contrib/mpd.py +++ b/bumblebee_status/modules/contrib/mpd.py @@ -94,6 +94,12 @@ class Module(core.module.Module): "cmd": "mpc toggle" + self._hostcmd, } widget.full_text(self.description) + elif widget_name == "mpd.toggle": + widget_map[widget] = { + "button": core.input.LEFT_MOUSE, + "cmd": "mpc toggle" + self._hostcmd, + } + widget.full_text(self.toggle) elif widget_name == "mpd.next": widget_map[widget] = { "button": core.input.LEFT_MOUSE, @@ -127,6 +133,9 @@ class Module(core.module.Module): def description(self, widget): return string.Formatter().vformat(self._fmt, (), self._tags) + def toggle(self, widget): + return str(util.cli.execute("mpc status %currenttime%/%totaltime%", ignore_errors=True)).strip() + def update(self): self._load_song() diff --git a/bumblebee_status/modules/contrib/title.py b/bumblebee_status/modules/contrib/title.py index 33af47a..055369e 100644 --- a/bumblebee_status/modules/contrib/title.py +++ b/bumblebee_status/modules/contrib/title.py @@ -9,6 +9,7 @@ Parameters: * title.max : Maximum character length for title before truncating. Defaults to 64. * title.placeholder : Placeholder text to be placed if title was truncated. Defaults to '...'. * title.scroll : Boolean flag for scrolling title. Defaults to False + * title.short : Boolean flag for short title. Defaults to False contributed by `UltimatePancake `_ - many thanks! @@ -35,6 +36,7 @@ class Module(core.module.Module): # parsing of parameters self.__scroll = util.format.asbool(self.parameter("scroll", False)) + self.__short = util.format.asbool(self.parameter("short", False)) self.__max = int(self.parameter("max", 64)) self.__placeholder = self.parameter("placeholder", "...") self.__title = "" @@ -66,7 +68,9 @@ class Module(core.module.Module): def __pollTitle(self): """Updating current title.""" try: - self.__full_title = self.__i3.get_tree().find_focused().name + focused = self.__i3.get_tree().find_focused().name + self.__full_title = focused.split( + "-")[-1].strip() if self.__short else focused except: self.__full_title = no_title if self.__full_title is None: From d52f71306381ac02a0a5a768d74f3d045ab17cf0 Mon Sep 17 00:00:00 2001 From: Bernhard B Date: Mon, 7 Mar 2022 20:53:11 +0100 Subject: [PATCH 3/9] Revert "Merge pull request #857 from bbernhard/pactl" This reverts commit eb51a3c1c7d99829304ba615b9caa4ef8417af42, reversing changes made to c57daf65ce6da29d405570e1de09adbc9bad779b. Instead of creating a separate module, the changes will be integrated into the pulseaudio module. --- bumblebee_status/modules/contrib/pactl.py | 141 ---------------------- 1 file changed, 141 deletions(-) delete mode 100644 bumblebee_status/modules/contrib/pactl.py diff --git a/bumblebee_status/modules/contrib/pactl.py b/bumblebee_status/modules/contrib/pactl.py deleted file mode 100644 index cd62c9a..0000000 --- a/bumblebee_status/modules/contrib/pactl.py +++ /dev/null @@ -1,141 +0,0 @@ -# pylint: disable=C0111,R0903 - -""" Displays the current default sink. - - Left click opens a popup menu that lists all available sinks and allows to change the default sink. - - Per default, this module uses the sink names returned by "pactl list sinks short" - - sample output of "pactl list sinks short": - - 2 alsa_output.pci-0000_00_1f.3.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED - 3 alsa_output.usb-Logitech_Logitech_USB_Headset-00.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDE - - As "alsa_output.usb-Logitech_Logitech_USB_Headset-00.analog-stereo" is not a particularly nice name, its possible to map the name to more a - user friendly name. e.g to map "alsa_output.usb-Logitech_Logitech_USB_Headset-00.analog-stereo" to the name "Headset", add the following - bumblebee-status config entry: pactl.alsa_output.usb-Logitech_Logitech_USB_Headset-00.analog-stereo=Headset - - The module also allows to specify individual (unicode) icons for all the sinks. e.g in order to use the icon 🎧 for the - "alsa_output.usb-Logitech_Logitech_USB_Headset-00.analog-stereo" sink, add the following bumblebee-status config entry: - pactl.icon.alsa_output.usb-Logitech_Logitech_USB_Headset-00.analog-stereo=🎧 - - Requirements: - * pulseaudio - * pactl -""" - -import logging -import functools - -import core.module -import core.widget -import core.input - -import util.cli -import util.popup - - -class Sink(object): - def __init__(self, id, internal_name, friendly_name, icon): - super().__init__() - self.__id = id - self.__internal_name = internal_name - self.__friendly_name = friendly_name - self.__icon = icon - - @property - def id(self): - return self.__id - - @property - def internal_name(self): - return self.__internal_name - - @property - def friendly_name(self): - return self.__friendly_name - - @property - def icon(self): - return self.__icon - - @property - def display_name(self): - display_name = ( - self.__icon + " " + self.__friendly_name - if self.__icon != "" - else self.__friendly_name - ) - return display_name - - -class Module(core.module.Module): - def __init__(self, config, theme): - super().__init__(config, theme, core.widget.Widget(self.default_sink)) - - self.__default_sink = None - - res = util.cli.execute("pactl list sinks short") - lines = res.splitlines() - - self.__sinks = [] - for line in lines: - info = line.split("\t") - try: - friendly_name = self.parameter(info[1], info[1]) - icon = self.parameter("icon." + info[1], "") - self.__sinks.append(Sink(info[0], info[1], friendly_name, icon)) - except: - logging.exception("Couldn't parse sink") - pass - - core.input.register(self, button=core.input.LEFT_MOUSE, cmd=self.popup) - - def __sink(self, internal_sink_name): - for sink in self.__sinks: - if internal_sink_name == sink.internal_name: - return sink - return None - - def update(self): - try: - res = util.cli.execute("pactl info") - lines = res.splitlines() - self.__default_sink = None - for line in lines: - if not line.startswith("Default Sink:"): - continue - internal_sink_name = line.replace("Default Sink: ", "") - self.__default_sink = self.__sink(internal_sink_name) - break - except Exception as e: - logging.exception("Could not get pactl info") - self.__default_sink = None - - def default_sink(self, widget): - if self.__default_sink is None: - return "unknown" - return self.__default_sink.display_name - - def __on_sink_selected(self, sink): - try: - util.cli.execute("pactl set-default-sink {}".format(sink.id)) - self.__default_sink = sink - except Exception as e: - logging.exception("Couldn't set default sink") - - def popup(self, widget): - menu = util.popup.menu() - - for sink in self.__sinks: - menu.add_menuitem( - sink.friendly_name, - callback=functools.partial(self.__on_sink_selected, sink), - ) - menu.show(widget) - - def state(self, widget): - return [] - - -# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 From 82ca97c65f7ba6a6c65eef2521f1248859fab66b Mon Sep 17 00:00:00 2001 From: Sadegh Hamedani Date: Thu, 10 Mar 2022 11:52:08 +0330 Subject: [PATCH 4/9] [core/datetime] added 'dtlibrary' attribute and 'set_locale' method --- bumblebee_status/modules/core/datetime.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/bumblebee_status/modules/core/datetime.py b/bumblebee_status/modules/core/datetime.py index febb5fb..0a15c70 100644 --- a/bumblebee_status/modules/core/datetime.py +++ b/bumblebee_status/modules/core/datetime.py @@ -17,26 +17,33 @@ import core.input class Module(core.module.Module): - def __init__(self, config, theme): + def __init__(self, config, theme, dtlibrary=None): super().__init__(config, theme, core.widget.Widget(self.full_text)) core.input.register(self, button=core.input.LEFT_MOUSE, cmd="calendar") - l = locale.getdefaultlocale() + self.dtlibrary = dtlibrary or datetime + + def set_locale(self): + l = self.default_locale() if not l or l == (None, None): l = ("en_US", "UTF-8") lcl = self.parameter("locale", ".".join(l)) try: - locale.setlocale(locale.LC_TIME, lcl.split(".")) + locale.setlocale(locale.LC_ALL, lcl.split(".")) except Exception as e: - locale.setlocale(locale.LC_TIME, ("en_US", "UTF-8")) + locale.setlocale(locale.LC_ALL, ("en_US", "UTF-8")) def default_format(self): return "%x %X" + def default_locale(self): + return locale.getdefaultlocale() + def full_text(self, widget): + self.set_locale() enc = locale.getpreferredencoding() fmt = self.parameter("format", self.default_format()) - retval = datetime.datetime.now().strftime(fmt) + retval = self.dtlibrary.datetime.now().strftime(fmt) if hasattr(retval, "decode"): return retval.decode(enc) return retval From c228ca3b128c420d817664b9bc62dd2db7618ead Mon Sep 17 00:00:00 2001 From: Sadegh Hamedani Date: Thu, 10 Mar 2022 11:53:19 +0330 Subject: [PATCH 5/9] [contrib/persian_date] refactor using `core.datetime` module as parent --- .../modules/contrib/persian_date.py | 28 +++++-------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/bumblebee_status/modules/contrib/persian_date.py b/bumblebee_status/modules/contrib/persian_date.py index 6e3eded..9873e1a 100644 --- a/bumblebee_status/modules/contrib/persian_date.py +++ b/bumblebee_status/modules/contrib/persian_date.py @@ -10,36 +10,22 @@ Parameters: * datetime.locale: locale to use. default: "fa_IR" """ -from __future__ import absolute_import import jdatetime -import locale -import core.module -import core.widget -import core.input +import core.decorators +from modules.core.datetime import Module as dtmodule -class Module(core.module.Module): +class Module(dtmodule): + @core.decorators.every(minutes=1) def __init__(self, config, theme): - super().__init__(config, theme, core.widget.Widget(self.full_text)) - - l = ("fa_IR", "UTF-8") - lcl = self.parameter("locale", ".".join(l)) - try: - locale.setlocale(locale.LC_ALL, lcl.split(".")) - except Exception as e: - locale.setlocale(locale.LC_ALL, ("fa_IR", "UTF-8")) + super().__init__(config, theme, dtlibrary=jdatetime) def default_format(self): return "%A %d %B" - def full_text(self, widget): - enc = locale.getpreferredencoding() - fmt = self.parameter("format", self.default_format()) - retval = jdatetime.datetime.now().strftime(fmt) - if hasattr(retval, "decode"): - return retval.decode(enc) - return retval + def default_locale(self): + return ("fa_IR", "UTF-8") # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 From 879744e19cab5cc7357912ba670d200adfd58be6 Mon Sep 17 00:00:00 2001 From: ishaan Date: Mon, 14 Mar 2022 22:28:00 +0530 Subject: [PATCH 6/9] add aur-update --- .../modules/contrib/aur-update.py | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 bumblebee_status/modules/contrib/aur-update.py diff --git a/bumblebee_status/modules/contrib/aur-update.py b/bumblebee_status/modules/contrib/aur-update.py new file mode 100644 index 0000000..c175a63 --- /dev/null +++ b/bumblebee_status/modules/contrib/aur-update.py @@ -0,0 +1,65 @@ +"""Check updates for AUR. + +Requires the following packages: + * yay (used as default) + +Note - You can replace yay by changing the "yay -Qum" +command for your preferred AUR helper. Few examples: + +paru -Qum +pikaur -Qua +rua upgrade --printonly +trizen -Su --aur --quiet +yay -Qum + +contributed by `ishaanbhimwal `_ - many thanks! +""" + +import logging + +import core.module +import core.widget +import core.decorators + +import util.cli + + +class Module(core.module.Module): + @core.decorators.every(minutes=60) + def __init__(self, config, theme): + super().__init__(config, theme, core.widget.Widget(self.utilization)) + self.background = True + self.__packages = 0 + self.__error = False + + @property + def __format(self): + return self.parameter("format", "Update AUR: {}") + + def utilization(self, widget): + return self.__format.format(self.__packages) + + def hidden(self): + return self.__packages == 0 and not self.__error + + def update(self): + self.__error = False + code, result = util.cli.execute( + "yay -Qum", ignore_errors=True, return_exitcode=True + ) + + if code == 0: + self.__packages = len(result.strip().split("\n")) + elif code == 2: + self.__packages = 0 + else: + self.__error = True + logging.error("yay -Qum exited with {}: {}".format(code, result)) + + def state(self, widget): + if self.__error: + return "warning" + return self.threshold_state(self.__packages, 1, 100) + + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 From f513582d44d33cc32e71dfb16a8968ca055216db Mon Sep 17 00:00:00 2001 From: ishaan Date: Tue, 15 Mar 2022 01:17:57 +0530 Subject: [PATCH 7/9] fix aur-update showing wrong update number --- .../modules/contrib/aur-update.py | 20 ++++++------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/bumblebee_status/modules/contrib/aur-update.py b/bumblebee_status/modules/contrib/aur-update.py index c175a63..14bee6b 100644 --- a/bumblebee_status/modules/contrib/aur-update.py +++ b/bumblebee_status/modules/contrib/aur-update.py @@ -1,16 +1,7 @@ """Check updates for AUR. Requires the following packages: - * yay (used as default) - -Note - You can replace yay by changing the "yay -Qum" -command for your preferred AUR helper. Few examples: - -paru -Qum -pikaur -Qua -rua upgrade --printonly -trizen -Su --aur --quiet -yay -Qum + * yay (https://github.com/Jguer/yay) contributed by `ishaanbhimwal `_ - many thanks! """ @@ -49,12 +40,13 @@ class Module(core.module.Module): ) if code == 0: - self.__packages = len(result.strip().split("\n")) - elif code == 2: - self.__packages = 0 + if result == "": + self.__packages = 0 + else: + self.__packages = len(result.strip().split("\n")) else: self.__error = True - logging.error("yay -Qum exited with {}: {}".format(code, result)) + logging.error("aur-update exited with {}: {}".format(code, result)) def state(self, widget): if self.__error: From 1fc4139b7ce0376b80b3f3f71a6f8367609bbe01 Mon Sep 17 00:00:00 2001 From: ishaan Date: Tue, 15 Mar 2022 15:56:42 +0530 Subject: [PATCH 8/9] add documentation and screenshot for aur-update --- .../modules/contrib/aur-update.py | 2 +- docs/modules.rst | 14 + screenshots/arch-update.png | Bin 0 -> 4952 bytes screenshots/aur-update.png | Bin 0 -> 4718 bytes themes/icons/awesome-fonts.json | 759 +++++++++++++----- 5 files changed, 595 insertions(+), 180 deletions(-) create mode 100644 screenshots/arch-update.png create mode 100644 screenshots/aur-update.png diff --git a/bumblebee_status/modules/contrib/aur-update.py b/bumblebee_status/modules/contrib/aur-update.py index 14bee6b..f1b85ea 100644 --- a/bumblebee_status/modules/contrib/aur-update.py +++ b/bumblebee_status/modules/contrib/aur-update.py @@ -1,6 +1,6 @@ """Check updates for AUR. -Requires the following packages: +Requires the following executable: * yay (https://github.com/Jguer/yay) contributed by `ishaanbhimwal `_ - many thanks! diff --git a/docs/modules.rst b/docs/modules.rst index 413f6cf..ad4a307 100644 --- a/docs/modules.rst +++ b/docs/modules.rst @@ -401,6 +401,20 @@ Requires the following executable: contributed by `lucassouto `_ - many thanks! +.. image:: ../screenshots/arch-update.png + +aur-update +~~~~~~~~~~~ + +Check updates for AUR. + +Requires the following executable: + * yay (https://github.com/Jguer/yay) + +contributed by `ishaanbhimwal `_ - many thanks! + +.. image:: ../screenshots/aur-update.png + battery ~~~~~~~ diff --git a/screenshots/arch-update.png b/screenshots/arch-update.png new file mode 100644 index 0000000000000000000000000000000000000000..42b268ee2c5a5fd373576bb71cac277a54b345e7 GIT binary patch literal 4952 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%0DL>SW97vr)abRtKs_E|*`paL#Hq z0|3ji=}e|nD)A*rm5LT@`)L&=UR7_S&(E`)Y)-9F@hx9`xnAJaYTHyQx-O#L;rTC> z%m4jfe**vnLB9C>vcaeyJ~ZU>`M3VRJ~(h(X|cM4{-x&suMHDIK9`P!y=IHE-q<`k zZ8hy|#F3B3qASsCHa9u>n7=eD3FkJb7v_OzGR6Yo#AMDiENYeV+70(_|MSg0 z<)u!?HdmCx>3A_S%OCIf{MX<(?!m*!&#zoE8VsGDj{5b*-v6Smd`M)iZwfw5P-EtP}Z;&wo8Dk(H&Tw;qrC z@W-QXm%V$~A%8%i)!GVEiLD6BI--coCyDq%4x~3W}iT&W~@a z@OK8sajUU70Px|l0KSbc7G2#OESbzkfdv3+eJQK4YBeFYc3?FN-ycO#lS%j{N`l}! z4#MGT4X+-fVLip&Or^pC0HNIK>AJDi7_R|$$2Qs4&LEUHzc}I*dvJhv*#`h-ld+cb z@A&)+c=YITrNR&dap=&H(D%EbO>1n^3a=JXL_`k!v*1#3p>;bV5#a)iC^Su9zWgb# za}-6-Ul^}#KRh7#0|5YVIP8L@JH0{YaJB=0*C$fWAqc|L;jXu!C^9hA4*n*6$Z-dhz=MEXyGX;&7~A13Nqa03=H(E8~5;& z1aW5k)S2;9%C*Yq2ZY{eqt)Bw$N+#DOyZGwE}K#kq+H%YO_gC7KCs*tg+k$Sxhj?N z*x?a-d$TJ>g?wRprrOK3uf*et-rjBu!(1IM6h%=KRjX7T9{0)P$7C{Du~@uy^A1zj zt2Z#vhvSM$g|R!@OQkX|EuB_-;^Z-_#R35L?>|f=)|;-1#iGmYBuUa}Hl&j2QmKUF zcz1W#(IX!-41-}KG?*_GZ)iNxm+&w_4ObKVm6ynsZ^<4#xP8+R%x|unaujqadai>bUO(`+1cq)C=^Vk!m%8R zp(>hoI2}ihj&*uE=EeGLn_+ZxSffz~0)hE?k=&SJ7>m`cqGEzL)$?yQn`|~K z!?J??UMnlH?ye36j;mDa#ZA5XJR_rrdV9NdS}n)1!JxTt#+FVbMhJ-$AyA#Z1!%v>7P>Y`TW6PSTxGo3`LPAPaYRqx8&U@8~_T1 z!Y{wvx^UsFLM|U2-SE?nrE>ZDzkex-<#3oowdv^>Z{EDEw=6Eb z(dl(VLjyLe)%NB3Lj_XF^whIw<7ZCQjRgRhn3(+Z(~A^EUc7j|-v0dgbfv-wK4Cra zc;dy(?7(2ZUaz}+`O}&`99gNqpiAZQ)t~=;?)F?i9~|tjxp*RCnL;zjWSGrn z0RXR0e3uRYc$fWFi>1BYB9mc!O>t-Ee=`hInVftwe)hE8ZnN9lePW+MuJIo`7uSADVKWV9asc2sE}Ko!w5ItV zKl29yZntwc(On}#;mG}a6WpeSlYJtc&MYmx0YDUTxlAUjFia|yT3A@Tefzh~jnMo| z9tZ^Q-Jf7tmLv$dTvn-6!r{n+2a|JRyE_7b;L6Ghj^j9vBM6$yW#?Zn+`4_YQmORy z_14ei0FcRKys(J`qnK2qKruF$`rGCX>!YBGK8|myf5OGIb^W=CRxD{Ep*$ zzddMF{VEg+0|R|1ibkWWwMV$Lbp9L7jt2?&0+q%0tDUzf}QlXFo0E(jgpA<=An5_Q$-6aT$P_!nKNj7={6teA47t0lR zyQ3RxTIaYDKYi+COKn@*^5)IkJ9qAF-GKcb;kTMjO+A~MdM5NqNW2rurJ~>an&12* zVEYiITq=hAi&jThlkE`2Lh<_bUyLSWhudv1>PdpwdiA>@9G5Q?W6{{c;*w}#Swcdh zhFpPL+C4$<{O0EN?L`g%g+eY8d}FqCG%wbb$jUzL&Xtgm5JjmZO;&d}uq05q_!8P? zvYAw?yI3V8B;GL;t={}ph-O6&tv`=KLPFx*v-$Z>Er=WdR%4-bvby(BLPFwTqSISc zn)O!5)M87CCYO+q w_^^;fE+HWyAtCW0gA5Fh32hP*62Bw<52K8BP;%z9+5i9m07*qoM6N<$g0ikSiU0rr literal 0 HcmV?d00001 diff --git a/themes/icons/awesome-fonts.json b/themes/icons/awesome-fonts.json index f85dfd8..3f971d7 100644 --- a/themes/icons/awesome-fonts.json +++ b/themes/icons/awesome-fonts.json @@ -2,187 +2,489 @@ "defaults": { "separator": "", "padding": " ", - "unknown": { "prefix": "" }, + "unknown": { + "prefix": "" + }, "separator-block-width": 0, "default-separators": false }, - "date": { "prefix": "" }, - "persian_date": { "prefix": "" }, - "time": { "prefix": "" }, - "datetime": { "prefix": "" }, - "datetz": { "prefix": "" }, - "timetz": { "prefix": "" }, - "datetimetz": { "prefix": "" }, - "memory": { "prefix": "" }, - "cpu": { "prefix": "" }, - "cpu2": { - "freq": { "prefix": "" }, - "load": { "prefix": "" }, - "loads": { "prefix": "" }, - "temp": { "prefix": "" }, - "fan": { "prefix": "" } + "date": { + "prefix": "" + }, + "persian_date": { + "prefix": "" + }, + "time": { + "prefix": "" + }, + "datetime": { + "prefix": "" + }, + "datetz": { + "prefix": "" + }, + "timetz": { + "prefix": "" + }, + "datetimetz": { + "prefix": "" + }, + "memory": { + "prefix": "" + }, + "cpu": { + "prefix": "" + }, + "cpu2": { + "freq": { + "prefix": "" + }, + "load": { + "prefix": "" + }, + "loads": { + "prefix": "" + }, + "temp": { + "prefix": "" + }, + "fan": { + "prefix": "" + } + }, + "disk": { + "prefix": "" + }, + "smartstatus": { + "prefix": "" + }, + "dnf": { + "prefix": "" + }, + "apt": { + "prefix": "" + }, + "pacman": { + "prefix": "" + }, + "brightness": { + "prefix": "" + }, + "load": { + "prefix": "" + }, + "layout": { + "prefix": "" + }, + "layout-xkb": { + "prefix": "" + }, + "layout-xkbswitch": { + "prefix": "" }, - "disk": { "prefix": "" }, - "smartstatus": { "prefix": "" }, - "dnf": { "prefix": "" }, - "apt": { "prefix": "" }, - "pacman": { "prefix": "" }, - "brightness": { "prefix": "" }, - "load": { "prefix": "" }, - "layout": { "prefix": "" }, - "layout-xkb": { "prefix": "" }, - "layout-xkbswitch": { "prefix": "" }, "notmuch_count": { - "empty": { "prefix": "\uf0e0" }, - "items": { "prefix": "\uf0e0" } + "empty": { + "prefix": "\uf0e0" + }, + "items": { + "prefix": "\uf0e0" + } }, "portage_status": { - "idle": { "prefix": "" }, - "active": { "prefix": "" } + "idle": { + "prefix": "" + }, + "active": { + "prefix": "" + } }, "todo": { - "empty": { "prefix": "" }, - "items": { "prefix": "" }, - "uptime": { "prefix": "" } + "empty": { + "prefix": "" + }, + "items": { + "prefix": "" + }, + "uptime": { + "prefix": "" + } }, "zpool": { - "poolread": { "prefix": "→ " }, - "poolwrite": { "prefix": "← " }, - "ONLINE": { "prefix": "" }, - "FAULTED": { "prefix": "!" }, - "DEGRADED": { "prefix": "!" } + "poolread": { + "prefix": "→ " + }, + "poolwrite": { + "prefix": "← " + }, + "ONLINE": { + "prefix": "" + }, + "FAULTED": { + "prefix": "!" + }, + "DEGRADED": { + "prefix": "!" + } }, "cmus": { - "playing": { "prefix": "" }, - "paused": { "prefix": "" }, - "stopped": { "prefix": "" }, - "prev": { "prefix": "" }, - "next": { "prefix": "" }, - "shuffle-on": { "prefix": "" }, - "shuffle-off": { "prefix": "" }, - "repeat-on": { "prefix": "" }, - "repeat-off": { "prefix": "" } + "playing": { + "prefix": "" + }, + "paused": { + "prefix": "" + }, + "stopped": { + "prefix": "" + }, + "prev": { + "prefix": "" + }, + "next": { + "prefix": "" + }, + "shuffle-on": { + "prefix": "" + }, + "shuffle-off": { + "prefix": "" + }, + "repeat-on": { + "prefix": "" + }, + "repeat-off": { + "prefix": "" + } }, "gpmdp": { - "playing": { "prefix": "" }, - "paused": { "prefix": "" }, - "stopped": { "prefix": "" }, - "prev": { "prefix": "" }, - "next": { "prefix": "" } + "playing": { + "prefix": "" + }, + "paused": { + "prefix": "" + }, + "stopped": { + "prefix": "" + }, + "prev": { + "prefix": "" + }, + "next": { + "prefix": "" + } }, "playerctl": { - "playing": { "prefix": "" }, - "paused": { "prefix": "" }, - "stopped": { "prefix": "" }, - "prev": { "prefix": "" }, - "next": { "prefix": "" } + "playing": { + "prefix": "" + }, + "paused": { + "prefix": "" + }, + "stopped": { + "prefix": "" + }, + "prev": { + "prefix": "" + }, + "next": { + "prefix": "" + } }, "pasink": { - "muted": { "prefix": "" }, - "unmuted": { "prefix": "" } + "muted": { + "prefix": "" + }, + "unmuted": { + "prefix": "" + } }, "amixer": { - "muted": { "prefix": "" }, - "unmuted": { "prefix": "" } + "muted": { + "prefix": "" + }, + "unmuted": { + "prefix": "" + } }, "pasource": { - "muted": { "prefix": "" }, - "unmuted": { "prefix": "" } + "muted": { + "prefix": "" + }, + "unmuted": { + "prefix": "" + } }, "kernel": { "prefix": "\uf17c" }, "nic": { - "wireless-up": { "prefix": "" }, - "wireless-down": { "prefix": "" }, - "wired-up": { "prefix": "" }, - "wired-down": { "prefix": "" }, - "tunnel-up": { "prefix": "" }, - "tunnel-down": { "prefix": "" } + "wireless-up": { + "prefix": "" + }, + "wireless-down": { + "prefix": "" + }, + "wired-up": { + "prefix": "" + }, + "wired-down": { + "prefix": "" + }, + "tunnel-up": { + "prefix": "" + }, + "tunnel-down": { + "prefix": "" + } }, "bluetooth": { - "ON": { "prefix": "" }, - "OFF": { "prefix": "" }, - "?": { "prefix": "" } + "ON": { + "prefix": "" + }, + "OFF": { + "prefix": "" + }, + "?": { + "prefix": "" + } }, "bluetooth2": { - "ON": { "prefix": "" }, - "warning": { "prefix": "" }, - "critical": { "prefix": "" } + "ON": { + "prefix": "" + }, + "warning": { + "prefix": "" + }, + "critical": { + "prefix": "" + } }, "battery-upower": { - "charged": { "prefix": "", "suffix": "" }, - "AC": { "suffix": "" }, - "charging": { - "prefix": ["", "", "", "", ""], + "charged": { + "prefix": "", "suffix": "" }, - "discharging-10": { "prefix": "", "suffix": "" }, - "discharging-25": { "prefix": "", "suffix": "" }, - "discharging-50": { "prefix": "", "suffix": "" }, - "discharging-80": { "prefix": "", "suffix": "" }, - "discharging-100": { "prefix": "", "suffix": "" }, - "unlimited": { "prefix": "", "suffix": "" }, - "estimate": { "prefix": "" }, - "unknown-10": { "prefix": "", "suffix": "" }, - "unknown-25": { "prefix": "", "suffix": "" }, - "unknown-50": { "prefix": "", "suffix": "" }, - "unknown-80": { "prefix": "", "suffix": "" }, - "unknown-100": { "prefix": "", "suffix": "" } + "AC": { + "suffix": "" + }, + "charging": { + "prefix": [ + "", + "", + "", + "", + "" + ], + "suffix": "" + }, + "discharging-10": { + "prefix": "", + "suffix": "" + }, + "discharging-25": { + "prefix": "", + "suffix": "" + }, + "discharging-50": { + "prefix": "", + "suffix": "" + }, + "discharging-80": { + "prefix": "", + "suffix": "" + }, + "discharging-100": { + "prefix": "", + "suffix": "" + }, + "unlimited": { + "prefix": "", + "suffix": "" + }, + "estimate": { + "prefix": "" + }, + "unknown-10": { + "prefix": "", + "suffix": "" + }, + "unknown-25": { + "prefix": "", + "suffix": "" + }, + "unknown-50": { + "prefix": "", + "suffix": "" + }, + "unknown-80": { + "prefix": "", + "suffix": "" + }, + "unknown-100": { + "prefix": "", + "suffix": "" + } }, "battery": { - "charged": { "prefix": "", "suffix": "" }, - "AC": { "suffix": "" }, - "charging": { - "prefix": ["", "", "", "", ""], + "charged": { + "prefix": "", "suffix": "" }, - "discharging-10": { "prefix": "", "suffix": "" }, - "discharging-25": { "prefix": "", "suffix": "" }, - "discharging-50": { "prefix": "", "suffix": "" }, - "discharging-80": { "prefix": "", "suffix": "" }, - "discharging-100": { "prefix": "", "suffix": "" }, - "unlimited": { "prefix": "", "suffix": "" }, - "estimate": { "prefix": "" }, - "unknown-10": { "prefix": "", "suffix": "" }, - "unknown-25": { "prefix": "", "suffix": "" }, - "unknown-50": { "prefix": "", "suffix": "" }, - "unknown-80": { "prefix": "", "suffix": "" }, - "unknown-100": { "prefix": "", "suffix": "" } + "AC": { + "suffix": "" + }, + "charging": { + "prefix": [ + "", + "", + "", + "", + "" + ], + "suffix": "" + }, + "discharging-10": { + "prefix": "", + "suffix": "" + }, + "discharging-25": { + "prefix": "", + "suffix": "" + }, + "discharging-50": { + "prefix": "", + "suffix": "" + }, + "discharging-80": { + "prefix": "", + "suffix": "" + }, + "discharging-100": { + "prefix": "", + "suffix": "" + }, + "unlimited": { + "prefix": "", + "suffix": "" + }, + "estimate": { + "prefix": "" + }, + "unknown-10": { + "prefix": "", + "suffix": "" + }, + "unknown-25": { + "prefix": "", + "suffix": "" + }, + "unknown-50": { + "prefix": "", + "suffix": "" + }, + "unknown-80": { + "prefix": "", + "suffix": "" + }, + "unknown-100": { + "prefix": "", + "suffix": "" + } }, "battery_all": { - "charged": { "prefix": "", "suffix": "" }, - "AC": { "suffix": "" }, - "charging": { - "prefix": ["", "", "", "", ""], + "charged": { + "prefix": "", "suffix": "" }, - "discharging-10": { "prefix": "", "suffix": "" }, - "discharging-25": { "prefix": "", "suffix": "" }, - "discharging-50": { "prefix": "", "suffix": "" }, - "discharging-80": { "prefix": "", "suffix": "" }, - "discharging-100": { "prefix": "", "suffix": "" }, - "unlimited": { "prefix": "", "suffix": "" }, - "estimate": { "prefix": "" }, - "unknown-10": { "prefix": "", "suffix": "" }, - "unknown-25": { "prefix": "", "suffix": "" }, - "unknown-50": { "prefix": "", "suffix": "" }, - "unknown-80": { "prefix": "", "suffix": "" }, - "unknown-100": { "prefix": "", "suffix": "" } + "AC": { + "suffix": "" + }, + "charging": { + "prefix": [ + "", + "", + "", + "", + "" + ], + "suffix": "" + }, + "discharging-10": { + "prefix": "", + "suffix": "" + }, + "discharging-25": { + "prefix": "", + "suffix": "" + }, + "discharging-50": { + "prefix": "", + "suffix": "" + }, + "discharging-80": { + "prefix": "", + "suffix": "" + }, + "discharging-100": { + "prefix": "", + "suffix": "" + }, + "unlimited": { + "prefix": "", + "suffix": "" + }, + "estimate": { + "prefix": "" + }, + "unknown-10": { + "prefix": "", + "suffix": "" + }, + "unknown-25": { + "prefix": "", + "suffix": "" + }, + "unknown-50": { + "prefix": "", + "suffix": "" + }, + "unknown-80": { + "prefix": "", + "suffix": "" + }, + "unknown-100": { + "prefix": "", + "suffix": "" + } }, "caffeine": { - "activated": { "prefix": " " }, - "deactivated": { "prefix": " " } + "activated": { + "prefix": " " + }, + "deactivated": { + "prefix": " " + } }, "xrandr": { - "on": { "prefix": " " }, - "off": { "prefix": " " }, - "refresh": { "prefix": "" } + "on": { + "prefix": " " + }, + "off": { + "prefix": " " + }, + "refresh": { + "prefix": "" + } }, "redshift": { - "day": { "prefix": "" }, - "night": { "prefix": "" }, - "transition": { "prefix": "" } + "day": { + "prefix": "" + }, + "night": { + "prefix": "" + }, + "transition": { + "prefix": "" + } }, "docker_ps": { "prefix": "" @@ -191,32 +493,67 @@ "prefix": "" }, "sensors2": { - "temp": { "prefix": "" }, - "fan": { "prefix": "" }, - "cpu": { "prefix": "" } + "temp": { + "prefix": "" + }, + "fan": { + "prefix": "" + }, + "cpu": { + "prefix": "" + } }, "traffic": { - "rx": { "prefix": "" }, - "tx": { "prefix": "" } + "rx": { + "prefix": "" + }, + "tx": { + "prefix": "" + } }, "network_traffic": { - "rx": { "prefix": "" }, - "tx": { "prefix": "" } + "rx": { + "prefix": "" + }, + "tx": { + "prefix": "" + } }, "mpd": { - "playing": { "prefix": "" }, - "paused": { "prefix": "" }, - "stopped": { "prefix": "" }, - "prev": { "prefix": "" }, - "next": { "prefix": "" }, - "shuffle-on": { "prefix": "" }, - "shuffle-off": { "prefix": "" }, - "repeat-on": { "prefix": "" }, - "repeat-off": { "prefix": "" } + "playing": { + "prefix": "" + }, + "paused": { + "prefix": "" + }, + "stopped": { + "prefix": "" + }, + "prev": { + "prefix": "" + }, + "next": { + "prefix": "" + }, + "shuffle-on": { + "prefix": "" + }, + "shuffle-off": { + "prefix": "" + }, + "repeat-on": { + "prefix": "" + }, + "repeat-off": { + "prefix": "" + } }, "arch-update": { "prefix": " " }, + "aur-update": { + "prefix": " " + }, "github": { "prefix": "  " }, @@ -224,21 +561,41 @@ "prefix": "  " }, "spotify": { - "song": { "prefix": "" }, - "playing": { "prefix": "" }, - "paused": { "prefix": "" }, - "prev": { "prefix": "" }, - "next": { "prefix": "" } + "song": { + "prefix": "" + }, + "playing": { + "prefix": "" + }, + "paused": { + "prefix": "" + }, + "prev": { + "prefix": "" + }, + "next": { + "prefix": "" + } }, "publicip": { "prefix": "  " }, "weather": { - "clouds": { "prefix": "" }, - "rain": { "prefix": "" }, - "snow": { "prefix": "" }, - "clear": { "prefix": "" }, - "thunder": { "prefix": "" } + "clouds": { + "prefix": "" + }, + "rain": { + "prefix": "" + }, + "snow": { + "prefix": "" + }, + "clear": { + "prefix": "" + }, + "thunder": { + "prefix": "" + } }, "taskwarrior": { "prefix": "  " @@ -249,30 +606,56 @@ } }, "git": { - "main": { "prefix": "" }, - "new": { "prefix": "" }, - "modified": { "prefix": "" }, - "deleted": { "prefix": "" } + "main": { + "prefix": "" + }, + "new": { + "prefix": "" + }, + "modified": { + "prefix": "" + }, + "deleted": { + "prefix": "" + } }, "dunst": { - "muted": { "prefix": "" }, - "unmuted": { "prefix": "" } + "muted": { + "prefix": "" + }, + "unmuted": { + "prefix": "" + } }, "dunstctl": { - "muted": { "prefix": "" }, - "unmuted": { "prefix": "" }, - "unknown": { "prefix": "" } + "muted": { + "prefix": "" + }, + "unmuted": { + "prefix": "" + }, + "unknown": { + "prefix": "" + } }, "rofication": { - "prefix": "" + "prefix": "" }, "twmn": { - "muted": { "prefix": "" }, - "unmuted": { "prefix": "" } + "muted": { + "prefix": "" + }, + "unmuted": { + "prefix": "" + } }, "pihole": { - "enabled": { "prefix": "" }, - "disabled": { "prefix": "" } + "enabled": { + "prefix": "" + }, + "disabled": { + "prefix": "" + } }, "vpn": { "prefix": "" @@ -287,12 +670,22 @@ "prefix": "" }, "pomodoro": { - "off": { "prefix": "" }, - "paused": { "prefix": "" }, - "work": { "prefix": "" }, - "break": { "prefix": "" } + "off": { + "prefix": "" + }, + "paused": { + "prefix": "" + }, + "work": { + "prefix": "" + }, + "break": { + "prefix": "" + } + }, + "hddtemp": { + "prefix": "" }, - "hddtemp": { "prefix": "" }, "octoprint": { "prefix": " " }, @@ -300,10 +693,18 @@ "prefix": "" }, "speedtest": { - "running": { "prefix": ["\uf251", "\uf252", "\uf253"] }, - "not-running": { "prefix": "\uf144" } + "running": { + "prefix": [ + "\uf251", + "\uf252", + "\uf253" + ] + }, + "not-running": { + "prefix": "\uf144" + } }, "thunderbird": { "prefix": "" } -} +} \ No newline at end of file From 9b61eee725c794ad4dd1e7319ae1b3450afb7c08 Mon Sep 17 00:00:00 2001 From: ishaan Date: Tue, 15 Mar 2022 17:32:45 +0530 Subject: [PATCH 9/9] add better screenshots --- screenshots/arch-update.png | Bin 4952 -> 2409 bytes screenshots/aur-update.png | Bin 4718 -> 2214 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/screenshots/arch-update.png b/screenshots/arch-update.png index 42b268ee2c5a5fd373576bb71cac277a54b345e7..45613fcb330904d27e1c209f2473362a4247faa2 100644 GIT binary patch literal 2409 zcmV-v36}PWP)t#{L00009a7bBm000ie z000ie0hKEb8vpZ*+1Z`eot<{pY4_3DS?qR3t9807wJK;8Q2|BX@iqWi@N0JuG#s-{+xb&8^s z;jmd6bxLHI%x1T@bU$k9?!$4M>a@g99+XDYtVkAcIaC7xnw*{I8{jy8x3ztEe1haa zMJg7(zh_5kY_v=)TqX@kQ^tmch#R|lQ5x;#21jg!{Db`^6*cu#!%vu#M-S+R4UZ>H zRKtHC1VL7&B!&fxsRjU`Y$Ekty#t0ZvND^uHx&l){NhU$AM>kyB_AI<`1`~A)8Z9m z(^G-5Sf@@L5(n{#p+ppP>ck<8#q#%hUV?)JzkPQvRedHt*jIA=?HyG0Wq=?^YHalT zd*1l)m+w$*bC4Dn6D|p%ssI2W;BjWcqOD)oJupbJ20$tnMutksN=LsQ0765=2!ilA z*jvSgd=5r-_^A;h6i}sSLM9e**(`AoUn255+C4QdBE=SFr>)P;XzA&v8s;D|YI$t< zGOGFnjXKU-TlD=f+}zveZw-JVTuvTNP1`>`ck!bmKj*N$-)RONm5PPtDI3}C`8j#? zKv`u?ZfXLPL7y~R&tADPW;6kSR4m+CSP&5^owhq_THAg8iU|28O^z&Bhyc>7A39rp z(>!I1kVy_~+bH02P!#?6*g*hj>UvaKRt^A624kx>SFKba2=wTN&Q(+{_z39Wmfns^s7xzQty*sCiIX z-%MO06^pj6S}7F?N5?16T)m+mG5Ds~yLlZ-qy7EgSA5D`e1ET@qUJ%AT(&x61=Ti- z=&;b#m}sg>A|)=u8x{kj3+x>Tg6t^NXw)fWktil8C51X(F*;#1&s(%U14%KFfBfgy zZjWbuZpQxCHvHj>^8oP9Ya0hf41fKsl*ynU-nqr+Y_wP}Rn_zk4%1O|-{zuC1vzJ~ z+|Z90e)E?vQsZ9PQCRTn&q{sH0I++*YLS5VVd+=aDcg=B?OVl#e?DJEc9>0ig5qp> zB}$`hUz6_(i<76%0l=vfhjtZd|8(|WMvIk!q5zPSlCWWAW@%Y@uYQQn<ocb|N9 z^5+*Wjhihc>$JN!tp4cqIiE>4VxS?2Z#WNbj|Tu~NPu(YY{I31_YNPDAinoTxycD) zzIRg(h&o+1!R^xWN?>+4F1&200_4uAQ_<`!%=b@&#jhL>gp(R2l2^R1} zgaUbp_+sTB(aU}LFCgJE3C3de=!d#=gFFr<51|%rH|m-u%@!QT9WECDWG2SlZftGu(>YwO z$41i#si?22Zy7V1JRVQ&!_F{?-#Wj)*Kn=&DJtk67eY|o+CFYJQ&oSw*@BLu1?rS* z_Zuv>z{yjs^s6PEE>~G)^}W^(04V*oVr}A{_=TCOZ*JZtU$QVb4gfUp zJ{&?k<&$W$Ih@`Pb_b5*0v;Ct+#Zk7;!R7BjWdrb4-v1=%an_58bLJI}D9ICJzN%&e$Bsjj<Kg6N0F5jn8Tw!{7)RdR z_Q{!V0KhOl`QGkrzL+3bwos;;&9u|$_IQK>K2bLaxLmi}J?->HgNV;1J_xuNf*?kV z6#+nLG!C0Z{Qr2QQuh}-w_Lt+|MbOj500;hi&>wW?lS?7Q!?|o(S+mp$-?%bE zz~%6{oHd!Mwm!XYZ_=n!cpQw5q8nCb>V`+hP3FfYvwql6oS%)NC=bI{rKb{}G#ZVE zvB!-j96%xpTAQVsnFClnO4!CW~AQ%Swu;hydVnyTAPIy2Un4 z(HEpgKa})Jyu)lDr)L+95+wdUSFI4YF<`Un5?F?BQi{Sr|BUvg~>97qO{EgIUDn{ z5~CxkTiOAjqfaLb7HwOdSFFj-OHBlTwnw^|W%;uq--!@J%R_Ar2c?r?v)jMERz+6+mmn`^7he4I4Gm*VCZ&@x zXX%?5wOp~xuX(k^Vx_HL*E2XoR^|)~0LW0rQl*!~iBCT7*88n{i5E*lymUsx>h bf6IRWu5)CYO)!6P00000NkvXXu0mjfSYUuV literal 4952 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 literal 4718 zcmV-!5|QnRP)y0*A)h4t`NJtzcVk?16I#F+FR^)9uv!=}; zv`R=w93&E};bbBzFg7J}TCLR^EJCYkb{{G&9!G4k; z>g}ts_|(&9%gf@Q?EfbtBf}#j!?|=VR=#!9WK(Uw)2j2q62^|2iwaDdih1Kps z(OtE^&@^@N;(4uBq++MjYcE_lJ3Bk~aN;q`u|oHILZwoD{q=tWz}26x2ZBL?*Jia| z`s^YAeDlqB>2zA)mDrYnf&QaM4+Frxdk9nsMI7CIhdoTRcrKPuzA5RqulG=9#P0>Qr zdj-c8CX0K|7^fE`R_1zW_ic!)TgvIh|eIoit5<^2zyc|M9=? zGE^i<^2m`fx7&pv2*+`$R9d4^3kU559LI+IOXX5Y=-7y8bse$TTuLP=G`EP^Y_i*J zLTdwth6ZdlD~cijAeYN~db+;+@(Mw2$l)bgg{BXd$nADJiXzciESX56C~9wS_VQ>3 z4j`RQr_wllhhvEcse^hLQ^ZyGVaV+1GqRZZ?^PzWt<-FHAgqboJ`>YuB#FVyl>JS5>V>tb~2JY*T57FkIK^EozNU zVB8sIvq@;GBbi7(oP6wZJG;9&g}ycHb{j>J+3fcBs`ty+U;ja+qQCp@hfF4W=+H+_ zr=6mxN`;BVVzaYzUaw#H0ssJTINE!9x{U^d0#_6Y1)nc4_2enbibs_gChKrJU2d0N zuf=g30LkZbp>Sk&W-hk6T0he5cJ=l5(iBNjB#NK_U^E#1`q#hIkGXy8?!w|yy#)X; z40U(7yShAWY7MT$^Z7zJ9GRJZA$b2CgJCG2paz2>6vcXbd+c@_ilF-!NV6Q9PG_{* zHiE!~zBTj)-G%e#Pz1U0>#dc@iqO4NUe%QwFmzXoQ=+WKLaAi4-^&J(t2KJ9e$VcC z6tz`0{_^#_&*zV=u5KZ60MO~Q2VdkoI-Ty^*)y6p4gV*GVK$r9X0y)B%szbhsD31Z zAjgj%>Fw>QSxA!X>FILV+h5Nw)D5hHBIuv~^c6*INT6t%?xN{VPsiOm_vRNCYxcG_ zjb+Q*t0*K%UbuMHpx4(d6h(SGZjZ-(@BYNgxmR^#cZk($mC0lbQwfD42!b#St57H` zR&yXAETQiqxIzv9m2$(nRCiY=e`32kJ$oqfdJse;UfvC2QyYjSdbD)P~hyId*y3XEf^PUcL$i!?|2e zp->nM`jOFLgI<5)g)Oe9007OpB$oDMqx1Oj1(VE`Z;4%=*2 zhr_XdB3IxFf+PVTkxUAGYm`dW%3t}tuCz5zHk*uweM0M&R7I{ND3i^#CsBpbU^sVv zTrlnIn9AN&U-uiiTz>7^4ZlCY|GByvzj^Zxjw`KJ^T_CMP2>oI3=a8ERa z(wNUxW@cttmN|CpX!Y$j@^E6ZKCCSi3O=7d9FF|?>p$R1+~IQ6CR>(eYqw60WdVQ# zZtJz;;o*xFJ=Ki ztyb%FTHdJBYx$!0^XD%F+I#tOzE~{QTWW|VuH|w$5DEc+M!oX_8-gHRU7Y|hH#b*P zc#WserUAfcGVby_H5d&9K>$FlLct$U6sb4tO$`VE&}h^ejasMIx?GO)=g;=_^#H*0 z=hNwQMmTznVxf5V&b>RgfBPW1Gh)#o+n}v&3#v1DIJ9hcbYU|2MsI6i7X(&+gp5TOaWrKq6upT_h6W4|F=+>S`PSblU1Q9SCf=BLD!)vXMyC;b<4w zx1d-k0)T86Uz}Fg#tZoE8wP5=;%#ctiaYcS}>$4}SWYoI7{di-QEncAyL?|vZK zx>GEc7^Z?@GJ>c+PKQ5WSyogtnT&X=EP^0Tr`_G*Ht6*Pp%mOncN2tBWVJqe<@3)r zdNzP78y2XWfnPj}#}oCny?8vX)~K9L$CD>d*N5&Mzy5m5>uoK4J>baX3TwM3;Cs!N zw3=l7S}7I_q2L>9d&iDb2)ElMG;PG|_viEZ2M;FdyYQm1*wvq}mrA8vF30ym)xBaJ z6hRMvJbLx&b)jSLSqq0mKghaK7&UPX;wXk;F%0DL>SW97vr)abRtKs_E|*`paL#Hq z0|3ji=}e|nD)A*rm5LT@`)L&=UR7_S&(E`)Y)-9F@hx9`xnAJaYTHyQx-O#L;rTC> z%m4jfe**vnLB9C>vcaeyJ~ZU>`M3VRJ~(h(X|cM4{-x&suMHDIK9`P!y=IHE-q<`k zZ8hy|#F3B3qASsCHa9u>n7=eD3FkJb7v_OzGR6Yo#AMDiENYeV+70(_|MSg0 z<)u!?HdmCx>3A_S%OCIf{MX<(?!m*!&#zoE8VsGDj{5b*-v6Smd`M)iZwfw5P-EtP}Z;&wo8Dk(H&Tw;qrC z@W-QXm%V$~A%8%i)!GVEiLD6BI--coCyDq%4x~3W}iT&W~@a z@OK8sajUU70Px|l0KSbc7G2#OESbzkfdv3+eJQK4YBeFYc3?FN-ycO#lS%j{N`l}! z4#MGT4X+-fVLip&Or^pC0HNIK>AJDi7_R|$$2Qs4&LEUHzc}I*dvJhv*#`h-ld+cb z@A&)+c=YITrNR&dap=&H(D%EbO>1n^3a=JXL_`k!v*1#3p>;bV5#a)iC^Su9zWgb# za}-6-Ul^}#KRh7#0|5YVIP8L@JH0{YaJB=0*C$fWAqc|L;jXu!C^9hA4*n*6$Z-dhz=MEXyGX;&7~A13Nqa03=H(E8~5;& z1aW5k)S2;9%C*Yq2ZY{eqt)Bw$N+#DOyZGwE}K#kq+H%YO_gC7KCs*tg+k$Sxhj?N z*x?a-d$TJ>g?wRprrOK3uf*et-rjBu!(1IM6h%=KRjX7T9{0)P$7C{Du~@uy^A1zj zt2Z#vhvSM$g|R!@OQkX|EuB_-;^Z-_#R35L?>|f=)|;-1#iGmYBuUa}Hl&j2QmKUF zcz1W#(IX!-41-}KG?*_GZ)iNxm+&w_4ObKVm6ynsZ^<4#xP8+R%x|unaujqadai>bUO(`+1cq)C=^Vk!m%8R zp(>hoI2}ihj&*uE=EeGLn_+ZxSffz~0)hE?k=&SJ7>m`cqGEzL)$?yQn`|~K z!?J??UMnlH?ye36j;mDa#ZA5XJR_rrdV9NdS}n)1!JxTt#+FVbMhJ-$AyA#Z1!%v>7P>Y`TW6PSTxGo3`LPAPaYRqx8&U@8~_T1 z!Y{wvx^UsFLM|U2-SE?nrE>ZDzkex-<#3oowdv^>Z{EDEw=6Eb z(dl(VLjyLe)%NB3Lj_XF^whIw<7ZCQjRgRhn3(+Z(~A^EUc7j|-v0dgbfv-wK4Cra zc;dy(?7(2ZUaz}+`O}&`99gNqpiAZQ)t~=;?)F?i9~|tjxp*RCnL;zjWSGrn z0RXR0e3uRYc$fWFi>1BYB9mc!O>t-Ee=`hInVftwe)hE8ZnN9lePW+MuJIo`7uSADVKWV9asc2sE}Ko!w5ItV zKl29yZntwc(On}#;mG}a6WpeSlYJtc&MYmx0YDUTxlAUjFia|yT3A@Tefzh~jnMo| z9tZ^Q-Jf7tmLv$dTvn-6!r{n+2a|JRyE_7b;L6Ghj^j9vBM6$yW#?Zn+`4_YQmORy z_14ei0FcRKys(J`qnK2qKruF$`rGCX>!YBGK8|myf5OGIb^W=CRxD{Ep*$ zzddMF{VEg+0|R|1ibkWWwMV$Lbp9L7jt2?&0+q%0tDUzf}QlXFo0E(jgpA<=An5_Q$-6aT$P_!nKNj7={6teA47t0lR zyQ3RxTIaYDKYi+COKn@*^5)IkJ9qAF-GKcb;kTMjO+A~MdM5NqNW2rurJ~>an&12* zVEYiITq=hAi&jThlkE`2Lh<_bUyLSWhudv1>PdpwdiA>@9G5Q?W6{{c;*w}#Swcdh zhFpPL+C4$<{O0EN?L`g%g+eY8d}FqCG%wbb$jUzL&Xtgm5JjmZO;&d}uq05q_!8P? zvYAw?yI3V8B;GL;t={}ph-O6&tv`=KLPFx*v-$Z>Er=WdR%4-bvby(BLPFwTqSISc zn)O!5)M87CCYO+q w_^^;fE+HWyAtCW0gA5Fh32hP*62Bw<52K8BP;%z9+5i9m07*qoM6N<$g0ikSiU0rr