From 3add673455a0b04f0e5bc65a8423f9b987712fee Mon Sep 17 00:00:00 2001 From: Lukrecja Date: Thu, 11 Dec 2025 17:17:21 +0100 Subject: [PATCH] init --- .gitignore | 52 +++ autostart/stylix-activate-gnome.desktop | 1 + autostart/stylix-activate-kde.desktop | 1 + btop/btop.conf | 257 +++++++++++++ ccstatusline/settings.json | 64 ++++ fastfetch/config.jsonc | 50 +++ fastfetch/logo.jpg | Bin 0 -> 155895 bytes fish/config.fish | 15 + fish/fish_variables | 32 ++ fish/functions/hm-switch.fish | 4 + fish/functions/hm-update.fish | 4 + fish/functions/os-switch.fish | 3 + fish/functions/os-update.fish | 3 + fish/functions/wl.fish | 4 + home-manager/flake.lock | 407 ++++++++++++++++++++ home-manager/flake.nix | 50 +++ home-manager/home.nix | 211 +++++++++++ home-manager/noctalia.nix | 18 + kanshi/apply-wallpaper.sh | 6 + kanshi/config | 15 + kitty/kitty.conf | 25 ++ mimeapps.list | 17 + niri/config.kdl | 293 +++++++++++++++ nixos/configuration.nix | 316 ++++++++++++++++ nixos/flake.lock | 61 +++ nixos/flake.nix | 18 + nixos/hardware-configuration.nix | 59 +++ nixos/home.nix | 13 + noctalia/plugins.json | 15 + noctalia/settings.json | 477 ++++++++++++++++++++++++ nvim/.stylua.toml | 6 + nvim/LICENSE | 24 ++ nvim/README.md | 9 + nvim/init.lua | 37 ++ nvim/lazy-lock.json | 29 ++ nvim/lua/autocmds.lua | 1 + nvim/lua/chadrc.lua | 24 ++ nvim/lua/configs/conform.lua | 16 + nvim/lua/configs/lazy.lua | 47 +++ nvim/lua/configs/lspconfig.lua | 34 ++ nvim/lua/mappings.lua | 10 + nvim/lua/options.lua | 6 + nvim/lua/plugins/init.lua | 65 ++++ 43 files changed, 2799 insertions(+) create mode 100644 .gitignore create mode 120000 autostart/stylix-activate-gnome.desktop create mode 120000 autostart/stylix-activate-kde.desktop create mode 100644 btop/btop.conf create mode 100644 ccstatusline/settings.json create mode 100644 fastfetch/config.jsonc create mode 100644 fastfetch/logo.jpg create mode 100644 fish/config.fish create mode 100644 fish/fish_variables create mode 100644 fish/functions/hm-switch.fish create mode 100644 fish/functions/hm-update.fish create mode 100644 fish/functions/os-switch.fish create mode 100644 fish/functions/os-update.fish create mode 100644 fish/functions/wl.fish create mode 100644 home-manager/flake.lock create mode 100644 home-manager/flake.nix create mode 100644 home-manager/home.nix create mode 100644 home-manager/noctalia.nix create mode 100755 kanshi/apply-wallpaper.sh create mode 100644 kanshi/config create mode 100644 kitty/kitty.conf create mode 100644 mimeapps.list create mode 100644 niri/config.kdl create mode 100644 nixos/configuration.nix create mode 100644 nixos/flake.lock create mode 100644 nixos/flake.nix create mode 100644 nixos/hardware-configuration.nix create mode 100644 nixos/home.nix create mode 100644 noctalia/plugins.json create mode 100644 noctalia/settings.json create mode 100644 nvim/.stylua.toml create mode 100644 nvim/LICENSE create mode 100644 nvim/README.md create mode 100644 nvim/init.lua create mode 100644 nvim/lazy-lock.json create mode 100644 nvim/lua/autocmds.lua create mode 100644 nvim/lua/chadrc.lua create mode 100644 nvim/lua/configs/conform.lua create mode 100644 nvim/lua/configs/lazy.lua create mode 100644 nvim/lua/configs/lspconfig.lua create mode 100644 nvim/lua/mappings.lua create mode 100644 nvim/lua/options.lua create mode 100644 nvim/lua/plugins/init.lua diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a915de0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,52 @@ +blender/ +cava/ +Code/ +composer/ +dconf/ +environment.d/ +filezilla/ +forge/ +gdu/ +GIMP/ +git/ +go/ +gpu-screen-recorder/ +gtk-*.0/ +htop/ +hypr/ +lazygit/ +libreoffice/ +matplotlib/ +matugen/ +monero-project/ +mpv/ +nautilus/ +noctalia/plugins/ +obs-studio/ +OpenTabletDriver/ +procps/ +pulse/ +qBittorrent/ +qt*ct/ +revolution-pi-deployer/ +stylix/ +swww/ +systemd/ +Vencord/ +vlc/ +wal/ +wallust/ +kleopatrarc +kritadisplayrc +kritarc +QtProject.conf + +# Files generated by theme change +swww/current-wallpaper +noctalia/colors.json +home-manager/wallpaper +home-manager/colors.yaml +nvim/lua/themes/ +kitty/themes/ +kitty/colors.conf +kitty/current-theme.conf diff --git a/autostart/stylix-activate-gnome.desktop b/autostart/stylix-activate-gnome.desktop new file mode 120000 index 0000000..dc06c05 --- /dev/null +++ b/autostart/stylix-activate-gnome.desktop @@ -0,0 +1 @@ +/nix/store/vmvp8zz4lmsc9shdbcwkds15ra7jp38q-home-manager-files/.config/autostart/stylix-activate-gnome.desktop \ No newline at end of file diff --git a/autostart/stylix-activate-kde.desktop b/autostart/stylix-activate-kde.desktop new file mode 120000 index 0000000..72ab976 --- /dev/null +++ b/autostart/stylix-activate-kde.desktop @@ -0,0 +1 @@ +/nix/store/vmvp8zz4lmsc9shdbcwkds15ra7jp38q-home-manager-files/.config/autostart/stylix-activate-kde.desktop \ No newline at end of file diff --git a/btop/btop.conf b/btop/btop.conf new file mode 100644 index 0000000..ce7a5dd --- /dev/null +++ b/btop/btop.conf @@ -0,0 +1,257 @@ +#? Config file for btop v. 1.4.5 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "Default" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = True + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = True + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = False + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = False + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = True + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". +graph_symbol_gpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. +shown_boxes = "mem proc cpu net" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 500 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "cpu direct" + +#* Reverse sorting order, True or False. +proc_reversed = False + +#* Show processes as a tree. +proc_tree = False + +#* Use the cpu graph colors in the process list. +proc_colors = True + +#* Use a darkening gradient in the process list. +proc_gradient = True + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = False + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = True + +#* Show cpu graph for each process. +proc_cpu_graphs = True + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = False + +#* Show proc box on left side of screen instead of right. +proc_left = False + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = False + +#* In tree-view, always accumulate child process resources in the parent process. +proc_aggregate = False + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "Auto" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "Auto" + +#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". +show_gpu_info = "Auto" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = True + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = False + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = False + +#* Shows the system uptime in the CPU box. +show_uptime = True + +#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo. +show_cpu_watts = True + +#* Show cpu temperature. +check_temp = True + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = True + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = False + +#* Show CPU frequency. +show_cpu_freq = True + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%X" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = True + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user" +disks_filter = "" + +#* Show graphs instead of meters for memory values. +mem_graphs = True + +#* Show mem box below net box instead of above. +mem_below_net = False + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = True + +#* If swap memory should be shown in memory box. +show_swap = True + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = True + +#* If mem box should be split to also show disks info. +show_disks = True + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = True + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = True + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = False + +#* Set to true to show available disk space for privileged users. +disk_free_priv = False + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = True + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = False + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = False + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = True + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = True + +#* Starts with the Network Interface specified here. +net_iface = "" + +#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes. +base_10_bitrate = "Auto" + +#* Show battery stats in top right if battery is present. +show_battery = True + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Show power stats of battery next to charge indicator. +show_battery_watts = True + +#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "WARNING" + +#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. +nvml_measure_pcie_speeds = True + +#* Measure PCIe throughput on AMD cards, may impact performance on certain cards. +rsmi_measure_pcie_speeds = True + +#* Horizontally mirror the GPU graph. +gpu_mirror_graph = True + +#* Custom gpu0 model name, empty string to disable. +custom_gpu_name0 = "" + +#* Custom gpu1 model name, empty string to disable. +custom_gpu_name1 = "" + +#* Custom gpu2 model name, empty string to disable. +custom_gpu_name2 = "" + +#* Custom gpu3 model name, empty string to disable. +custom_gpu_name3 = "" + +#* Custom gpu4 model name, empty string to disable. +custom_gpu_name4 = "" + +#* Custom gpu5 model name, empty string to disable. +custom_gpu_name5 = "" diff --git a/ccstatusline/settings.json b/ccstatusline/settings.json new file mode 100644 index 0000000..f7803d4 --- /dev/null +++ b/ccstatusline/settings.json @@ -0,0 +1,64 @@ +{ + "version": 3, + "lines": [ + [ + { + "id": "3", + "type": "context-length", + "color": "ansi256:1" + }, + { + "id": "ef82dd4e-d238-4b4a-a40e-f78eb797dd75", + "type": "context-percentage", + "color": "ansi256:2", + "bold": false + }, + { + "id": "5", + "type": "git-branch", + "color": "ansi256:3" + }, + { + "id": "7", + "type": "git-changes", + "color": "ansi256:4" + }, + { + "id": "6ed16cdd-0125-4a2b-90eb-bd9054c56105", + "type": "block-timer", + "color": "ansi256:10", + "bold": false + }, + { + "id": "70de37e7-ab8d-4314-aa3f-927f15cf8e7a", + "type": "session-cost", + "color": "ansi256:6" + } + ], + [], + [] + ], + "flexMode": "full-minus-40", + "compactThreshold": 60, + "colorLevel": 2, + "defaultPadding": " ", + "inheritSeparatorColors": false, + "globalBold": false, + "powerline": { + "enabled": false, + "separators": [ + "" + ], + "separatorInvertBackground": [ + false + ], + "startCaps": [ + "" + ], + "endCaps": [ + "" + ], + "theme": "custom", + "autoAlign": false + } +} \ No newline at end of file diff --git a/fastfetch/config.jsonc b/fastfetch/config.jsonc new file mode 100644 index 0000000..c8b1162 --- /dev/null +++ b/fastfetch/config.jsonc @@ -0,0 +1,50 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "source": "/home/lusia/.config/fastfetch/logo.jpg", + "type": "kitty", + "width": 22, + "height": 11 + }, + "display": { + "separator": " ", + "color": { + "keys": "magenta" + }, + "size": { + "ndigits": 0, + "maxPrefix": "MB" + }, + "key": { + "type": "icon" + } + }, + "modules": [ + "break", + { + "type": "title", + "color": { + "user": "green", + "at": "red", + "host": "blue" + } + }, + "os", + "kernel", + "shell", + "terminal", + "wm", + "cpu", + "memory", + "packages", + "uptime", + { + "type": "colors", + "key": "Colors", + "symbol": "circle", + "block": { + "range": [1, 6] + } + } + ] +} diff --git a/fastfetch/logo.jpg b/fastfetch/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dfdd93193469fa9e2fb893e9e4ea919efafd9aed GIT binary patch literal 155895 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

Bzyw>kv`6>$gKf5*D>G!o)oz^`9_Z$M&WHJMn z-cTWYAYL{`?HgI{1A5!pZveJHSm@gF=Bm+O-hK*!m%!^0xjeej_B$(gHy1e{{{T+2 zyPU4Y-eq66NvwBuxqDUEV`~OjbVjx9ZE~qV#LCyaZm+_GAI^S@8DVFGeyHEI%j5u8 zi*G-^?V_+v@z7lCg4VmqP%LyifyEXK&PWXuMnM=74VQ&BuIO#^Kvn^V`hu(BbvXY3 zb8~$D_VMbBx-@Hlvo|xv+!oexwd7NtE7Cf&-c>>oc1AB;v<+*+ zNyu?j4hNEKjRyHQPc+zBi`;I7t!sq9b%RD#6}JutyX&ieIY`MDXK;jlW)Ky7-{xwQgzFJh1o+!vrpM-fp!R>wt;B60ldhK?a<; zs?*x2G;Ec$7Hc0TE9JqB;l&+WK*pIFw6G(hz%cD$@6Ln%0K+ zD!ULkr@6wd2Dq!u{#(fd!BxIV){6)Ym$e?}BZbqwygFn1hcsk%XQ6q>$o{jv-5NL| z=v5pkrsQE)J}Q7=qJyljKR$(AXs7{WcapPQ{^Ca2fOL%*laqf``R#C0-l~ILP-Mxj+}-}v{b<4Qv*v&kv84Bn z6?IMTsUa104M8bjobjmH2OkL;M|qrW|TLJ=qjAXT#oiR)`}^d z*&nPIT0^eYKUn)j4q>?<5*?Grz^}7T=Do7x6r;7ssR-RAQ$0}YGb z)cKSh8;e{wghY;Wi8b0-vEkWXSLBe!&@QxQh9S*45U9xskGOI{vmIOc$->w;sDrjrj4{nRWJn;bgwA1eE zzfBe4rkpn{b2;g$zyu_A7ID;Xf0_H7RtSlsZ;P<^?pl!>trlw31J`ed6?!wXqV+bq z7^ahEp#1}Z=){NX!rI?3K{;}c6a!(wQ12LMY{Kz@E9W}fbM2>3)+$$F0#j33} z3Wo#DT?X`h#~}ASYx^-C&xaMPi_y);bG%i_POeVj#=aa^qJiEoH$whE<%v|c#uyGo zhPCougqu7Yv7vGo2tEq4o5#8k)kNFfP|h6Fi=}_0!Sz?ksjb@YO%&EXo&(yXifvu; zDgzDbDB=&fc;;8xtq(7W&AiYyL%oQLJWY&mx)iX=4x#vy$l>w$sse7ZOStzRm%Uyd zdIti)f4S2}w2uyl{{Y2r{{ZwqPrSzvy&Wl9+;>;Yg1~x1*>(i@9qVT?nBF=CUU~gI z3ZN9zPL<~^WS@z+cSej=pjQj2uHk~CtK_P~P>2{ep;s)Hc%aubI`0*+mUtXi63<>C zOF;YT*n7j9nV zyUY-ylw|gYEHY42{6C-H_#HT^wPVmMsSxiYwaEa{KsSB$*NU|^?%x3OkCVQtnBEz* z<}_fj%ZJ^?BrX2R-l^R6dV3_%jyshiiN0=BH7(_XLXD#*#GlCkaw@I%B3q*U;mviz z&kZ=YW{Hm(6GFCM?NxU5Ow~q6hm6A7A=Tcto=ICx_LYQUitZdVH$-3OeAakmqx&gr zWxOy)`EJe4-2QF)DXmsRSmfGpZsWyj>r)B4{!1}F1`-382rYmCx9$ytw#<|=` z(P5W$OHpNTL=L-mD(_Vbn%fIt(O|F(EKyrUR+St=$3S2}14604dg~RAIxh^u2a0Pr zt)ssbAHmIXxd0MP?rIv_rNQ+ko0B3jvC-0{+ryK~i2Ed;hz?#Uk7nJL(Xws|#Dg`=gCpH4ucsRYU*N2tB|!-y0U1x{=^RCT3SUnsOaIf&18cgvPj;joWt2F zH*i7q7>eSU?k!CeZYHGXQ_V>J#csEqKUH2y(aO-~J1|lH8*bXMO@uNX+>@;HTr)+T z=HWAU9~8$~q-)z1YA@D^LihS7aoktiELd-FZsccR4U~Q(IP)3_``mP6yG45>Q~G~j z?zkq=?Y!+PI1hu`@1Uk?H=VcJ?4-UOg&~2 z(x{Cx(RVVa+|^uaRs~;qxYe+6C7pe*%)Df6Fv|N~8Z^2feoWp{;Nk~R88+ZAmr}kn?YKmlUCcfH;<1xsUkg-Kvi+`S7HY36`yeK==&QVaiW^jzZ{ws*xv(T8I4`*r-zD>)>av!lb8e)$3ba!xxPqR z7&54xgMX|7`%FKI(Yv%2GCVX>HXOp)0r$A>(7|Yl(mBGp(uylYZ2*^D>Q^6Xi&z@s z+z7h0e`uAo++!F8gTt$`FE-{pE5!!_YA_(~IzG(9w=R5|p=?ic?GGmVehLS~f3(KH z*HH~G zj#>Tg3cLDuu~iwYdM^h%f{301s6W4sj}^@Uxq(p$TbxH91kqOIOV>s3YQ4o#bJ2W^ z6&QTz1~{Tn|O0B$vH;&_sVh=W{M*HXSEIyV5dKuW(2mN>8- z$_mjjWaOM6^0t9JTg>B(!^*qwO|9>3ebi0Ej-QNfFsT?pj2VI5r6@ zo;a#Kt$R;+RT3CtJXldSdqZ8x;)sKo`+}-E7$6_E)#%@k1Dd1OeL8Mf6^hMgqV#7K zLxJe;sLF}@giRvE0Sca_Opi!J9so?+)!z@O!w=~tNG z=J5*ijT^lSbW=7-TI!ax-~im6BTd&m?sX32=19ssa7LX|kyqL;GkrHIjSUhS-QT3N z^_!A#rC55y=9n!mG`n`Y!B1tf8^OJ**W8%fA&4@#wYYnhBvn%V=hlIY#FXYjL=D_V zB>AUWNfNe9WMJ)c@lBQ&USZL6?^`1bsl!I4j`Wg^+lSnqo(k-{ZTE%f<;Q_o=)xb5%Kp(Hu4kD=u$@d? zM_8;AU%;mlP3yD(?pLKgN|`r;!$2pfgIm=Kx=5CqzSVM~waa(XUZtKBiN_+G_Px=# z^@ANj{*#gnwAx%41?{n4a&@-G<7RC!4jpmeq}JUmf2E9!DOGj&7VqGkK=hoqq6qN_ zIuS#?Vz8|=294@w55v#gwS%hc(`BanuL|prq>bD6g!i_(#tY3_`z*TXq|L+&;WjI; zjk%Ki&x$&x%PX_LMXZw2$GagA+*Y-i#V1{yP?iT(zXh7ZGM_b}+bqRNJej+90rzJSoSuqv!Hc=w@y1Cjf^rB*I~b%MJ)aTz;!LtFi#F7WG*6@K`ltQ%5yxvSE+lB#g= zS=8u?LeS>5z|g3zc4`L8!!0di1?M{e5RW&Wu~;e%F0z4o7)UZU_A;L6TKCzaidRyN z0=GQY+e5rXRa+YYevD87c?3}8x$C|*KyleU`rqq6Ad6%i-_c*LGR6lo5h7?YX^<zU^GAByDuV)b1<>var@wDR7+`hb~RKu9Rq>UvTEK1Y-hcrG3E4G zwd{5riVkfW?7US*97rT9uc^cgbK&v$s>M zk9O_|s*bVQZ;3!>qPj5NnK+*7L9N<#eAKM9kXkFXa_QyCR(goe2)Y)N5yvE4>DtB& z!Ob={#e5FbnUo}l648nUxDbREvq?KI+~h%4XKttkZDeAiV9mFSTsbO?B!v4~gPz8^ z?sXMUiLtcQ)vr=TBqAeD3R^iMj-#SH9Hp~e8pdt3ID0~AETiOOX+h+yY$E(-Vhd}@ zI?Hd{ji!y0cvOYJjP_N_L}BA`-Vu_|S)u;`aQmF}&?BE$cJvDy*$$xEQP#JH81F$e z1n6gJ4kKs90B{80savmZ@Kr6Kk(RZi{zH0fu)Iwd7Mg+c9%_!Oxo`bZx^EA7Mn+-{ za>IRosNTSh^!S7w{nGwTb#G;wF52413&Y`5b&Y8Qm3}IX01iPCLz@2ca8-bbo5Lq3 z%{4yM-mFJ9sM;MQZJW{n4i)3@S1r*Ak7m-xT_eRoV+@j7jPodoA(epCG~7;WV%0`Q z%jY#N@=>}QK#CzsfH6LLY|(J6hfNjLMAOFtuDXT0!QK#qZY*lk9v(_3mbynBmq@j8 zF_$?vtQNM-w8ObnII4k74UW(Zu@ChG!De`MXaL_;W^WkW3cz6SQ)H$zy5#7eU#L>D zS`s#xd2d?q`|T#_W4I%$uDTq#gz56N+1*!;^HW9Yu;SkY@m!x#?N|3bp}`6p(RP@G zkUFj5!D3O8A*-};86Op^v@o>$kKJ&`9rf}>rr@ABsROX1MFvT=Wz+LSwV*eGY>uc7 z;+p3e-g_dx7}s(a@R5(ggB*S;%x(%vn8`}ea0ZI@)iXCvNv7zN@?d?6^`2d2IGe9( zr{Z!uFZM4)?V;Jog@L_J=&gBjK)sD`IvRQJ3Y|x8u1CP{`>g)s8t1tSw@>;{!BLvj!PXDNf_;!nR^|@3RSNdf)sAF)y)LrGsRxBIj&*Kie_#*UerY~Wh8Gg zy)gKL<@zf{n2=gU@Oh@q7%sX+=8gycls1UEvg{ufW|BUw@)W)*C*llZ?tv^0q24zY zd|@Mc&ESPoM)M&1pwQ4gZRnCJcWAm@)yWdsP4^46CY1_CJQp3txHO={O}&Q_-l~YT zwR@$y^YB27m<>J(M~(qEFT1=2SzPN&6Ig|eK5YkR<_92t%+cZuAtIqW-tb$&lpN|w8LAgnrfYAeB2kH7g< zSTA|2rH<#v*}utEgb~ngAHR|`E+yEK<6es!T4q!x(G>tUMA7Ar8(bCPzocAuVy_(D zOSEFPRYH;--DdbB&3OED3Xe4HX43}tx8$7GHP>1E*I|z(fZA>=7SaCo*Ed$CU`&xs z=-tSs*=EJn*eJqqc5HWfZwGim)#c19)Y}6z!`PZSj!tUVGETu|DT)3sol<3YJrN{i3H9W9y@M-O@rW(Tz13d+tTyYE7y001{2oZtO| zp2CA!mh;4?Ke*bc+T2C#c>tK&VCRhZ1S^He>gw?;9S04puW(TZNh_~B2a^7;HF>jI zSo6F{rj&mXa~d8+2&!dua+x8yfzJiO4DtQ^l_j1w^1X_>*S+7BrBE^S;X(fZO7kG|bF2C)x({oW*(^0_ zaQ>?Mc>GWr=*Nq(_$sv2ea1Ve-*{N@9~A9H3!3sV{MhuJ&jlN)LA#?A{liCi6!#3; zDxe~uT17xRoT@jXG#fO1X$d%PR+;4=isBjI6Q0W52A7q~NBWhccx~5@YK73(t$|VA zI5F5Pa65`18aQEsd~?;!AcmdoQH#LpcKxAWnc3txtL|y2HM%#Q!ANEeg|DSA3Xl*l zbET4%1m)~d%+~A*wZWs3e2*J!qlYelmOQd^c!g(l2V_U=KYR!{gardY+|f-FO~usq zEneZ8y!@KNq_sY`rgdq+ZdC&UuD7grjmfdc{I>i`v|ea8vZ`q<4QpB|Z&Z}YCI*H0 z4~n9WUb}U!$x=3mo68ca^6wWFL9~6y(s$Q|YOtBj@LrNvyT!|ry3vBm6n1e{Rclt+ zSSmv?yWMsne`~Y2deP#)8&-HoD61RV@x`XS7L&%m6!3T{jcN;vy}0OOTxvkaM1XZ! zg?Z?@IDUzY9g$9qj6I;5*@YcTu2DI)zZ-7;zT_B9Ws0|(Tu>u=ufaZdk4o*_6NGuQ z3V9$Mj~-~c$3{E2az@8#yvXMCZU=WX@cbo(hM@7uVbxby@=rBWo{q5xy4?KMvU zqmIuSBO}M8cJF{zx8~@>J-L-;BOB5;>Qh+Lv0rH1Rh$e6b6S2nBDleXuInq!a_bsV zV6YWcdGZSkmI{MC7%G$Gx$x16S6DGCR{$~|O7*BVSDwz`qK?ex!ubVu9HnG3Hqs(> z4zUllSf+0{=!;kT?$m3YbheCkYB=JtO2!ue`|QXkU9BAn%=-k!%iM&c;o;fj@w>b2N^aF>^?k^ACV!aahI`XiIOu$WrR{haa4O@PT6h&k z=&8Y~y;gHni`uU|>lOPrISdOD_yvfWt-8;c9#Pv;m$?`-i z37{-_%g=InrPFzh<4QSCt#f9cF0e7&bvTYISTT=?TKi)NhqBY!{Sa$t0LTSFwEh8C zFEw^wYO`7gR0==AYR*idcRoma72VBfO^jw#TBZO8XzpLy+UH6QYI9P`1q01#{mKu^ zPkJbGM4=cvPR#sKR)hJz3eMB}!CE`7BzRo`S|G~f?>F+h9THb`p>s#YRHn+>UT#Xz z$GSLc5h2VMaZi%9yGz8LIyjYCOo{a-Bw zyTGo3ccY=QxK``FIBCA&kU^}pzU#5L`0x}&%IX8Znqa(5cCk7cQ%p~u1xN%%*RiX2 zr`|Pli7BoUhD{zsXHE*UFzV}gG271)u|>$e`MV{OByI`PuwF6d-YwpmYg^k@QaJ9# z7ai%&11uAn#8DYF;xaKUcI0m5{l(P^%sBz``KJNRF%AqDkS8~8PAX%@_r{75`IOJ@ z+C_W_qJmM{^ltfRpUK0>u2rIVT(mXKXm!(Ftd*iy*u!e}hc%C-N|H#L=0e=>8mdG* z_p8!j;V9?I9ETq-S-tz_gQwI=?U&CoE=2xp4s;*lmd)*oIUSR{!{S^ z*amdIwWG3IC%sfJ90!>H0Ht@l70bIsQmYl34le7q*$?mrUxgI^V^t$T-v=sNFMY`60i zNa~G-_yt|nSMn}$u6vc79%VK$!~Xr>6;wqqs&ALgPJM5#i21Oeev3i>0NQ#uV54Vr zQ%sJCV<0lEp`tYO>CNu&P&S@?xb&th{9Vk&zSCyNKcKZ`|un5VR49Z}$%S-lJ7 z=mt+l&LwK1?BR-|oapT2*KaRkiWtS|AB*02E&wAj$Y9+piRaOV>m5w#!Ee^u1^oX2 z4WZNvRVWUKM^XsM)u+9BC*j?8E7GvHn8Yfyf;lP&RN{Xx@92X@;Fuki;Z*}_0k}>) zQw{5)@!g)~QMxw|3{#~!zaJzEO-CLmM%-PU6Hn#&seFE@s7L<4ricD=iX8!@b43Fq z-KiaxwMRXc&dLF>3$o|Tqu7%p8?y=08ix^h(leKrqA|hvnG?ZsTFH9f@lF?pJC~)#QGgxf`6N3|KYNCnZb5jfEqBqr z?`dS;N|yP0b2M?oi0woXft<6mBHs zwx3@N%Dr$`c`H?6ZS%e7s@1HQ(^?KC?)hk*ZNp)y=WrErdDlq=oujZnc&5@<%@N&b zWj&5SP90})@AZAEcQYrtgTQ326P%5Q`dN#;>s>2-EXP^QaQ7+$tQ-z%gxq%rV6P3A zac&9DX>5hYrnnV!H&!>e;-W8-`!5RADv^_Dqq=V5Tx+~l7vI?oExXNJg~B#a43k>Z zb*-%c2sOgPJHN?`Ym)&?Xt>&&gQU2ni zgR@<=z#)0;CiZ6!dXhH0x;j<0b#Ov6TsA*2+^>$aaPd`cHAcDBP~=w6RH4mnnsP=f zF~@tBRYCLTxx5eqs54ir&b~pqE0SyE4Hrc=cy#ep-m&QLSoArC1G}yW(~6DM*)baU zr?b~3QCVW|NmJl4Qaf`Qu`?6+Up04(t@xndGeugR7n$65xTko3 z^i%v4UTQY~0PAnEFE{6=C!^50Fp72dCknyn5i81Uf{e+5y-}thnxuU zLsuJHvGY+$PS)3g93Amk^&Rdi{35(U{2Cx;APxaZGu};mPd!nJppoK>@XohfDx6wH+-cCwdZl5|1DHYFAM;0r z8hy#01v;Z}a9HnOY5r7ga0mD1qr!#Ebce_GR7ch$+@%~^53yL}Kh2EBd_hkg_TKh> z!laE3M!uFh7LaP6XzWUmGrgL-`Sf*TRb3`s@swW2D}UTss0?7;fXz!IM|qwycRf;iHG zs}Q+OPgWn_!9@NNH|Vk9MJr?*aGT9mbHtYWzfA$IdqHsn z5}f9}uAr_4simY5Ovad7`JL|lQ=IIZQ|$i$wRg7drylC=v=3lcttBXpay^&_KKg1lF+D89Ka*)piG4 znc$nO#fs8mA|V?q#I2XUYqZ4V6iowaggU+C;NUUzib-f_4r+!V8Qmi)s$kqHl~v}R z%~sWKa#D&8LC4;J9SzHJ+=EqVfK{)O4RJ*FatiR%7b8^h#fgW-IQqrj^=Pu%FpaO+ zcHv#cUUk6tcSh5bXP8_K!IAvRwjK?;?)_2lX-$6-RP)|pVr!!yJV@Nvq?%KBaiI4h zb&YA?;+pIQ5tYD*&sDisnb2KI(HR)v<_1!upZzRFXakSNiypDWtEUzWPd*C_0ZHnj83WRkiOwda<wElw__FwJ=^Gb&I!Os|+% zy>L(qn-9RCIi|atN%IuZUD`*ApYxzOh03VmR-LablW{GyGZ5^EE7IcnV@@f9nQ>0y z8o8aP6!|+X*=h*2{{Z;X$YcDjSD_$!rzFW58U^~iXXdqggqSqshu!Ej%aW$Xs4Rk1~cj!CuJ;dJ`SpAk%f`hXjc=^k&S2u@opROR3Di90-(&` zrarMkgd-K9f#cwV?3Uu)+d`!orL@U3?cVQ-s+vQ*(NPwV92@3Ab?of}hC-v9xalPYe?s}VhlO422o3IM#a zHAzE5I5ey!m)li^rT+lw3(`JE`P1N-)`|l4C+~7|&O;?>W4hPt?Fd!Il&1vktWF*& zrln875np0)Ob>Vk#|1HDf%?1%374}QZt?y66W(%mC-Q{b-FNM~#HPqQLY`w0^FhNS zj*CM(uTsUhW#ClW=>uy@4dq{rv|t&#=z(@;Xs0`Sx~a|GT8>HW2f*sYc_R zZn}O*HQiReo=UKh9Gqyjh2zAj4ee#ume#AUvAFL-%Oj}TR`B0l-xOP|aBl;Oe6ikX z7y(+<2%_42ZMx^~Y2V^hZz7Iv(H|9Mmw9%szA4UQFB`%6(xE&{W{fiB&9`0y*shCV zb1vgtNaPj9P+{hVvF`gb&Dm*%I28A4#UgRLPFPVu*qyTH3yyDQnV}SyZ-aq2U-}ed znW52@dO7eI09vH7+Q!XjN6aED_JAG*Ztn=|Tn!2aJFO$dR5I|UVO?`y9{L^V2Xz4? zH-Z&yP97e`cA|i%y1U1kqecTwbk$wxfUY-!+3ejaJ3T%E?D^uj&#<B z@g%0lf6}y2wb&mW61HE&jpe>uz1kzfry47_i=OPt1G3MGacHYt&99Ql5``4}Z(cws zoZrL19~5PF4Z&X-%I`)waZ$uFfBYNuIvl~)&Auqa{2dk;@I(hXM{td|m7qanke7h! zNJ9`dr!|+O#6!ZoQ^QyRqNvP-{{YK%M$x)~da`BWgZsJoDSVS1z|f+{Wgxldxq431 zG4f5;Rn0ja;ZgfBcSdK$Ub6!E6z%j~_OnAlW6q5TSIBdtz{{(CpLo3=M5)JeE8toXH!8 z^*jfz=Tg5D@b;&^G5BKW=H+Ms!R<7R6Y=?{S-*&vNXqQY2gP1#s432GTIfy=You@( zUL90JpA2I#9!S0Bn%VDMc2za@5Q}yt8Qdt@tkTtyzYSo;ypR{Tf(Xd)L8_F;quN{a zQy*%r5U%xt!DFG#-CF1;jq~tt%}6(0PNr9yeap=rMOp#>01N7`oPdw(p_9fc=3rai zYWrTeF|#)=_cYha&0U$hO=;^m^G?1F)_X-=8MguDlD={gf#o4$EaGSsbgN!=Zb`D7;>L!J_mDc8SBsb7 z5A`V?Z%~|E8g7q05k(*l1YU3}fsoVN`cVcmWF3b3t=@f~6zPLpZ{WZNO&KT3@W|NF zQe0}MbkdeO_DrTr?G|x*QJY+Ad2o|+8b5SUTd!U&c@pxfvp;jgqWOg%t}3D&%8D=R zKLuU?08}oTRMCfrG((0tI3W?r>7n9_PDMGcG?KaSa=+DZ>vH0X3B!S+pVf_8FvzS8 z0T+jwcFo~hr(D4EQ8aNCSPEV*uQX$&8%ijN6f6&IJQG`8ycOi`Y131z%fB^u`G&aj zrYFdJQ(WvXI|hM^wVst~P)-0D+40WWHNac_vylh4NQyAK&izyfVR4|M-A!`#iQOyQpD_>4HS$&ycFc}PaBo2ZULkHsw(!LJ~a7g2ZM*jU%1=% zdep@PRL$d;m{kvRTqy8H<4jd0rFf0%gkG-X#<)6ZDg;9>B^zxm5V4+hWZHhoD1u9H1kimL~S)_u4rBxAX4i^RCSHb4m8Jh3C@Jx z4Q1N`?;NPLaW&e2c0k|Euk7XV;gY)f&EHmm z66&c0E)>Ye>ZZ0k)x4=N~2 zvMdiND7Ve^lyw;cbqo_AxtqZrO#ksSQ?Lw@=_86_9L=ko3O))$Wiq6W~Ts2{X zcM`SJyIpEIyzcN;gIW?U4?GkTMVnc7#4obQc3q5T&6n`(xH^l^eDeNfJ;UL4rAJ;|rfoy=+XL;tL zv^WdE;0AS~cx##qMM)S_k_THfZs271BG)yLr;Qv{QMhPS@Qf z#}S?!6D4&1iKdThTh`t5PLek<#+Xp3YSy$p;B~8C1+0ngj#1Skwhr%#vqiFH)!uR7 z;)^3Ww(0O&Ucj$9XE76X#y(|GGidWf3K~Gz$>X_69C;jnDO-JJoN2q7 zYhOa+lZHiFEYViIw~Bj#ye_r4cw_WeosQ4MqpPb6_;ILCbIo?cls}(F8Px|y;O3qS?F=^`P*_04 z$GDrU^lu;%0m)e`=N7s5+&KlRj;B>hSAqm!LBR$;@o9+SoZF)UTZl!j#n8XnD5%j! zJ+%Qs{mx}QiiF^{P8=1&&^t=^^A7|_$x&3R&NNsqDvrTcM_pi7SV=%NfS(mw3M^H3 zrq)Z-9LEh21zy4J7?Y7v zM>9jJ-Jp1_OBiIhDmIe?i4Pl2#poppxhRSi5sv|FHYWN`io z9j+(AUy-1C3ytyKRBmzq0M_L3yg5`FDI>s>LwNfY?)zwdKUHC$g$I(emWsKOT`IRt zIIX>tg*alJc8(oi6mGWZ;Emk7>VrNji_k8`{1r;cVuxCuIyR02J;=4SJ}4%Wl|nL_ z-E*^8VilA8kX7881xj;#zu2R3%*RvgUP{si({;=^cqoSk6Yo+f{{SIVo=qPW7doNh z6+puCQ-n{sXN~+iQx##xSh6(|E+56xqv4Hy+2?aKKbP!E|#(8K8g4j(l}H);KM@KwWnsToEj&uROdsDqR#tMzm`WRDSm& zL35j3sS0JD97q*$P41(GNNrOijg1aDox_@Ja8=PWWxlcEn*n9Vv2Eaq)4a22QB=D9vemXU}rAww3{$_7Fy8?g$G>aXGR(>A%D!k-}+ zy!({wKjVguRcSzQWfO+`pCuDxZ48bD-VMj%ooIhm&bb)%M*jdb^=SNsT0cEK!CCwq zQyM&d;Zu376n~T_J^fbVR8q*&*HZBZvK66}^l?h(6HX?G1G!4jFP2o)<;IE+OB-t7 zKxnBzG21OQb#X2#R}391iSP>RKk_B&jtR2J>(aaaksMlof-jXa8Dha#kialYS(LU^-o)jmGt`1mWla979kq7NQF_KasSvZRZ9 zUQ@3O=+BCG?|0~rxBbKFsB$^`(S_q{G;j5IF6$P_y3Y3>1$HW9y~^$+ofofQuDOyu znK$UY8$)>SqOC&7QAx_^_^TviFv_6U8Vi^F7p(-}6%>R%=|2hiGWQB`Pp%SNxb*2mTY5%Ge_pleV-r?sWJopwaF$ zsZtyWVY)~w1wk1eI3XnRM#eWB9a60|{5ozhMyGPTPMjt`1?_c9($GMipQC6s(y#!wUKQz{{WSB-XU4#Z7RaxPT&-f z_Fs~>MY{FmDciIHn!Mu!EG z+RMcc|M&Fgq70!w(GdzI=?COziq2Y&SNx|R1Val(i`n|Ui; zmY7Ju;1xk5b#Q8$y{MY+WeSw~#3y(tsM-h2={#uKA)?MZt#iHsSxO-3IqRIb8KP?EUBL1+|SuIv!`D*p)rk(!) zm6t+rv49J+E`CZl*y@Ikkz*K18E{Q$+&89lbCu%!5);#f${S};ghvJB? z86SdN$Ze)^&q> z3_v(gI~NWO+!r+8%$yEqdaWvq9&J%gAM(LQc$;~T+9jf{9KTg(%8!ob2E0P6a&f$# zcVa!t%--Y&6hAd%p0Tcv;`^8f}jM01|Cq zyfs=Z@*hPkb#Ki&@bucD?G*|tR`KiCJNy0W(HqaBBL4v8s+!MjEx91=@1p*~-E6r4 z%zfu1=gQ4qtX#XAvpifjNP?{%<3Yu3NvFCurNa&-$0MPG>5&FWb43;9R z6@dQbM-m9dt{H_}x1<>w(EC#*jE2p-ST3Jxc+@h79=%b-2i?r>O|wKR7g@yTCyym} z3*=xpAlKmLk$EyY;cyiZ-suOqN*$9P`45m$2X)vk6!#HE-NV|Acm(G+`4Z#JrG2u= zpIO|&TEl^MAPvast~s5iI~&Qm$fUEEcMU>wVUkHCBD%A(3S;e#WKc2H39eN%KP zA@Og~Q05a$k0N*k0R+YX7;hiCEQLl#vOi^AyNJ4cP`-C`WQMn0i2+%r?_uo~7Ir+6C-Fh{bzX)f82P(6<_o-Y6Hs&24aa!irnC8<)MnshEHKkbl^%BfDn! zlzd95-HQGm-SS8teePB{o0z;lYB{0B%*1ZI5SA-drI9~s>kSYWFE+P>FJ64F-QrkJ1vp;w@9sBZDnFeyYmGM7CGn<>O zH%Ih@!M$3~{`Y*eynpPky=@bBU3=U5g(UJ&0B;KZ@>FAt720cDXda_^&BDLlXhl&G zS|ww1Zar0YcSmc9z1%zrH3ZBp&jFJXA6 zG-8@#eNJ4}muL$_GF>N%Y-PgxvTB)|gQ@%WDMsV8u@ysE9vNVrtL&;L^24GZ8KDSX zak@7mxh$%AtG8;76hYW#qBQMgIOg)Or7yj4R#Q+tf{P+BHdU;sG zz?Au8Ak*Pve9OfV<$A?7Ov9^ zYCD@N?G}bHws`PsK%yegge<_xm3>zIQ(GIU40v8@HkTY56IBpNfX7VA{~JCqtz|kT5zJF zy>w+&Mn_%uMrXw`X`J0@lvHv~mA{5g?#dS~$7!u&mvfJFt5(Tml)PGZ5L6P3oGGUB z99npVBu{ln+7(jQJKu5x8iZwyEEqVUfW%^e;1qwDDI5(=RKwP7J-@1spS;wvQnZBO z>`sZsu6bk6iFPO_jwPf0!CEKp%4y&*3Q(hcaIPbZf9|R&nTS@4F(AsHbqK-%~RKR_Y-8N^7VlI$z#AF`!p-jJjrI<>!96Lbk4(f zWcepUB*Hhd5Y5F=!a4CbLtTzMm)Y$sk%8Ejy8=S<6v(gMjli3=$!hI!i<_mpf$`v+ z*rY8TX73bDX3WnOdrc|ioZ|gdt!~gG8h9tRC>=ALDJAnjwWjmQ8ojjx$7J*zII&9D z!6x!)aTxil*G(3-R@b`JY8hV($4%y0Ug6%Y0;Wh@CjpzVRE)5-2TVq_yf|o&^952c z=00H<*jrbz)K>wm(iE|o9UGhlDZEn=?ol(mS@TTrR|%#d`w9`Ws@^JH`zLq7In?x# zyWCgVrpoBLRE`cJR=Ko312tsV+^J@{)WVyUsg4I|lOf$jXw|msW~d$t_!W@G+&yf* zDcA9Ebt~X8QWO6Gs)kXvJ_+KQrK7jNSEeu=MO1-W82hcsb;QKPNvIa+Mz`J(u*@4;Ms z8ek=lpy03BEU(np@m#;OTAU)v$M+up&W-GaZ@}D9UjY-2H>&k;P{&j2IeIJ5zjX?6*Xt#I72q^OUh)mC53xr% z0mK}*sYFqj*c#r_vcHRdf2xO*Z+o18c2!B#|Jd;3RxSzd_SiJ1@M0xE)+FQbB|s4 z{8Z2HIF)8=LAyL4`P2J^?Bc?mA??5J99@6|6a>Pznu9I3iv|KM|Z$;gf=BGC1*f0GcBdjEmF>lCT=Y^X5P4eW8N3dqW8G7zEJz7QU+OeGB;R zT8aazkQ?>iy;pLUV0K*UH^3(`)WtQf{{Y93WnQN*1!slMsiT1A6UFPN*1-qXt$5$V zf-kciJB3l=hfb{Z+3-X6+D#w4))mWe`JyQ5_O`TIXOjTInx&pBc)fZ_pH2e-p_hp` z@mTkMNREFHm~u2O`mLX$vcNc3+O3QkF|Ae(Zy{NSelj#m`2f)+E7ivwQ>XNLx3#nz z>H=k{fZk!a;5$mrSwXBFUCyu7MsDpi>cQWR?wa%-T@cBj;X1VSD;6cc!fXLMQ`gclhx?9n= zumvi4=(07K$YiJ8>qvE4ku@7W>uLQw>KFJV-IQ#itXxF zibg>j%(rnJ(wYd!U2}LWKNdZv6xU|g3a7^mVeM(H&s6YNgojddiT!5yEo6-pJ)xSo z*Wcgaph(QZ4`%9Aa8&IEkAYqof3*{MXV%bT2V|O&(5OR@RQ{i$l1QMFPBN;`%Z^b;PY%%d1{#)yy1I&lz9;03;t7)l4#Y z`SA+%wZcke8+xCvj0H`=Y2f6@+th`b4r-;itN;m)?#jo1yZeOi-W!67F6(LcA&uLZ zlft#Vd{s=s>XEpvNJ+Z{s)o`ds*uRPv z<$CY2Sy`RRP%EQwr;2+{P8-zC;VZtYZb4odpJJ9NVstV$7PZ}`@zGJbtoDD}w@q9x zQ%&57bABrJM`yq_9xz7~<&R@OxO(N^21WKu@*P}*7eZgpwFG&JMaiQN8* z_V)m2oWqla6EEjV6k5}lRPaWS;0Ca2ortb}DZ!2>$8k-5M|j{+X5!kXME3!A5nk%_ zj=-7=ryBA=@o4kWg8W0~w%&A3&MZAUrnhPA;+aE>?>H+|we*vpnx4Db&-kD@Q9H@% zo5(A`eHJO%;fbO6l{nDg)#95f)UWn?8IZN-vhaRD;pl+ zAinQ)5rWZ2JUQ+JZ@eq#$pF|);wHM zmF*3Y!j$fg9T8)*pGziZx)GAvD^9Fu;*P6gxhGy8modyJ+)i5+;CCm+aC>Xbo zX|Q%y@A(@^&26(bmDs^HK%K)C_PKVZc;C4foWa6~ zu=^F`BL&`R+wAs%w9Vt1jOQdr2X~vn2aI8GuZR66x+iT#i+*XAs(LpIvUnBb(EakXeQr+0#e+h^G>z@68*_^9pB;anUzebEeinhta-r#_$X z=N_&tK1Qn()^$`h?Z66?$ft7JPN!-A05$zTGO5|$!_7Rj;4^XY$w)B{0`qH~a|>EO zn;ks=0PQ)CK8@-~U4?dm;8U9}7KpZ9K4>^#emWoPG#xF4(8^pK;3zQ9iC<=u(TqJ9 zb}uK7B-RGIQFgdGp~Eb<6!$|bT<|b%0Lef$zxwzqL^4&4L0fI0n887ijBcs zk~Y1(3e`;KIun!5Z1MV`4WYnE*>*xt4t&1yNd_(h4;{+aOk1qGUN~dXtBnHmdn3G2 zk>|zd5}PfeJ(!JJ!|`{~Yi%A)<Rk(M!7fYnr#wF>ho8cKo!FK zmGeEAoPe%qIgK|?>eh%uXxWNPK|PYU{hir*hk|j#QuDOk!}LO1KGcwmk8PY2OLCy5 zhS|m!-rMxy&qLyrRgM%>{{RlP^(Vj{dx~>in@tbiwWhf6TUlwfG=N&sR-WlNC)*84 zsfnY>SSHaOp zD$~dI6Kyb1?27Pv59{(l?8xY2_!@h3#3H5aYENWwUuuBfw8n2xoYYSt@!9BT+SY@| zn%Iqy%-$ILRBjCoZKg2)00J;0-OzC~I>{XGdb|FWQS9QJ)&S_;iHQ8T6e5axaAdh2 zTtQx)rY?E6+Nv`9kzMZiC~tM2wtV^;w)#nqOl~D>EhlSp2IY#{al61^fgo)4M&Z*x z;lj#)QA`JdydaBMcijsXGM)*d&1a0$)mL3)X&;dS=rwfR#XZ9cV$e~s+B)qRb01Ke z^GPEnj-st=s}&xzH~SL|F0G!?kldt>C|q31^^FvJ>w?D|(OM ziJh9cNZK6u{piM*L2`V7*Wx>ordm14C%Avwvsnh>*B=t2ciHU9P?^eR1_wg0T~gH+vJW((_FnMOK=Q zoE6J!xqoX>)!0~6Me=6>d+&@V*^r+L^Xz9S9inw!L;C9`AR zjNS;k_9#8Zq~n2JjE9a6&)TlZdN*)-aHxL)N~0?vI9mw-f7yS zvDaoE(2bI8C~FDso(d@*FSh<)TB{k}!Rrv7-znW-UK2y{OF?=5-y_ z(_w>%sq;TX`%NoH2La}o4n?0Oe|^@uMmV`R@QKPb$q#ol*VNr4DI2;#nEl5Bo@R~z z0BMMIqwO^b!^7AgdYz{J%5*qg>&M`#p57vgHyq1FbQq={2Z36f?JzrJIoS_1_BQ?Z znpgh->%{Y4Xr6(?Cg*qRRjuw6CTzTiLdzgG9$7%{2D{LXL93AEb8My5dFn=~WxAO%nwU4~oR;NETb`r^`Zrzk!Jh5NfEVIGuQuBSG zUV=tQJyWE;=8X$b!FDm$uHb;k3>0r;C}k$^hU6xjXpOtPQy$t7;eq>{1y2MWE-v>D zhPp9F_PK@V#rWK6==gIA`wdkb0UXu_gMxmw^=pXLv>{#TlQhydY)Q!OD`+a$R>yT; zxE=*QH#Y6A5*~ejSu$w&gHgb!wXUmNC=UV@R;G=+JNCyG??8i4a?oDU=wvkqhb;oQ z0=a$V0<=gD5i;oi0E(N{WmG1VCA9e|VmSsh`%^!BRj!+u7?^vgsJGPr0ILN2dbxc9 zj&n=Q*)-&xbE@n@j$F)pFC1EoU(1wHrAJeXP2V+E@_ zaZPaQOey9xM>|DKF1_WwK3JX`9H3U4(<625ZV!-?T(TN3IyyhT&6g`oPL??YPQkOA zjw8i5mdGR>if87XJk(@Rw^?*=JA&7^hfgNdpQ^M<<8#rPSFApY#LKNFD?Mqzr^WMrO|yfMBw6;YwFjF=GMrHW6( zt;qHGqHkk_AX?~N75i`5kT+!n7kx2SzpdxCUt z#g3s=r3cAfaaSIx_ia7hrOsDZ$bQPUx}Aal03fWse-y*H@rJ7KAzP;6LY#L=`l0J% zPAW+r*1w-04p^dO0Li(Vm=oF7v(3Fp5zV-_m{lHOTw%q#QJ<2$a1!9|PFr7y!*#=+ ziR;yM*AHeoe$YCuh&1?vrp;)KRI%4x`A&TY!!J?dg*q~6BxbF5&1>0RV>4*^dy{pJ z{7wA$`TRmH?7S(9Kak+@^FZ>^b_t&wJGdGnnI{rXXGoqmh@>52?1)mr2(&&Z%#PW* z%B!|EIkC`YaQ34Mtn`uW4`#5|^P9uuqhp=2Uw%UFu@$a7)Uq>aj2B0j>V=|ro2ME9 zznX^0WU}if9o(DXj>(?J4Kdt=usaRohfI$4JrbyK2+#qB9+hsA5*9c{cgsG1$qGLD^nCxM=P*#b9$UjSKyCn#Y*7FqpNAM+9J_iL!2D$GzvD7 zMyOG@cT<1CU6#`;ol@7w!8MF^c3KG>PUPrJt%}Mz)ISo1pZIKbk>hFSKVtOGA^D4) zlqc^FttbkkV{@hMg;%h%^B~JCPLQ0Oc3P=F@b?xT)GoZJY?g*Myxd+weowgB-oM^VX!v}bx6z#j| zEbpy5%yud~c4XR)P6ajF$i-d4poa>fv_`Df8UFyoJRQrLbW^YiMiNF*mH~Rqa~;)( zomK7C`>1V2)f-Qzt&mkJ+g>bh!9h&6zG^CW3N+&1dX(?|6xh(+E*@$-n7Fro?kdp6 z)a-(Np;@1eSZ+S<9Im28FE=W2;1n~o(bd5GkaUojG5GBKTB{4S!`SaIoan>$aUsE9 zv$~FLB#-E$nVqfN3IQ4Q9!umsr+)C! zMS0nkU*(Ls^F>K@uDaYZs4m`BrWtm1xPn5tXe79Gd}=;P_GlS&jr-G{_Z_aY_^p=Z z#WpBtXl}EcxS+=51rdlkpmmQPNZOx~>hvYFLfS~ilZFYAhPjYFJJ(OdbY4@QQ=V2C zI2xwN7+l8-*&!rVyUj%6D@s?N?J#~?~$ z&2KbaAbgYJBWOR4N-=3I>f~0s%GcMt+?6j14!0Goj0pCtP6}s635ocR%(bT(PHuLL zRR>Yng&LMh(Y>dQFkNfU_5O>h5Ovx(WZ}6`i^II!!q!>b zC_i~9^@1zWwtk)>{_=Hv1qE)qU^uiMnwtX!dSMsjv+Qq-cB6!GI+X=>waZ7OyYJtQN3F8LiX`@!Cr0^87jQ&49fczjNOf$ zcMpO#n^V5eV{d5Y?**-EKF?u~4lZ}N)!GTsOLR`dLK~6hG*sa3@K=cy?+=(xbTbRp!?L|L+iU#XPqZz# z9pf9XD5i|nuEM;JLGSA{oEyOx%Ra56vh9_2&mHSa{{RiQ2)t8X`7cQzaW3Oc=&|_1 zPx?yQCh6hvTC!;Tn9Po6qfwQwI4^6XsPUf%OJ`#x#K zhV_UxXW4JqVr70sFP&hblSDT0}1SqWyy;!K>P2idlqJ&f{uV{R3 zAUGZfu*l~M-eq%Vnsg3+uH6Hw9y_O`?O>poHl7tu6fMEyXTpFZ2syufHn{T%m1u@)(8$iKmBV*uVBE{e5bnEkPL@+fgdHJ< z05A=GUhiPZG2xNgAvj)z*!hB+Bd+UCEMvyZZQ`Fj`3Sgnp6qHk1sidWSjNnm-W&c% zORE4ow%(~uC9iCZ!tgb3p9PI+!2u}{%6Q~e)0kMTm5v1f4lA0X$2CMz8}tVq#|4f` zg8;T_T;o7IQzB|wqy4jE9VD()@36ke;I-z(p$v(1mC>keqkKV9Pcxo`>g>vM4@W;ASe zcX~&DAsdGU_Lp_#%kr#N4Qod=*ee|L_+X3Tpqt#}=DDS=8G@l`b=#)@0JB5pfz36g zZyc3pk)xAwRcmiQyzEYyB{?y-lbtRumlqW1o!4WrMBNoQC%A&x-PWe>(LM({wrbvQ zst*4E1lL)MTIw2?3aJgU`{>*+i?n|MOc1)kea)$H7^>V1e&@4g!_7@RlD{78BZC+d{>s3{j?=L#`&5PQZUd5R zow&^ojk*U@t<3^F(;}BVflYKhSDVeJ9qKp2Hf3q6d#@P&{8L;qBB|pmG~W-M z*L-kRclKolCwS&QYsGSS_l|&bO$beujk+I=-Wp3PagwyI878rnpwGoxUN_O1@&5p% z-DlyvTz7#^iTk(l39+*`CRtnfE^XhZ@0vCsDH+-aiB9I)`w?%bRGg}?J$AL;!lt>_ zr9xzcP=ik+`lht?O%J#Jm6SgiqGjqRtZ^KOd;UtS{7jqmO$M%Xj!k2FtrQ8)Is7!$ zw4(e!VN|;6_$%B_iccF|z@q3GwMe?Eb_OxG%YMIC0 z91)T-E@mU9Ua!dkQf^_74a&Y3EGzgoFZ8ebp0P~_dO&-Ya zG=lMUuK@90jzCq{b%sT3xZOLBMFv{Gv(7rN+_i23{cv!01v1BN!Z~qcxD-LlanVAE z=?w&KLI}<$tnTZ6s5PRE0)Qwa0~WrX)ph65zXQn-cc(P+F-cZ;Xzc^?+iZ`X^i$?MQ1zcTl@ASg;uHAw3v_o z04mQWPP!}PM7rQ(3YTKFj1woKh z7&GFiFisqC&{gx=HPKe)+)#6JItGE`qMBc7g6nT$_PEo{UA^hBZNMtyhXh>a>c9XC z+lT6$*rvZ{0{sXVqwp#=TO|^Qj2ihaSIm6T0>`U!M$1FmN4Xe;4mRAJ!H91)Pp=${oR;B}E7TY|G%ti4yCNDk!a+IDJN^B?^LFvO^J0=lPO z0B|I!;~483dB49D(Brf=Pl)LY?{leusn7*Y2SS3;H9t8}#wUBKawiHWwox;z@a;OU z4r(ramHZkn;5?L2mNl_tXwTJ3*(45vU&AhbJ_H zt*7-2m6uc7#Cg#*_o&xU4_lhL-m66wcZ`*ExHRmHk);VdRSRjQo?}J9oA6ZKrSX4I z=vRg)=%*Ei03#a-7H-qWZ;<89HdeP53LZC8iDAUnp;`l~z+x?_Q9fO}J6JBT;eqjAXPB7XKyMMVk39vh6$f%M z*)JIP#xouYlG4!u%DJs=iaVBwj#(7j=9Y%w_UWitphlblqN}JE+7DMKyg2#kkNn1b zRkge=4o`^nvti&jbbVTU{{U4af6I{HZ|~ZH($WZoupZ({CIk<-{P2D1?C)I-l_+CYSk$J01`iVLxBmvb(x6rOuA_1 zKiO4VMM+@Q-6s~6vH;Od+m_e2LxzwJ2Sk2nL3ein&=L&U@K|XhiW&*r71m*7-beF4 zM9@050|nIzksG|T3)8y!=aQfo7&0`VR))!|^j)@{l9@*g9mh*0W3EWtKQQ1^qmnz3 zLfj;-1S*43q0&MFUz>*KCha-`davF7r1K=EJ5b1>6|Rh!W_vy=qk7oMVz%AnwvU#U zM1PuT<-Jf~6?8}bV?HX|!&_hWg_a0haN87^1X_HL73gu9xwnYog`L~memeHJwKdJ5 zicDHUrR$;F_%E|tDT$zvCO$#7&|B?Qjn|sT2G`t}GIN^Whw7}C&Kk!uPE}D_nTw({ zuO%C|-5PF4JjMil$+W$@avhFC_4=ac8n~LBESfH}Qy*KGhfwELBX>J!d=q&qz0yLJ znb3pn3eg_xxF*^m!b*Eb0=95)&AY~u*Jr(PVh?Jn^#{FC!mFqj$fkzZK8?=q8aZfx zwNP(H%@5(X30?mH$U&_X0{{^SJBq1QG$)FZCr_$%&0zKUC}xHh#D5U6qcmG)V3orQ z=c)=4TAp0@o5KoFX}c>!o4~DPZE=qZ-0b-ARjuAm!$Y5DyS3Jd-B*1IrJcHo$MPl1 z`bvs9?=ZfB&2~H0$i@L;u;|Av35}qKQ+G5ANIUS;0RI5o)agIOd3Vt|%VfYDDBR8* zRoO#>fu`2wsopxDMNxQDdSEW3@byp4IiJiMW0w{7n;^ttBwPyB#>&WcYxP!pG}99D zC<#(r7&<_1_>oYfgMOqRl9`kN#5zwgPojHWi_B%G#X2b(TIN3CueV6ze&Lb0(V4jN zMX--T!?U9g6|5DG1J!hypCwB>cE7}aeq0cv47QmLb?Sv2oIVN@xYdO_m<~@J=6oDe z4|rWo<$}Mp9HS{CG%Dq;?2(?V&BOgcVu4|!f}s?4@V0W`sd%&;)dpX5UOkGVOoxUD z>i2Af7~Hg$(3;{EU5ko)ACzD5+^p`jylh^P>>l7##geSEHv=a3p6gUF9j!lw5f>~Qf+eot=8f~w}I zYN~n$OEoFJGm-G%jocnO%sGt^HN9d@JZVpwYa5eA0@pNcv8PONm zoqTs4nsX(^rw4sjE-ZNdV8nT=&}!uwg2#j8ji9-(z~QzYRE)7)61Z0V+#FN&*R{2y zyj7i!>yz;Pg$w%*VTp*FWDSQI|^Spu)I?Gh`Hn+d|=> z_9Gi5l(#w)QBD*_hRJhrx@x}DR%*@?Ha5@!#R?jOh&+01ZxVsUvW%YG!n$1sJwWi{n$C}LCd_uTR z*JU!&%%6k2Q(4%heE$IHGFLcK%-v(hta4Quw2z90Vb;2Rs9nmP5>DGN#Kt%+mfh&j z8!8N;_0HaA_zuN4>K`Xdc|ql4&1kc*|Lk^3dqF3|Zi-A@BndRE4qX?Cdvo zvvKHfBOl_?DYSU?%yG<7W=6^+WFtygd zN_=pjQbv11iLmc((fB8@c0lNlNbE2erkt-f^$-;TyjIZjRG5(3W;mwZt!a-yvvq2k z9Mb*_9izc9rx_j%_i;Ka-P%BLtvvq#=~HpVzZ4vDE~C6v{{U5|-VpUjKHNGKD(itf z)mxX`T{(<2b6U33#ZtH`{8P^qUgde+XLOlmvjKik;z`^Bj(b>Z1#f^2Zxq>gbzR}0 zzE=h`ZzxR9M-wsDxM$!NwXH3P;LziYuHtzF)(zYE{mn8viq*({BRBCJRYq#>PLc|R z=_@2X{?mMZs#4QYcA$l5cjX@M)kxk|Le~>$*+{+yRa80q)eDO)0ATL_0E&*UEWMkW z+P1$XdDitE zVL9FWI#nu-1fEFho+NJe{)&?INTqwc(QXEuIxn?6V9l0zsE@6sw9Y600JTYHr=(yK zGn#W9m*KmYbgNTcfo0+EP95l~tI)g^ckv4Yd*Z4(I3PR24HRaAPC;#M-MA`yP=t1N zozjw5WWiMvtuCalW3I3_1|ZS77P}*Yy6(F+N_5tO$F@0K#)@#FKWKH>8J*qSxw#Ev z0}Gq5(bxmC_idTEvp!)0GAjFX`gg@aYu40W=YN`{ECB|bWHH*`h@}iV}y2jt)95Wz9=|v`@KbQ&A(5(GQdSoS*Is{s^pc5 zPV4^wc&Vc~y|=0R^G}LFR_=E8qQ~`uy;>UOy*#|p+moQErsj?)>*FpI%CyB99lvG2 zH7oKjc792=IJ$!wIX8l%g;@49k>Kyu0o~d5bZ7-6Z~MOCgpHWC&&x@;(bdC}HO0qz zy(U=zw)VAVj^-1r{g&;s){pc;aBoK8c2@BnfApK=^9 zAvNQFO}z`R0nOl3CvD*7iUC|S7sb|YO0q+JqX#shY_no1wcwjZ;6@jBstUNc(!A6V z!BT0v^g=p%LNLOBb5c(?UQBV#Ip572V5iqQ*W5Y{aiFDXUMp)ezeU$Jju|*_@m0Fl za&S#y4cXtnp)2>hMb_u=SZE`2u?QW`!_7BW_>r6OAB$63>@4%+8~cvnQ{wMyp9;j#eL;Zfp@ZpG1? zv;#g0j+a(WKni=xI2x>03iJBhcdfm+``gEgqp=7!Lr_i*u@w$tgW^m+Je=`Dj1k)DFq8kU~gz&nPidCa{=A6eg_&az{ zjl_^BTj08?t1!B?TP^fQG2K)mttv=giM@C`yfnXM&vPgU98N(wwzwZzA6LFXkl+ey zBNT02@l@QN#}M$|)hXrBEz6$;Q-iW2nr)J&R|_?d1GIMp()P8D8%Fj_@%`dcEmO4I zbwnZAk680RcYU}Jn*ICye)|t%k+50h3_Ex?deuu4n0o?DFY-otp2tm{&@f_SX0EN+ z#|Xl_$~J2|gHQ9MuUCqR;|*+pH}a!2wYd1{haJetyI9tbCV;UZCWwvMX4|Rkx1m<5 z&>s{_jY;U19E(bHgly#Ajs4rz=3wuNr70lXQ(IbEqx?5Jwd$1FBiXb!j{ZlQr&dPw zm~#lI{{SdYcwiTu+INyJyvl)EUC|qH)tJdBHK^Pd-;q0l7fWaeAR-%?HF4gxk@EsoXQahsPxYQEz}PAn*5TttX~OiIDkggLL~n7zhuiL2!YJt|Xgect z=-;NrXwI|@8{sG zrkHIgu2$(a_HOp8JYC#Kw2w zcfDg1J&KTkPX+|y_iFITzg2!QM{($4p8o*-fFVRn4a387^rG)Eh+6^f{Ha@8Uehg!)9T$I+)X{6KvAWBOYj7tH3p@y2h+)8$aBBh_p0f znokWiai9xim{@sjeu}P-Snl+jN8Yb60mvZXld%X9y-?-Srt#3hUZS`b#E$-3Yl>@Ul-+M+I-14ydn+3c2-}7n_$I){QqLb)cb)olaM1W< zcGFESjFYG;V;fxojt)bfIytHill%gH7>%!D4XL?Y4{-evY=V+gA6Z={vWE+wFnK1+ z9z>itVxCU~+vb!D?Eq3!v^+Q_$jpjuJ2F$=i$U6P4G24qD(?1@-6dn7AHE~9{6~)T z*2Odqvo+PBaBsC6MWM}eAs&h*8{RG|DQ0kNS<{~CuSoW_dMKRl9gw{#5r0j6=$qGz zx2w-I3(*Z+edC!`Z(HA|WjVZYQQDikG{-d6t`!q*Oka4w_!Jk<)QLN^_@;yg50aKLo`0H;H!E2|~0Z+V&g(;0ham1B^?lgE#UPqIAv zDGdSm6dT?&OoVo^cjZoOUyA*Pc&Nh;&sE=5Xr|*|f{b{(_w7ZU!dj+pgTH>xi9C~h zKJl$!1fC^rOHarss#|#a*sYk@Jd}jBqh^^P+e2=%JC(=HFihg-1B7*{K1s};JyV-O zo*o`L3!*o9ZbM(_+u4lvv;oCoqMT50%pwYw#V6uIYTpiqA#9b8OBIS77bRBpBo}C^ z(MV*)ytyXG%cMx#q&QSw2+GJ?d7`u)^!8rAdu+SCUFfuppSo+aYlUis?D+9fn$$hD zO}J?K)u*58n)vf}6z-Kl(;f&W@R~n+e?pxFY1@eK{{W=d5p=cYHx3DwruWT2-9ojF zG;14ppA`9|!OzFRyOFg&s&I&M;Q zGC_^Z{17cQ2Sz#Y-cT~oQ)-)<70~TN9o42UaO24vUE9`&yH^8Gdx>9WalM7>$F;>) zGgfyTerpQXfz46Ep?`?a_YbO|bsfOqRWx%6ywjV>Lv3c`M|1uBlU~DCxKtiWzjcB; z)puw#>kL}1OV<73rn8(SW0RtjamT=+g(%u74==iT~Qt-b{p?l%j|0W zX+6vFWcIJcliI%;PjbRz<^t=q__cLddVLs+fvhcr|Z_A0*kNWyZ0WAz{o7EzjJl@&HY! zyBIYU%&YBH(a5Gdl9nCktKy$!p9e&6uH{d=@kFAzB3d!zqL*}{g+=S&qmUfxD33Be zA9ybux~fK2?eT%8kL9>Q5?6n55p{*N&BcUUBw1nH)J(#B6>$hO| zjRgRqYYRce#Jh6Zn-5jARl8Hfix9F^c)cms{!4L+$?kKvzohWOE8nikM-I7m2+=rEd!Rj%Sb?wTm5 zs8bJh{{SUmlhN7kRgR<3{t~xA~5aJtnc8ci=g5RLQLfz1?Ty;lWdOgG61R^eQu3NU`dU{4egg{7%w9`zf~kpX>6Tf9F3XI^sx1OItHCA5zutM^Mw?2+KufgkvW@M`}yuqEoY-- zcUz8Tp%#%)cP2T7t#id(cU4T=%`WVk&=r7Sdr!10qM75(L>gjjW%VMMV77yGWaQUY zh!#6&U|N17rUgF;W8=R?c9|f_>@;v#Itxn%;x0J+mD^KaW`F+ChqonG5Jx3>negJS zxwO58X`TwMGzu%?kuXqt-=fFB0Ig1a2CUowbOFaU-;Rqv z=RXB+{{TCnIy3(Ono~c^KM;qSa+~t>+0v8ppMnYh0F}Qq-h*^E$DrQ?-xcPc;Gz7Z zO{enw)W81#jy@;ue3Ma6{qEB*?|4)GQosKISIrLv|HJ?(5CH%J0RsaA1pxs80RR91 z0096IAu&NwVR3;Fk)a^5!O`&H@i0LD+5iXv0RRC%A@nvwlqAlQj>$=+rdw70p0lwQ zMprci-1Kz4O+WEyf9C%H=yhWV>*#Ma{{Z5>Pdfcaqbcd5)iFmTS??0}MYs@jXEQ=x zpt$eUMD9Z41vi&ELObt$8-yC|3c$5CsYiADnxh%m9Q`)cU#5@#L4p4OCxlauU;rf!uzXKx?=GqJF?8&NLTRpB@l#C_fLr{rqR^3_0nbOg35j}rh}~1eaOj3M*_XQ8y7J(i z2BkuCKY&dNeNg$9BIjmIBTimQ_$p#D*(iP`6su#gmRBDmfUz2#5fzacZ>9PXrjTrl zNB(`PXHM{G5+JA`F*X7h22jGQ4Q} zwT3R}v1Wk9mFedo_04yp>yI1iyW54W_c01Z#t{0#^iTABnzOZ56Vw6W( z7x9?x4o;0nVNmM?2s&_-uMF$^?FH$&kt&nXhJJv@4L|h-lkR$*P<;LwbT>PW@mil( zlj*{2%;_{Ewdd<}fXnw|@4645jx9m&_?1!hIeU1&`5uKrgwTq6veJjo&2?u|;=tPx z$eX3C4_@v60Ab=(qPD?wa^x@@ z;mwpjPf}7)i)v1c>B2NMAu6c@cC0X8CEv4P%8_-#D_k~(o zC44a};tE*D8!~&q`?~J?GM$Xx59@|5C&(vp$uVft{{T`dJz~7>Me3S*y(Iw;o&@&# zK(m!{5 z1u!n&VY7pF@H$_J8u61(!Ff%C2HeL&16hGK^|(3e_6SZxsuOdfF}o;*rMcX2F2NXg zfByhpC4ChWtG)yaB?L#xwMBi*9*ykE^>GpqG3voYD#Ka7y*&uvp#87<&A`7o+NRzc1mQ2t_P`@N!rU- zmZk*(Fh5J%?y#@14XM&;`&GvN>Of{so%vsg?rUL>h(oInm48&%}&`QK{4?(8l0`V${eFz0~h3pfbpoy6BOccIE$f|k;pZqL>0GJd+4(Hh* z)tB`cnGUl$`_#3BbcfyQ91dkoM!}kwjB*Dm@+GnisICq+%=$ncGhu zt|c-o)n-;hgXl>jH5RMiUe^rl2K%`gaN3QpGZP0uQSAoD&(oh9<>Lew!$P1&hNIdr z0D!4$kC{=hSkBMk?=}nGRWVxfx@9dUHpx9uTw{b;rRj#jZmu9pc+ZMufGX=lpz$k=2ZO5slE*}V0vRvF(pJqQD!9i{>>@kDYQyZoZbY81XaGFFMKHTu-{dv6<-O9R z#Er#;D9b3(`bizeV8j%GDHE_^(rc~J0}{PfwT_j2t3cZfRSQ3kx}w(?GA7wRX*78DpftHF8Q?AocnY<6a$dXu9<1y0au-<_&?8w&SV9v6axhDE!?45c-Gfk%5 z^orBd5#nn!y(oQPD@4RY81;bVHAka`n@l0~S`i$MBe&4oK=)oCLyOtL>ry!omgOq( z61^Pyk-YBgO6+T?Gwm=mHH4c5FW02coM(p92_y`R`YwG&lVjU(sc9x~B2wmd^MXV+MP@dFC{Mo;ck zc8Qn(t*SPfP{W15?l4Ebw})yx!n=J4yDB0u0gKwT(WS2&K_lg+=B->eq8re}4<6t#=t8ott?$Av#ESt90g>t-WB9KdzgpSci-93#4oFR31xljR7b zYkW`eo8%qCcK-ky#wvpjHuh7GA?3z6gbsz?XOt02=U8c9t)?i$Es?Bi_Cvk?H zL|PNLW6=O8(Df{WwRRyVYA@>gZS`(J1Q9p}*zLqlQU-~?F*LT*j=M^8QyEb{4$P?> zyUGRphFm{c2GCNy1w1-=;v3$qa z1%A~DC`Uwxq?d;?-_e>!7^KpsN$~B@YEu*BQgGRoVWQLWKPbOt@&FWI%EnTHxQ)#>H zaCwK;Y^MVd4u_*G3|w419bNG?D2flqcKC#CaNKxKeG76juX=%9X6s)}`|)+&2;y9>6HjqE4Z2UAWo@eBVWUr&Ya650fU&j3$sP@0O6Wrq zP5KR<(UHu$KM;yu(;mshZiZEEbo_BCj^3WXbFbPHzcoAue)`Oy4VSph6B>`{Z}A<6 zw)wFDWIy_{W#qu~ZA`jGId_3-&UQc9yoU=7zxbA9c2@dRq|*fK;8}mTBG4TBidM?V z@Mk!N(_mTc7}OwG(G!HwzXnJ56M~(n_OpWqD*P($EWA*S?Fc2tjK+U#Pouc+^jYaH z(@#xLOer2}816uL(<`;7jpC~Z2kjXn1@4Sve@Ny10N|g;nAw~2lxq0s1GH}az7DN3g6*<87Zw_ zLq3wz8b#?0uShhE4@l94L5xu_V1Y#%dNQyA(<$aUa>8gT2H*PW7+|aqsWJrzNF6^H zx-Ob%TJe5hQpXXzH|D@7$F4-v>46<0b3w4S(QoYxs2F;@v6`n1udxYq!Sfy9AiZT) zNs(nAm|Y0HWxMaOnseTc(^L+Kx(ihStnUSegx+YGmv>uJF0j;46WD;uT#2gz)QD@X zR}C?Uy)H3e3=F_G(byvTgp6BqkR_n5>}%KBJtk`D(&Yi$XloWwG1e>urp0xFx3)A# zey2z<6yoV`*5(C`#<7bNuH-SLo1RDC;$sMHHPoD{V@;Lw1`K|}bpHUw-H^g+ilj@_ z=hIiEmEeMhsV>sgJ9KsX5CZ`~ZT|qhMnxIabYX?5g^=v)8qEU?_!x>42M6g|E@&_4 zyv|4jd(5M$-%d1!C@$+HHdBMPvwl~w>`fgB-V5eB@U2vOVehzsUkeGtFAXySz|@b8 zsf&(<2P`4V=4lyn>D?_RSDBOD_JNyn?77tWfOLma*7ITP~D*DB;Rnlq;Ji}p3 z1G^<-vgM3pD5-jbE8Knt3vib3JoV`eO|%W}heoB6$<6d!YX?X!-0b1|!T$glZX4%k z-gIRRnv~5Ytj)8Ot(+TovvZOjaMIuZ03Gyrgm(00M@8a&uS|T?PJ@35l>1w&%IdPd zm(u+&{{RHJO2Bj{b#2S`{D=chOV-a1qK2?E$(RG_X>eoN5FI-Gw0=oU{{V`db%NLp zg&vm2wW7X>KHr#pa|NbHTA7~rVi-tZIRw#^v0QbUmb=Y8uX7zL>60oXvR2Wne3}uC zTGn2%-tuOpMwQ?(GVr*ikieRS3LFe`#J1OZw{uWLG)0GF3#_Y(Ok;0t4bz`%iKWT4i z=(+3nVsR(p6EF_iZ3;yf3oM5b9VsO{6M)S^@WC|~;#2N;lqINMtWT9=33LIMLIrxP z({*)#0Qe|swOR9oq@pblI~dP$V;YrXn>O(pgqDE34>4F%qEi;tZwYKMb^ib`rK6%s z5*uDgZb7eHleVI#E#J{Gu%QP_#Co}FCt=xz??ReJSyLje^);6UES`FrCF{Zh&IgPc z+NJtkg~9&-Wk-R-`5+i+rytJ57a|>$^uvwl3v?f&XGr~ ztaWTW%`vi5ZihoiKU>VZ`Vv^y4Z+U2`h}BH7BaU~?x#&T?9x_!;2K6gH`1IM#AR6> z4PTEiRv6%mkW%{(mgWX@faVc|nI;jaJQ;_ZA%w&93;zISAB?pFi#ZJ#l==%}iG#(P zDg{HAnB~lxYAde6Hztp6Hpc*az`g*gbV+MRreN3l zuc1M&yvX}O*UL=kl9`7a=Mx4ZC02pD*3jTRsbStU9SB9$vrw}(bF6U33P^UG_tFlW z0i~^ZIfh9sSOfkJ(-R4UR^fG)#TTMsAOeP%*TlEfX|R7>cp?~M?T!B2kLl3YcJNWAr;Xv`G;}j`f6dZ0k0l)KGP1A zBEgf>*h|<=;PiDlX;|C)^r(Br>D9ep_fm-P=EBxFQPx;u)2u<# ztnpH5)`)4Eahe&Yj57@~C~!f>ltdR!Gf7JCY}X)YE=D(Te%)AJWarss_i6s;vt=7`x3kb6E?jYJVmkqxHK&$ zwUMl$b?T$tFt)l2WIz%vEddAr0CK8OV((35 z+BWsoPdaK#pwk<>AJ-|Aa~7SW{#GHes&TmzglQ$`xC>aC`l$nU!)iP`Lx2cgfwRve z#HE&TUR;f0T>u8h-6&`jy=HICW9UsdT9;Vp4$%R1j(QtG`_Q~}ddhOVRM0`V+E4`o z=rEy1lJ7XO3eZPa`swc#s_Ok@`J!1&N&;dxBkWlTQR)@g+5GJh_0PNTN35uzErB=B_G~Z` z1EZ>C`IqeY{u+q!K3S?6Yw~AjWH!TNt3A01W;8)WDlmQEtwS%@y*J`GyLLF$u%@^V@46Kc!(&< zsxwB;k*|=0RMKlMqBoKcKd~vb3h8;BJ_qkJZ+V9kUbYN6?2>^Q47SndIDr6gt(_an zfudv&$Gi`j=qOR0Aj z2C_NI2)m(UKBEX1{{W1)?;aayxsN%AX3O@$!5?)lG*DgDK-0p~9dwD9Vc3%Nj;Q3; zy(aJ~JatgrmN<3wI66Ubt4WL6hf(NGK^pA?eCqmfS)OSB0O5yj79(uFML7BoplZ4{oeLL8a}UMD%`!1(?v0tpe0KSo*oHh_?Z`&dOP6qPsyfY z{FlsJub8cRMn2tOMY3M2U)-_{N_xvQ9ev#f=k}AQx2wtOd_c5okCg;NREE=eiy`U0 zSahNW8=H5=HJ28xXcecl!5Pun$=9SIn@fjTPv&yJeZr+OS?SSZ@<69pIV_j`#J0d) zChV*B)^Vwbd?)5SZg{_(z!#%ZV9~JGh_8~nWR^G(6#oDjhA!@4-?OZ$Orhz=J3S+i z0)y9C&fKP7#`9l<57(vIRan16KSo7G-E#{umk)`G1r0_K0})#n=xeF8uvz`5%P6&L+;~%m%fK)s1LA&R|cj8*`v*DgOY(b-~hT6hPLZB%;J>qJg#(9S4RR_@t;Y+-$g{ zKIgn@BUU`ilgcE_sL@|H@c5boiO%QuE@K)hyobU{Go_ebX-_c14So$fHSaCww)>O* zkZ$K3c3Q_39-~%3w66}5{4iF_Yd1b&iUzGIC-+4G+E`I#0}oSw5~@Ey19+{mIr_N7(r$omytS1JL@Ah9IM#O@C00 zK~8=~2Ca1w)n=y*qtlNt zewhq9;jP8s2!S3g-YRjuG@QYc%&In3V&=L7ZCd^wy(R4!K3_+!lEA{$*u)0OQt~dl ze|4IkiXHbMB`hyiozj`<#_F0(gY;*Uo|2AIrlb%eVpgJc4ranI~LBfqJy(0YME z*2hk-Ja&OYR##siX!R^>Ea>frU$iZ?4bt{B>3t%=q?uMosuyV&^SmJ9+$zM+Mbe(KZEb)KKxBej_VI{RngaPvcoUz zIww#ty2Xy`Yq+}L^GOmNrsef?p~QU{KBY>J6BKG5lzJ=BOjjPy_+fQ*2GhM|c%2VH zg63a9nGBjW+gPiV(VvuQe$t7pnA8mG7o2@PK0hil{o)#MCWzVcvuGCc(HWeq%tv(cyDj!Ok*c=41Rc zl*FsETTj#{wul}Xk8IV?`GqL6Zrem4BMoVV^*wGZ`sB7u6mgMD?jw zSUG6-GP;n(n;;XfD^A+_9bl|WWzg?VN0?TwVQ~(>q|||c_EL%tVX`K^(Qqm1t2%cev9o}g2S>Hbq)=eJ2id5%k(8zWE8-6^ zhRVmwFszN4;}`QW0DMjY z%`R7rTGfL%Vl3IdSK+uG&aM~EzTAD%}h*D&! zz3C<{<}@R-`l~Ka`4@*icRh+M}bn|eiQ+toK zJQC2=Mqb@|M8X;x%{priKA2lK$L7)29b?j%zhppwO%u@cuSKZD2D=Wnk)Bey>hLf>S)Apqgi$v61RYX@!G z0(_E&MJi=A4|C=QRxM6e?0e}lY}B&pLC`(mY%3H#hu#Y%bFK**^VA~VA0h85qHf(; zXUq#@7{1=2rxZYraO#dn*!s^_S{{uisO=_UmiCLNw^z{ISK=@3km|OdKg@Y`U>jb) z1x4X3{{RY?i`v~KTJr2SVd0~{NaVzLZaw_vAF{C7!Jcb1QaRF?k9(sZt%d`gOi)fK?EWvAZ1VksGe=8uGfPWnpu zD7k$qSz*-Nc*mnxTF<^8b{L8W(E1BHz|quukxp>OeZJE2;X%oy6l%h1Tk#W`sz&`5 zj_JO`NXfkZ4-m*SB;Bxkq}(vnYI4OKjJn?3O8woy;C5;xNM0lMVcPG6p*gm76uqX_ zP?^sK${0%)<=rp8P!~b}08?H_)_i7Gt)i2U<__>t?BW?{Yjv89H-&Vojcx{1@jLSi zNW^0e*sG>k{S_(%sB040y=FK*5dhtZMw3)@%_CGrf0yX|OUHCr$+qwmASa-1VlNyY z)4L9IdpoO@LUJRE3;PoGM-bf4wT|RHRgHvK;yXvB%d~YZ+lbl&hZ!JSMY)BoXk*zF ze|Cw8E8sz3(tlx5ZMRtU3t)iv@|A2mV_4Pkv{ccFRn!}Ifmw8>y?PNTimYGndc=v7 zhLfZFftH$U#?HTaVlL_M8=Vg}`*8hv($|PWL95i&&kdCkNCxqo_JGw=UNHNT?Wd-w zVl@WS9#{VWeGB-_!=FkvUeFbdy$W$85LtV|`eW{OHGR{_u*wZd!*-JG+pJ?(&)QiVpojYB)jZx@; z)EAT5WRSZC&-)2Ng_nt>)6yG2H$B5}e8IdFw>7A|!7!KN0{mid%~SBpT2Loi+vq)R zYYe9r;oYJ&cyS!Ti}Ys5rv~pTX)5G1txRHzV;MAg+T6r7b>fPrE7Y zWgY{_sL|jQ-l+$JAqTbBGTeml%~cQW@rhGoa7zv~QReC5i_2E)jc zr(p=M*09p^9QH4tVhetOd@ltKaPqLE5hViPc{@9X8~4QTOzvU-1+3 z>!^owWO%oDmqRtM7CgTZ+2%jPkS3yU9H~7FP(MNvixQg=IGWa}E2VRPGJ^C=OT9Fd zZ2F?qT0%TGhqh5JTU9IXSee6wj;}O#hpgROL)VDaZB93P{JBy!SO7*UTS;D7ZG%kD zLEE}iowvN&gYWSLZo7rTEuT{V0G`sf_6A*@n2S-CRh=u^SJjB|e#sSmNoUsnlhJbz zH8uYLk(%);?FElBWVK9ycEj;Lbg82p+F&_$CMs<0?(=wr3xcp45mn-v#RETyIm=zy zAbpkrKv12B&5@g8(0LQ_9&YtwX2U%aQ+e*?gg%lfb<;4i0SxB}mXHfhp3|{#!K9lDXj}om^Ld4%5pfj| z{Kx%`FS-F^#j!`-W1{~6yiFu2=W@W3Q}+EA@mVMKg>TSXcz*Hexo9rW{F^3VBL49m zeWeb?y;kSXtwL(Yh&G;40N7>@d`va|W)>Li*{);4Q;Q(PPJNb4_x2;UNe-?FstH+b z-dsRKGd^~LVAGwrg>RB|?)DLzsuwIK+dY|e0xiiy^Wp$Y^K!U46~fpB%^`|C<1WFh zZ0!5Y@DLTNBFc$baJ!zh^o++UD2Bds0eqRGecBS4q0?XANpmY&f5iww0{~0hDi9pXtV6;@ zv=n0>+tXN8U)JpNZhLDM!&1**>zS4o-g;VM3J#Fvdmj?o@zC3UfsS`vpE-*ub((?s zOb5^_9&PCV0F<4h2M$_viz$UV`esEo_Vy zrtvw%1l5SXSOW+fT_l=xOkvvky7YutOu;aZJ4ONiI^T7j&kO~n-zXz3VrxCL0z{hy+z3ClPpE6@>n_>J!k<@v)n zhF8oPm@X-7(VbD%-p{lJb!h7`FQ{fDXRh3RkC@9sk}9LW_xI`=nYnkE<0A;}7x z!^`}P&Nrj2Z(U}V&U(APgmib;pf`g_JqE08O6xh)tg#K2P9+%Wq_EjsQQi=pZl09n%Q!~m#O1hO?WI>rNHsK6Bi z8HPZwM%b^zQp4RDzs{FC1M})Vp*egI);Yo$64{v98w_R{BbThq>kDwoDP-60850-| zqW+z_2QU-jFs^rmb`(@TrA>mnpI*lYFxo+reGRscUSTtKv(i8`+jC>EBC?OX#2z!?Dm8|Fa+sKz?8X+tuua4V!zC$HCv-< zs53Wx;Qn!+@`Ct)vv`WuI3Uu;mFXH$I8eX_0ciAX487)Aqu|~yzRuY5_8C+(arHGX z$|2-J%{mM6%>`XcU5s}MA7USv*ExoEJG)+K#cj}CH`0+V*44Cp@8(!{4{sdIgnjFO zvgtr`Iu4KpdbDZKHEkpDQb&_ z(KxKl3d*`v!f|-Vd3?;C!~IMLt-}uQ?FDuyR6NRcZ+{adOc-=UzeVYck>?v7qoS!N z2HR;+RxXx@B&+VlrsokTlphmItIp2RO-%~6)c5<#R#c|1s_o1S@?+#m9e`q`R20f8 z(kh`PF4Hs8*F>jJiiuR3I6Fjj8qwYe%h&l6a+t1OJV0L{2Tt@%MD_}($<~uRdTOY( zYvKxtsZBPCC5_Uwq@`>`>k#57-k|P~le(cRst#l4dAOH4GFdw0eUd6|U*|uV0#%B! zM<1DEk(I+w_ku8`U(9tIJ*WId)jW`V&$21>2VE?MF&Ix5nR4Qp?nb%YP^(i;f@H+E zp*%U2L4)j{Ib&pL(r5mR`%PwuYJBnchn9>fVUXy##K)0=MvwgbR2c!Kx3c|)J>xS~ z)s2^tnCv_u9Zfup(aLIP-kcraqQ^n8Os12!Sfp*d$e_cDC0ibT#M&+_fz%5@WTLcq zSMEzhCd=-A=D%PuQEI0sy$P(jr|em))(!c$;#e#fI)qla4aG6VLW--zSC;UZuL0aY zQ)8nA@auoH_=Dni;~nlO<9)&z%<5+>G>(#mU4s7e3$6P!T+g}{*Lj|~-O~@;w!3iP z<3aCzuHt*S@)Zvd6m2* z-)pW0#{n8^)xduljj9fJrAOI>Bmm^Ne@ST1;0}E#Wu&p+G3#;YJ?3Vh>#W6NpdBcd z32#rCDglVp9rl$CzNOuLwVhu-xvaNNlU8+@Gf3%W;Df-cBb-CLsn!mt73O8ge)(Fu zf&J|=P`LYu;XdS}an<^luHB_ISN!5LXPc^^cK+dhqj1aREpIpt0k6!U7^a<7KMYez z)XCY5*4Kd==V#1o!YN9QOX&}iulR`XJ(~W}iKb}ck!6cu82O2*cB&C5KP2iAuM`?AYh5(^D># z)%^FF^G0=wGBXO?x61zjVgCTnNzH0-zqHVV8X$OcwS3ErcKxyO6-_*?*=iGoQ{_J= zgW^9>7SX$`J5_HN%bC~!7>z}$_UMS*5D;2#6c44ZQMrXD(YJ|r07SC5X@H}OimY1g zD!pdnp|xMfv}4H#y?G8Is^8zzcmDt-`RH_g<;YOCTax?)#P2jMS;CJK0pS=u%IbKO zI+>~IqyGRFClU89I}Wt?QX+bF+xIKuF0Qs-?Z~Fo0oq;YE*3P!wx{4?5ZyjjIFiqo z_JF&d40jML>?w8aI>`QQ=%G3di_gT#T;Y9^iY;0UJwK3Qk(jlP!oKQNY3(DoeWIs~ zheKFUDs;E5hLd+I-kzO$%tkc})6ecKT{NzTL&*h%z~txitV@FiM-piEBZ@End!Lv< z<03wF_nMU-wuwNXMUd8nvgRW?j<4EjKK*<$?}9(Pz&x(sIDVmbK`NZNub3_yQBxRi zK1fEU-M^h?Eyu{W3R9&-y#V{C^!=aQvOD~v@?`^*Jm|6>pLl>rqB}IkSDqs3i@wni zVi$9=F1gt(_(O@(O0#)7oB)z%=V| zWodTnm~}6WBLyLJyOPCS2(4WhbCfr{P5Vn2QCmuG?e~r-#r%Y`DPeAuG3XYF=>?gm zcnUfNvm)iSn5j$BE=gCDp4}xu&{+J=g7l3L-%|FA4nH5U2d@tof0%6b_?P@g5Mg~B zjty}abd2~iz=OTIFJ7ljr)<8)z~`rtWCAn~bmF8w5>;u$U0Yw64XBv-P{6|kHf!?^ zn#DUaNitxngz2sP`wdbaT%2mD?EnAD?KEy*Rqo z01k{3Ti1q=TWE~|jP^&NZ(*s6s9!T@zq*;{%9XNE&bRF_9B6+B%m{2PRpgcnWhV5+ z?Hv68?`k>|H^tG`@6!6VPnp6|UCR7>M!LBNnRi0@wu`TXVBApxCj@%r{4fC6dz^k| z9m#2aPxI1LS;Y6p=2-kb;6IR$4~X*ZV2aD>x5$G(bSpC44}GA}R<$KdGw9ek9}vQ? zL;e)hMG4w@pzbD>omQ; zXhmuU=3abn3k#;B72MoB-F!=9c?M|f)Ioe5;d=gMm{u>~xbZKfmn3<9=6x--U8Xwf z^AXd6S;-6pacDSRO_@th#U)`mF(Hdj#NN`b?|wQ) z*4X|2B}vH7Vj7;jd0)7ZL9+6)SZ+T{ulpTC8YwqSK`qS1aP7nelaL+*8*>WV(Sipi zm23yuAgk)00*|{DbV^~Gh3!*57}=V&T=jQZ~BPN2A2kyr?43 z6;W_l{{S-q+LuFf`p5!k2T?PP4c=u&$@>UhaZ07MiozH8=;2fkq)n$9z~U!ko8-=GM^1{Dig*O)T09L+E{!4!dbe z-|rm2V%-M*ZdmcVrr5VqJhaZfODuR^kW?KK*6MpqMd&W<#*Xp&0W7p?t>twc5qX-H zV?NQvjx#q<{{XVtO!CFEtXAaAv;j!b^EpFD;wlSVZKS?-ONz<4;M#6WUIF9@lyt!P zgK3bz-ez(B3Yc8@(f-+#>$yzr_Wfh&>(m ze;@fcJ^iQNyg_W5oEsX&6*C z&--&DI6b#Na!L)3ui5t^)@M{s6L@RRUq9r{&WEPEL1|FPUVDGA3W$qR))x*SK%+=U z62{GioX5Fi6{9HSa1!8uBHDL5wJ}CT91qw**L5}w`&Y~fR5u}S$;W~s95^UmrqF%{ z%e%}&My{se9y3g`gNLtG)x$B{pa$m;mNle<0Dq2+Vr>N-5$B^F6Er`R))l_RJI>sL z9HW^0l7wn2m&8DxVOGmKscvgh*rh2Z8h4p<^v`FndY8w_u8l|XAyia1vnFZWg$!_U zOXI}UHj?z4{{UuSR3l7!Au$YS%sx{t-$M14Wz2a!*?4ZQm~?f`78AQ&28OQ?lC7GuM6S`#}B$KHB1z5f6be6VQcJd+27BUp3= zyQe>BvkZ#xU1rpsm8@XLUXZM$-zDxn4_Mkd)BvbbsomP`oa9mYx{r( z*gTocw`LuePnwwNyy>g*f|?br=U2lBh*%5YAKbLE`~K_jKxQ;n4WRJ#mn{6*bf;-a zz*LyXJi6-+uK*gKm)<6A6f$+Zreb437k4m5qCbSLVObZG?$p27CVuLTmwd&y{{UU! zZjpswF1d=r&jyJC8Fd{H!8fQV|$KUe}eHq+U@^FSC665_rfXf+JFt3e{Mwpt8(lF#oTHA zzoWEJ{;8v1gs6|gbDr^6MFpXiROe0b;Mtg6Q=Ugf?JjntG8^@V)2|bnAHpAW$))@Z zG!n0_jvr(yF#*tF@TE<@=fmA5($w)5t*CX}jxM0R+XGwY688&ddLv_S?J~krfDeJ2 zbCh;gUlSf;M+slBmVuU=OUUgh6}1|Fy<@<%o$!7tT{=pwV4nr!HL~u?$(KggvAnPf za}QcrfKOg~xQ>s!)U4|twCThHe`)+5)ETJ66l=mS2z~GIE4^H?$M>{l0B0OlrSL?& z0Bq9-!3AUEim!IFJo5$Ye&t~e=L}~&Cwr9X&&7UsmdhxrM*5I-Y8|m-+8WJK-9F(0 z%Vlrw@SA{s%QELa?LR)!>TV0=VkSfinhgDtjDzO>pecT5E7-))5T-Ri=xjKC(xXww z*nO@LpukJVIFz}pzW)H2DJqZMf63R$UJ|DQWsPI~Ko-WPK1heQt!%jXH4pCbflDOd zFu+q65&K9HU*zGiUar$2t0X@o1Z&vWLBL;Rg<_z$uks4+p>0QWAfOwtVa)B#y-r>w z#%~Ks9+}ox`diK=hFINyFSM*TN04r2SK21Au^tTMK*LB$f5>ae7;hXH;`gm!Eq^T` z+QVG}cNcDu9VUz%&13AB)a4qF#K9frYQnO-O%e^zusejk*9OGNv#nxfXjzF!fcqwp z{^RUTU%6c_0T$TyM_p04aazO!ooro^z3uyj9Y^s&@fsr_(JSF9ur=5hq*?F$GV~2; zNMX95v*j%e9ZQQy{l5*Oc>zts2&NgXR^BPs^$jE|Bt{2^J#jzF8_Q2D&fr_mpVYb0 zfD0mq6F?V=@38{&kCq{wGK$+Kn@v4dw&)U`!YQWJe`#}}Bfb!*Dumwu05l_y8{A%f zm4!`Z7rL?Fivq?U!=zByQ*mBnyI#33k|-cup@^s|>RqhghAt3H#n|^QAlPtq7cLQ} z+#k3oc?ZDzy^u1vcR17c?-fe~Chp&9yt@n0!P{toSe6sS3-c@vOTx7L7!}w9+mE>{ z-1y6rj^u4E1NWG+)8SH%-#p1}ru(7S@eg4~zzn^$4wCh*M_|vq49SOn-`vE1h!n72 zy)yTa`?gs=SRmDts`xh63iu`3jHrWE_w<%1y@9>wxl~W0fcB?pdE(?c-8Ibdzz0d# zgic0v{{U%-agK>q?LNfN{?k?n!PJ$>MPI=9m8Udb>};ji(q<+$-4V$FasxMiGT?e5 zT@#bPiLYfl$|6F5R}sAqu_Egb?=(cwkf~A#^)422)DRtd)h^zriiud_-3ZWsw5~@N zafkjN*(fsA40bdl1AfLDrb)2Bgc1$?$|P;ONYHxPuG+f%zqR z%XtkTtlHv}M|u8C&*(jgos^d=d1?m&@e@ zO<9AX1)_GQ$A0rW0Z)cne&(lM1sTWU%E6&eY-Nyi*zSL?9J|V(l&kj zGQsE*4x&vG6~JiBUjZ8z!K?O}-a)V%9zOAnXT%N8=CJ~wU9~#UY1(1@YgX2L{h*~+ zxm{c0d!_y;1v&ka)nzi-02Qrkwy>S?FG&-)wzTw>n`PcxpNW`L zhI557Pp zpr-K5*4><~S8SsdV|7vO!FjdKIS!=B%KY3G zf!(ECAh+3?BKieF(Hf(@ex^seP}!}Qa^QABg%xx~UPr_fSn9*z))f+?y^(ZOp^I-pbpyBR0`h4Z4i2Xh>EZ_X z-f1yQ5VXN;pm^RIa5V1LUzQhNpRJrL3Mosn0^_yS^o588Oq6MyQ3m9&wyk7)RJ2o} z;vHU-FJoG;7|mc;XpH;RN`cYZP(>hmN8JJ; z6^T#`gfigpbbT_`Fcg)G3N1Gyzsb0xNi9i?=QIw3!v>>voICPwu8Cz zGAgt5Vy*(l3KV5D^Z1S=MOR&AIPs2zSL<~dho&2ea9K2M^crSo@1Se9E17lVQ?zfb zUCPLLX285Aha;1<)${|IgwTg$?Ma6bZRt&=&Dmkw64(o38u@?=tI>Fa3rY@{Airr{ z-y`1Z)@HO-<#l(%b%{lw&n`K6)CYJSjsW8M4{Dejdw-zQoYF z`2=Yjn|6AG{fLn&jMwl%ZNsM1PLv+%Zn%b7YVM;2B`G!ASn8D0qx$C~HBFz@FsYQu z{iY$IH&9I?tctvY{c^1osDf&};_EILL<9@GTX41EuPCIHHT(JyYCe}5vZ9Qap>Hs* zyEL!vv%7y9I;C03$Rkf@>N<8r<%+8IA8AyZbCI*}Qu{By1Mxmo#$mtY#rcV<@|of) z{_M=ALa&tklS)`6oF~Eel^xz6b?Gq+R4wg)gWfhC7i6j40NlUS6$&i57ye=%7uPlY zrFyX3vtu<*?XR7nV&R6Qnd_rnxbyp%7kASXfKMXTt{n^Asc-5DvB3dQZsQD{YcQ~w zU2C*An3EL&L6skA+8ag?B*Y4u;f31|BtUQ#slQmNa5J&`lw~=tGej1M);5tFHh937x7 z;N2zWX7{2~yZJYa+k3rwO77n_q$9@T=y*$@$A+JT6G$A@uv{-0g z3755Z3X~eHl-%zW7=^q`)>(cRNK%oA*gx5sH@aL^G!*_iz|%%{f4479nuqaJtMzYT z2)h8DWFytir`|o~#;gy$_cIr}`SilK)9sbkVQpzl{yNSw5bRv2{{Y&e7e!<$W8WCx z`x{$r*kWIk+IHZIHSLdr-KCnlM`Bp#i}jXR?Dux$Lei4^>6wmf{F{l4W3yJ zQku#}8H%9QDh9qFtKH7P52h!G{Ql*luU%n4Eq0w8&}h`G^@{LOghqqtTJU_ht$zNM z^e|qwwD>wER^(w$KyRrF(ZW%fs>o5kShGSg@o=TR=FIz>cuB{&Gn;PT`-CZN2KwHoF z#l9D&CPl5m?q21;6Avi2iz3{HL)mb`8+ufoLE^zTm{iZ_uAlKqv%v>3)vCFUcgeb9_cSGVlW66m|uS=9a*Zhgg1w}{R zyO9S$Zsk?|MRnPDz&JGp0lh8%n_`CoO0A-bk( zM0WMH;MyIa9M7TonK8(9B9D};94{T1nuBt!40f%JN%$Op8& zfsZW0(8|3=Pz@LNOP`h|FgyzBgI-dt=lBS?T+m$99~2pG(mu_%!mqqq-wHZGatiF` z!NJ;4wmWNzerbTh?x0?D<%nLa=k%r#K&bS@F?~N2{lRQAZo&_1ZWI@px@z1f@O{{* zb=|=hQ%!;D<^vK2npX7k1-?QU2xu{+ zJR*1y9|8b+CBE@V5T)_I+{8b;Kd9AFS61)27V9nQR|rHD7znq}K`BP0V4>=R_4Y>B*90-#S4?X_?5Dh_tel0EQ=|nQMnVY$067ZFoLk=?yu?$uX zJPdox#YJRn*N@8p$gUb+_k-HcXxEMdXNGEHNtVPt0jz4Ce=+%wCZW7-qtgT~NC*Ys z=xYqBXzCd?B5ttvW>8~5_nn`2$(zb)fgM6&73cq<$ppI#HoExChspqBPNU9K~c>@0cb8MryE%>;dNqJQtGgre7 zo6|47%*wP6M!o9en|hx?9>EP9jJ=!x01c)5d;$Jpr#o`A`%C>r8pF5Dqj5&7*fSFk zQHcA*Fb#}rujH6<01*n)F0zPJ=j?=ivLbszNW!;Y@KMzp#M1O%r+Om%-l!pO|cQTqe&aR61UjAdQE;rfef1s3FzEv(k}JAUF`3$5M?zI8>k zc5O3-Th&r5+h2)}krq<5X5yxgDE3^&gd6sL&C1u}cwn`UagYUxf`VHTJ)F=Hf0U?UUa=WyLC!*g~{`lGUbHN_`L& zOsYBB`=8v(ZHTg6Z>H`DuK}dNr&??_*I3+@fUul6%oS#e(^{F_0uSq%*INTs;~v52 z?I?CX364mNxWZCfwk%GIr{VJe&}C+_YxhcfA!iIac`mt{(HCM>Uf*bcs%?501Q+cN zG`lT#b@rK9tK9GXyan(_1ux*1=9s>@h*|LWo9J;<(fwtghvVr>| znzJschGH(m9#<;tsP1jte=$3)4TlF#u$+nvuIk*q`$yhADwIVuhYC26G2iJAM^qm((~5Q+^#g z#u*)l1DAp@Z+47p;-3-Ex~<}_D5v4j{%6=l^q+Vn(TBF56&y~BUa&O`()(NYjVX9A z-CweNz$^z4<8|)`IkB2W{Iw39(3=OE4dXgQ*{>p`%XCy#W4`jEPy&74xQwkad*9qd zP{~ORa<0=x>?Yw2iEa0xH+O8RH7j=25Wtc(YRL1$3qZ5`i2O&71BU9U=O>wjI~Is!?Bn8KOoGwhYcqCSzGu8aX?it#O94q3 zEv`-G2^b}ewaGsWK7eVaYWuTQ;JcQW0$8h|XW1?;D&?p5O@*rXU(6~RMt{BLT_Nmx znaw|2@<3`T-q#qSz_pmstH%S*^5ktW*NSF~0*2|3;4zIWapgC_VUrvCtx zriHzr3u0lHJwqP#E)JTu!VbE}E8)S(`S^naIr)k^6?oI}3=jZu)!wCDyD7kp^_P>( zu+@WH=^tK7Tt)Ob`;c>aqZW!)gB>Y_@1!YJuJTL+0r(`*#VtI{Del^2$!$%!?;2OO zUFzojt^-#wtT){J{Xcl3=@AXU2LaMGpn6=)>B?v*X5e5`&?`^wJ>@&WcQlwZ)(ZAC zF0U{sQP@$Tr%XkQrMIHLBtOUF@hj|p#JS8K-?2~R>c#=4v$|L28Gnn1?4vFRP-ReMfeBuO2&^+SQ!FtuYv?4>Wu(VnK(ZrgM6X7OJYpye>i~9hJ?IQPMpd4% zLp}`aykjs8skiU~UJGy+di+W&iNAC43dl5f8^B81S)#fg{{Uh(0`NSOPl4K0heNAM zKXZ8M3$Sl4O@ob;{$`@UXMN!k15v1%))THZ!8MfEuoc9ug$rB1$j4oSa@ckc?m-Qbpd zmm{C~6@k$|GiZaTm%Kd@OS_c(&F8NR2nL)|SM#YD_S;sjh!#lR`|O_P-Gx^}0`C3!)u?x~so0M1dSk6J!u{J{HRWoxeE0IFeu(dMTU ziPT^r6E5P=QNae7&N=-1OgUjZKvg;?y8KM}3rHsx1;^^zT)EX@5Hgg|4#P`)YYc<2 z?Kxq&3?FM{^BlNsR~e(NlCQFx=odMfor%*_x)Gs#&1N7aO2i9csj71scx5XYgsqqZ zLJ_1hS=2r08CdmqdZj^3?)rIg8wsqD!)74$-RJZsD+P+?qnN3jm`iNo)(B8dC~MbNYZ)=8R|BUwwuCNV{_N{(nPQRVL9^IXd;2>Co241fm-ig`&mc zz@1{Xtgk z?qIqHMaSPODxmVs@BGITHm7xeEEJVxb3hX{-M`%`CQ(%sTHEP-l8|hoK0*s>>h5v! z%NRTmg`$(8GLAjs15_I@s-q=`BLb$Lu*;;bB~qvg%n&|`o*{J>JG4rA6DviUjKA;E zqr|z=Fo^7qr5@V?Hup%_ZzG20Ql{5Z79gb9F$Fty{hP(ML!4=M?JvMr4gUWCu{HZM zVy=gN-JqsXZccfrt&@yh(n9m(kXrd5rH!mB7{LLAv=!L!mXsNkx0V3b;OPsK1(eJ# z@rVSgBGzlqeI?MWP;fc;xD{2RXf!`036xi&+xDB-EV1f6zJeis!4-u78fFNyV?1IQ z;#QAZbnSlef;#y>jbMjvzktu9Klt5altwfIa_tFk<&!++B?t$S+_ z6)J`H{{XVETB7E@Vkv`lOFPysRj|RnN43D|at*G_&un|eD~kG*`#^5n;7g!DfYdIo zr%~b#v{zaEm&Cm>E|xmKwTEb`x7d=Ftn;%Em(169e*s?PdY(G93000%5qDAKM(|v8MsKN!HW6I2m}qx zT%ngv*0OHp@dr{9GqLAy6A^gUh49{^F&JfS&~;WznOfDjc4MZN&!~g!_u2Z742fRx zkeSXp-|-iS$#Nc8Ab@0560aBY>1TmUY-;_cLe6*KjyAa;0Tyjr?L`BMI6 z*@1uGh=H_fD^iENER_d1w_P9Y-J`n3UaF~jjfvI&04fT9U+eVRTk1sPsuwT7J(C9>NGHF%n>*gRWGa$aH zoD9TdLKe<3sT{_s8O;)V&S=;V_~JMuv@|a)Ec9Lisxap>rXHFgf8hEPN(5e#(Ns0u zReV>}EP|Q|QI#?(j&5C|w&RmCw_?Y(Nt)uLp_Q#X%G^aauHddYces58@b4K7UYs6a z4w+5jFyI0&O;3?DKyP_JOwM4O4R!8s(zt=xpvuqv1h)t4z&kdk$U;?=%^5HI61?S{ z0H>T{d9C8j4DAAsdO5LAUeKf+$S{%I&oXkqaj+u@5N_fA-Z{8Yp6x;i@=`TnI zdZx+GX;q@OQ{CvY(|h!btsPNis46+sb7h0>!UHXfn`KoIRw+`0OV#q@vFNr#aw|`v zfhi$a%~p0>_+qO()?G}mXh9HIayt$9;N_T6UdU*_-Hqd;syr5n*JWCHl+M%})(AjQ zVy9Eu+|5&0&*BEL4vk=jEVriYH}i z@_>QzjlZ~wu)(fuKV!KK8UesNIwekmr?UQHXx-PE&t`F+4%~jyv77zYAMTJeJBGo- z!-+ykcKBYOC(K-JR;k$1Rw!z!!vN+}v^H#2fMdtuxAly`iKxT1PnlBX3w6i`UDCmm zEBHslF@#Y^vpuWbi&m;KgG}u~@$}GA>uGwfmHL=LYT6fnFTvH7b1!o8--?^bYwpo9 z;zR(&idVE7+pu)aekO$1HMi~inq#48)*W3FEQ1HA;pSdl8|Ms93W6^()AP}o5ofg- z9hdPDTL)q)>({xCdlKI-@(r3UF-Eb#FF@>$&DtGSbJl+=+xtPWbOp1p%NV|Hzr#(Y z(1k3g;9txpL4nx*J#UMFyfvw!GQ1(FE7Mo277>1{>S$sq63#9S=j*n|>uQa}cyK+M zz#Z-w=ymZo@FQ;g4Qs}luqRNOu6~80*t0L7biV``P#q#$?HxZz>@CMmQ?CQum=1GZ zq5jM`8;EIqr)OU9s!b8b{{VO1P&iY=XYDm#56r1m^Qnduk4&Dy>G*&{ZozV@ZKec< z-gWg2soDsonBX-c!5MG3pSio6Dz&G!lWg0RH*!n?u3gtJqAN)9LYhmx0_QROzJo@$ zw|SZUAPf44-qu#Q3qm-i!0TUYf(mVT!}k%fZLai}Z~P~@7ulSM2ZH7m)lafmm2J*t zh&Gy^#B_|o@>;R%?){e z5rHg2_&Yr*+tBnGadGrtG87F_pddIyRwGlJ#%0-09lpUeW^}LOFB6&Z20Fomqlj#v zZrN=VN9+c#PpJn`VbQPweIuB30Nl#A=2{y*<;V;lgcSb||x4nCoV+b}X_EUy%wB)&Rcz$_wne9`Io?uqa}%N5ufFw~wZPb_!RY z)wVOP;q@9w6$~Zw66DM850nR{ed(u#O>Yl$$H^%-1^3DPOuKL2`k2pYd!GA3qh)}M z$7bl<7~!tnO6orI1>L*DQs58Af7l4YtH!1GBi5?y&Fo}ajK~uU_?l@0plz>1QVQz) z&BL~`PD9Bm;8{AWmEY3T+1GbU5tY~6a|6)UqI%Y_w!wyGU!3vW&=IcJQ{$IYZcg9$ zi{Jz=CrMc1s)e2FFT5ZVwO*a22T8qz1UKa!PpG3^=xV))kxjYow(O2_7kzuKX|92T zn4li8{{U4I`9a$*{cimQGVGdnP&z}$dIF3`+BJnj2r>lPcHSgjBCeo%nvnYG7LTfm z+neqU`|jy5GWgt_I*Fd$rvOXJ_C3DQm=*jI%1)k*3{scf7xAhO?+!;U4kIN!0z9%F9Q~XW*l}S3~(qJI%%X4rp)&q!90^mMQ@DL?S>9$G&Xqi zE3JK39&+qkhogpX9cN(iXY0_^mAB#qSuzHd8Bs|uZK%_++|0o+RjfrzK}|J{wwdYe zE!I<`T^?M$;E~W#>Py@f8~*??{{RH|{{SWfBR3(Sxi1cYeF`z zz-`^7ZyRstj$uXmEkcMdx+06jgJM>(=I}O=0*bT)A|1ZdW5wzxPR-6Q?5~xxo_)t5KVHm z-1|Z0J?)$FN`uAAvxDsules*f_B%a)Xj?U(pTx(IKK}shU;|ArUV22<&$b8i9+}TZ za+0{SJymNyO)|vK;KTX{@ z@fzs2cw{1>LYuw6Xqs|C+J6yg#4%XX{{X|yKqM8SHb409h>+)3-k=q#Z|6VP&>GG| zApvvNPO}4unU=%(y39;8C&SNQuKBuT@~^aQW2z@b`5oqxJ95HvN_@E+yAm&QC;vJ4EoJ{?5G_uG+lck@$6vae-zIxcB*pB+1wioKD(HN~cYI32uY= zJ{Vaw;i~;hl^NScDbd&e08@H32J}kkdaFQ9r+TsJh0ox>xI)|R1^dUq&)UV4{(@Cj zv?X@xr@Qw(fP6t!L7pGF322B}PKfL7FW+Lk2>^uiyGF=6gLCrDy}snY`$7KhZ~sov|vUWXlHX?1^W zEmb*Hs{Y^A(@nD;_Dwj*pEF|JMEj8!5Iv74>I{XBUSG_^Wk5P7xXO~TK& zaVB@UW_1je&liUO#tihx=K4=!=5g9^D{&Ov!=d+B5C6()yksycVIBP`F$^CaAI9 zS^4zqkUe>bv6;J|(JiNDZP&C8nF4ck2C?v3BL57|AS+f5L8ebSQAT9~y? zX^W3L81f>=rK=^X>7m;WAwIrMSJU*GCt%?7s1@e!kI;7Xx#L9OF2#b9jOds zmB0RsT8mJJtv^}^<%r71+y~}SRs?hyMuL9Ue={t&1NrS0(Gt#LnTDKepSv|Olq(4P z2)G8>Y~$JMHmCz*2l3;0m{Av8{-Lzz>>JbOUD1c*XTDEqdMv5u(^ucMU7rc)f+LZS zaga``GTT|qJfDSQu`v?w1GMI2N_T-i;q)&--MZazXNQ=W zUna88M5hLSXP6EQxAnq%dKEydHQVveiH@)~!+Ng`%3Q%d%fGamLPh3i@Ap2>) zj0U-dYjlf6wXK!-a~0W!9<}`I5jLJJD^$~E8s;Q95YnxDRHcZp;pQB;H&yRCbc2jM zfdE+F*Ko8KXoe`!m2JsJTsW>!3PW)Cj*t@-Rune3@2Lwh=3vXDW*W-s{{WF0s1&m) zX>n7d{mgVT$8tI9MKt`>&HY`KI+Ib%^&hdH5wN1KOKLnJ)__-M<*DX1Eo%ARhm4*l z1yN6EL)N2n`6Gc-eQ%fh?_1*HUe2>qBeTgFm;QR8WtW2H4Z7d3e7?zPs;FVB?fD?R zk0manP_(n!zjBHeQ1_UZbawv$saqFaU!Mf65VIOq0t$8!+}bJQNzq_i{{T3dlgmNs zhh*MA^AJF6Tl3!Z#vsx^vwuLUd*=_Z^=rtNB>44ubm_n2H2C@i%l`mD7_~^;*h)ec z@Um)f+;$~60;ZHdYYI)elJ1t%9?YN=(zvhn?Gp~(Poj%H!UtvOLujw7q~2h>x=cVQ zm|ML_VOaneU=4BBU!@>Aah$g4taUMw?v~R`+jt$Q;B-%NhqT8CxuR-{so-n%QrcP@ zRx~|d#3Fydj~{7l4I9sf0LRp=_oKP5&>X>h^%YhpGM4`U6sc30fLJ`4A%NKf$Sp$; zGP)?Ft<7HwH3p&o00hGo7LO-MNCa=Q)+ir%dZE}3daK^xuq{)PU$l0he^SxW;qL}I zDJA#Av!5_W#__)dO%fDs3K;(B?J_k$Y)aNY^J=R!cUSa8UD?fYYx8qye>?vGCg1vD z=&vWw`v<^(dqJewUwM!7?hL;XNffhmeUk3#r8@*7Ae9O_o7arx@i7l&H5+jd^_hQb z=2ALa{&4}`5wD0{tJ*uk2~tSv{{SCoWVzf0dWTOwqQQ-wZ=eH2gI(jsv!fi<52GY@HbkrT< z?Ru3m*)*qdmKv-ShV9-x+ym3k6Jot|K(JoTmBXv;D^k>bfr9e|;5-Vmsx-9JxEh8t zGVVT&Gv+!&B&nK6#61Z>18-=J%}+SC*OhpfAUS5oG4nK2qbHKlY*Bu-gz*aK)xG-5 z%+JS5h%OCR17F{mPN{pFJjG=W;?WM5X%#PLx=Z_eOUMiXv$^jyA_&lnPkD#Xc=<-hPCc zqoDvN7ST^PJtfV%6clvb@$D1~2BJJ?TuYt_TlI_)2R`7GwmcDQu^msF`$bT`ap#F* zar6}~T&p9Mixh_mvl(McU@-pxIFvbrj9C?3^_o`RNp=efoEhg6JAiYCNDjkk@JkFt zsm3Jx4bN!sIZNnp8#)lu7|ttrpYTM;HF4+s#1y#_GAz0l1LPtZup%?B!#PDOuijCO z*)-S5y$A?jGo>)}h33{$3_Oj4Q8K?d=7) zuMAr$SL%g_x$_B?1=9>yf7vcpSkv$Oxc>lQyBoM^++{2WqS5Tv#Jts)Vr%#IoCB9w zt+^lAjvW(7db*Z=K)yGC(VI@v`FU>JNaMDdYQw^6UNw%ivW0zOHqPWcpFN0Wft?J> zH&LIY0j@uG3S^uQdD181Q}HPL5ua!c zzG1L}?B9gG^j6P}kqo?(>>Z!Eem9=xF6~#&7_@5f7&(Vh`xAFQlUDF@w-Jh0-C_ z)@$fimhe|u-99K5U01}o>fqr20A-~<@*z74G#y^)9P0z8F%g6Pb2Wzd;Qs3YY7Ttw za%TE5Ka=$^CY_h}K87VG2Hd=#Y0&|72A{Wd3qxYK!~V~705eD1-T@Yl7zqX0cb$L8 zhy|+q7vT1kiI!F~J_9DC%f}Ec%CLIZ)l=5}H&%jEN}kbl&}a%h;nc4{n;2sQb=#P3 zGm`>nd0l2QSX-f(Q|VmQY7>&K4)dU4&$JuW(d`1Ev3IBQ01S`Hj0^rZ@h<>xZa>|U zxHL|u66OnS-2qdW?a1=v_K7QDaM_+|=`00}_V3K0I=VfCUu{?N_xm=Ks4f91EC|?5 z#iREr4P;F;A38<^X1;cW6bro{m`V_l#&FEnR&s%r95H+{(Hy1I?)KZ$5h^*|7wy@gWgMAO5zpCUfSz^M$FpiKZGb{LIj9pO5EgMY^ zVPnFTx_k#if~JOTgv-c&w}{SHq2d!Wa(ZyY5+gNU_RS#yM#u)H*_lkv)wDFwe9Q|2 zXm0GA1VkvYc502>T9hv2$yQv-rEMMR;8|F0p?GQ&QPPMZ7QfBrzqgm0h~H0Aztmw_ zN+KKA-{d+)TxnenBEKTFK;D)uQ=)FEshDVk^;a1wvI|E?6yW+!ZigTK5swmp>|IgDvtJW(}ZYvfQ}!>Foo; z)CD+8{%#h7c)Qf$CSh-B&p+i1zdz^^D%{U6a|B?2%rVj>Jwt>3B*QlzJze4Ep$tQX ztN#E~mnPgrR5lt{;ejx`rQ3+~wB7kP^c$O=FVPwI<1nN{QF@*O25X4DD}onC996Wp z3tUV(+*&f19IG@tOKf^iuUzzf<54zlZPDn_jNO&h*Ub5uwczU=2~MbYe(D{m!BeJC z#*#+eHgx6>Eh1jn&?_S>u_>V1*V)!ML}hJxK;rIUo&d6Umk^_e&;=fa}9iIKM%0iw~fR*M%uZk~IPCMzGfNtA;ye@h)Pz&aYU6 z5qqYm+=yhVpD-_?*ZO+SMTRpmJE2_%q(eK7Tw}Xm2)@vUgZ0{H`9-#2{SoC0kc{{VK16^x{GIQv(;K&%?R1|l)N;bA(4RLquh z>A~_-C^t=GzR=Y;QE_#DFaf%??hqF(qj%DQA=;Yn*i)!I%}A)QrHX?Z3-~o#=BnZ*6;w!Br`BSSrotnXH*q z;aFo?bo#-v%ODTK0w&IGjXYr&P=t3=<_bNs)}@_nA$B)&PV2RpE;D{2#02Xzk6jnz z&@F*gQMhi;;$NXGU7&nG)rMP?T)iiTn z>8L)yP9Ui90C;ctku+YwA~H=r=$wwz_~Y#uL<&gE^MsWqR@t$xm+EV5#~Eh4>o006 zPVZN?lIW9WG*;pOweM_!rd~E|Bm=WoZdpzHrtdEB8i2O<`HvG8aXYDvai0|^2N~^W z-cZu4@H1-1+%qzHDC7K6&~taIOlo|6w|o3X1Y8bweq*YXXXkisON*+j2O0r%AZ9IK z==5T^o#?k%le@7pFxrKx4K2nfz~iZ@*@|f1Mt1aTZ1=>Z;ewd)5|J@JEB)GUaM-VP zRHvB}1wA;9XsfK$X=l1x=F3dJy|rkRFen{OFW{cihYOdbq^CsBMiSHxa4sKw6QoQ7 zJX%?ky7KfRy7`$FNz)N1%d2-tUb^DK`^sNl4q6s2PT~22hJg#W3&a>%Db@4-z*d0P z#oG8;c=%`WGb@HzU|!yGTpXq13%4*S+8YzwU#0!Q5omT=*{^nomuNGphQvm=2cZ7| zAlM9tEtuGIlN(Jn!Ae3SOuNCsxkTfb7CnsPAD=T7*fCXUzBanco1@kmA9KVnb)B*K z@evC-9dqy5_?X6EUO%jwW`|@;r*X5>N6=6_NM0@q85JFj6Zx1aB7)$1%PP)Xb>w&P zGU2oGK7BFr`fE@QwB2-_7V?l=9wfwfuZIsv`IKr1Kf3l1^+UXld^9@tiG%3%WBALg zfNvH!VU0090Wv{Wc-B56i_`5$9Dveh(z%qpq1?~6m-$icF*mW%!xkbMaz7*k3JN9Jc};)JDnM{fjUN3U#HqvBhGj@N0K^i_%mBA{4myO=lOz)M38lsDjnX^LQU z!p4PxV0No#JVEOUJ5}r)PIQ)}0oZ)Ug-oSA9hK-co8PE*m5f1u+g$l2rIO(*lK%j3 zp=%~B&ALmGT5oWB{m3XdcNs>cqJqdyu)s|wYUk3f6`Fz*PXRKibaibH?XDt$^*#=U zho*@B_hItNw=?e@jwd-pclXa;B-zc5HkoP<+b z>$i9%8WeVMcwt${al>1Ax|U@D+zC%;I_s6$OFj{Qs$;>gYiHWAf@)(CJT5Wa zJ-ZBU;_7^p@TG@a@dNgbH_DTdXts&CBB|(Q~*^8*0z&BfJ zN*OV^38LmxsD!*MVN*>K)Q1;2q*ccM0P9MDXb{yR3V%jm1r+?#DFFOS`hng{bvGZV zYg1`PxSNo6ur%=g489*>e45U?QZMNs%OkM1Ysux@mMo&XSbHuZB*?wYe1tZ&H?||> z`G{)lD~=u@1JnKE@PKBCaE_2~thvoK{{Y4PaT`|;+7Iy$&*0FV{T!O5w*z4Gl@FS+ zg07+#;J)(^{*T!(Eb@6H;S0%3U+5g0Kh!u^W{DpT(&HL@}!A zKRx?E4WPpeOxK&5l&G$sfecQX>F_2BUP>i=5N1}zoS3WWE(n81cdej-Xjr<2=h`%j z9FlyM3<(Re9pY#@A2M^)%vl+dx2Iu*VwzD;Jn-Ml8G2@pt-DHVCSBkgIt^o3uXa;p zt(r%66J`mN3A$f+($-pROZa2V3`z-wQlsl2tj@WC5zv?npYrxr- zvE+PD%xgWGPkUcz?grXBM8V;8wqgL{33r7y&g6QHn8kvdm4V9+9Z?L~mD&FQbBr4I zK(Xx9a;2DZaQJ@m!z&~E$ExJ2>`wvz0LJ6lE!Kqmyb3O4k=<- z;sT2jT&M<#q#Y00jOvkN~a5_eV_@TxTKc~2JiuM&-v*wW$JYgzqe?# z&{DG3;$`1$Ww%y5qfj^ndZcP@8TaglgICzvYFDPO#p-auOvTOFd+Z-^i%a0Hns%Hn zY6ca1;t`x;mdE2dS{{Rs+f#hPIJH$m!Wdm4P1e!=^Cx61w|C$4XCpYD-l z^7#dyBvfzyL-rz3((}1K$sQ7mxs&r7Q?0#?Lfr@-@5~PPp<4DfJD7k>DmMgAJs4%I z>cMZ``X@n*8vdcP0iaB=Jr7i#kWAyBv3#rinFg_f2M@eRlbGn4m!9`KK$^7`87 zs!i`+*_oAso&$n2j-b2$02Sh4zi=2V5w`c)n9364Vch44MI~Fs@)vz!6%*C$cK}ti z8yHL5LChVY9wiN34Nox80g-XsVE}3}>;@qWt=$rYF>;3-kMGQJk^RgdXFm zx#akMW?bpbcTdifN&b6y`7=rx+9KpsUK=lmwA%%RXI>ylj`zjhGn;>(${7xqMyBJ3 znZ=_KTyWBC@5E(lU}4htbi0@RFk`KQ%uUSGwRL9+n{abm z-U3z@v3}IQ8tuDb`6U-5JUT}cqnGokDyQH8`6l-tcBT(I^PkV4rO8=^wL911G1HIl z?$GKej3XN~W^fz3A|H|qJsU`QFC`|W&U1VUQK^YtsfpxM1dpwJfW?BeAL z1vo;>55%H?a$|OlY*v$|72YIJ`XoE+%qNWVnc7TxQJ2#2axqr$6a0EOnBz19?sNF- z728#Af6+a?30+&tSowjps_$p=JWBgk4Mvaid54N;Qa0j^9ydR?jN6yti)m__=GUVy zXjES{x8LmqFdEH|_r$Hu*f=*oDC|>kGW^mux0mqGyj5EzX8?Z^$J7b!>MU%yLj#J{ znmR@Vd4p%teYvczzON?Q~uN3vOwb+X3b=^u;8>4*GWABG?e6D@h* z8?W|0Hh@d2*@rTgj03k)1}*UKS{R(_Lj4<`>S< z?k{raK?V04dTr{lan1l~3>k!m%l&?4x`kSxi5SOCL)qRNgDTjjFQv=rj2GvV=+6{i z3B*VG{6%nc0?=SxKZ8S|31oFu{QO13So#b5{HF}aaZlLayv~3wm;1vy=ErgdH|s6* z57-_iAr;-^ffwGKMaif4_rI!HHF{x}qZ7=3$E6JrrTJ<%f@cm_n4%30<1F2G%q<)k zI)AZwd3@{r)9PbQ5e0Kr4OvDPfVUjZE%MGE58u;QjXeZ3F5jucYkg(uL){VcR+k)$ zrfF8)^-rjUsc(Wbxn27xN4JvVL4eA40XqwPdnCKk!-dAWX56%z)eHMEs67JgSq~=l?`NPX- zoiuQ43H@e`kMLi)t{L8Pzj$>F1U&?=S6^GtZ3nSa6awg6wzyvT<@X}A^QqNs{Ms{0 zDz#(um6ND))$o1iVAI^MKy@xw@-f|ipJ?u*hTR`>3_JbLw4xT&;|KE^CaOD+`xP9E z`U3d%n>>oLm^s0Aal7{~u03@O_YB`oZ8ic4v4HKXLFTVRgJiUschO+p=(*~y{) zN-Bw@`>u-a-ycq&N?B15UIKZ4aD-Xd%Fc^ZnLwI8iDb|*Ag9yX9SOk~X1pGxvVui4 zP-YxDZv!x!D%0+wy;q~{+=lE^H+n*~2d#N$`Lt3{wh_H)7~Zy_(}B^fxCZM3U&S2- zQd~9tffEWU-t<9{+Tnfy5-SB(odWHkePsa~w^dM8yk{K6wDa_m*3>y>pjq6leqwG6 z_Om-k0hBfi!ErAFXX~fW-UIe0u;=d$LLxXU_x!=#9%*Nm8S6g+J9k?BCI0{b@e8Rm zl+qg=*bo!9j$q%coPnycg_T#RbiH6nPnYU1#C9LQiF98%_J-TZxA*pAXSyZiRp+Wx zEUBxRztdDhY+61{>+J(OEZ1Q8^~W|o`}p!itX22ST(GVHUhu#7usaSSEH1!uYf*lUNgW7H&Pebk10f%ERXHN-X4OPZJacW~?*O`famJ?*} zD>I;Q7(#(EtfmgLRq}t>$FV?IY?hi`8gqC@!5%%v*vI&Nrkeoi89cRoKv#6Q&E+Lq zF4C{6zJdybtBsnzPqg3CrF|KmFDLqpODa$-0OQK#TU9FG*n>eZ>3Ms>qsZ%~UuOJ8 zdwy2b?(;i_KbWVnePI_OhV`WT&%5iH4rmQmf>XME)bjii%guGO_r)#VfjcHXx06Yz zUGd}gj^qOZ<|r`Xf3@g*OS~X1zQjT@a6wxa@x;BWM6^=3F5if`xX9Lf{w4~lyKmXw z{hlW~?JBDO00+~Yg{B}Duh#H$Z9u_$!REX_MvHATo!7MfzdpJ9s&w7%XTvIr0jljW z7cIgaT|GzA=2@Fqcy^f6rcNEtsh7o*e@1GK6EzzqP|Gq0zuVAF71`sbX;UlQ{rQKn zK&OS*CX-)E5+4c$X@+ys4idBnA*-AAj8-3P7ni#&8KrJ;d14^6Q`rly)qfE<6?t#p zqSn5MO-nSCYW&nh<&!J9yxxO+0Q}B7(}x4w|*3@tbHU7kPVA9+-k)VEIwlpewP zilXYXQ?~H!W9YExT$6pP)Ri>;R=yz%tURU`=H`07a>lB=P0UQ9e~qO=gy!vIWq~mU zb|OJ@In0j80$qNBTBHgj0Tr-{h>x7EB74q z`h3jx==m|=^ge5!(ESFnUJO*mYIq;qdwpBP z=v26C803~K(uX1Q*`z8~Xfk4yBROMh(xDDZb!&I*2%gOXALp13D6xt(v->b&I`1xf zLBSw|g`KhTGVC~h$I+y0Y3u(09=0TFt*)v&ind-2-)J0lz^-+yd`wnbBz0)}YE(H% zx=ZTc)CmWXnt7Ojyh3hP^T@@hgv7@f8C){uexe3*v}#+Bewb02*Xe4$!{{Z@q~>3HNAWe85?ifp+T@9sx172$Xae5yWcg-R zs}_-yekDphy=}LIoUKu7^2L5=SEI5l=<_~Kog%{%Bcm1+tT!}!`q6Iy<8XT1YhCP9 zlZADHRy3$K&Smae&OSk{_jf*mP0LPApLm2cc0*aNj_KA7>I=3}kQ?&t@DSH-CE58L z{{WE3X>ilg`VD6BbyR1B(SfEs4k6j}rINzy)^MBpT~nDtB{a;9*Q(xB4}gh=X*QIb zF5b3iIh27~#jiJ)f@>-?i;M!muy+Q_?TQRZM%0Ns6HUE zZxP-TiDOdUClS`7ng?3f_88GkdU>OKZ#HFd6|mE9n28z|aYDMIUqG1HL#Oi58eag{ zKsbk}HF9ZxA4toy><`KIf#yV3bSL4`WZ+w}Z1XhIOpV(rDCXV&gznI?K?WqB0Lavr(RK;W8n!kx{8agJ7{lm<{p==c6?0nzTy8H$4^#ZU`SC$`$ zMS}q~qw4R19-1>Nn_{{UBDpk7CuU{uP#vw=>mP@!GSF~7duXGjBY|vekFyjFfrps; zOnhq2%|qJYTAg8v>3_5}#~Qizj0?q6T@Ty}ZI)U%TL^$O2tB0H`HdQ3ys5Rs^F_3y zw}f4;qW#T&@XpI3u=vq|X*mb{UxB#P-~h`%mUhgj zl_^AO5Ii-LxeZk`0sjDB64d^oUWfF6005vi`fnGqjTwO~>&dzA>)Rhkd(NKTqY*6L zi!W&Un#|g@{9;U;TGa6{Pn53BBP>lUzoOoqXi6DC%WrU6I-Y*+3Z73p+jeh$TLqP;F`A8Z)JVp4!~W?FYnr3 zA;`Af*WiAdJaClMSCYu>*Lht|V8hwoBS;?ap)-42)u8iCekBRIO$Vwq@yFOeqKqDh z1VJ1lGn?&mb?$XaM5z>8GQy4y=#&(zy`Z7caa%Zmr86M#5sv$yR6 z)__@XJyrT&r%>p-HTOQxpp?#1f?Jb9!>Mqiu&GsQ)@|#|DHlSEnU0VAeqE(UP1T#` z`HH&NF8loYqb5?ZxbB55?~l8*AamT2SY5)R94BbK$)?csP-*J&Lutt}92nLC))vCe zBdkVH%Uk!Hwl#lzLsPQL;f(EFprxEQqQyDl7k4(TW2VVkO3qQ2YijH`m!-#-Y5PkC zg4%;m$Fw_(rB0#yHR2_5E^Ruyk3_7+kkSJoOFpsZ~?SX)qoX+S90VU)H?IAmfby^ zd6lL*up>5wFJmvg`rfCJ-mCPvc4(Ct>zX_}M@<=L8=u_GFIi3oJx>zjucW5}l)`HC z74_{ec{@PA154GJd0AT5ywg~#xOD3rR1_70_j4?m1`J+9D!ud=oE;@y=4&O>tsema zq^-4FHJ0DJpg|g5SF>u>Wkr1}-7MFaUf)QqWV|ybqjJLOtCNnfYZTe$hhE31(>8!> z&-Id$Zj^d@8oI0pEF1?fSL(y9`Jo0_M_=)BiicONrlO2@`TqdhDBt2XyzB1?J_Tg^OGY*#^ua+<@SjGO*ur46H?xqLw0gywta z;t@dhN`6)Lnf@_q1#MLuj&`O`@VJmT3 zwCY6i4q|knfZ`5uF6FDu2iH-UZ|^jVRO>aANlKjxd*AVX@xIh=j!&4@auYox(m@wC zbNuTGsPGWINZdlRn$`j2{@!XpaZbfOTD!ke=#9#~N;fYsE$w1$GAx2unMOM+(&8W@ zVHkjvjgJhWA!XnEX)2N{{{U>=`ux-!MN z>lgWnq%?dto$B;PzU?0K7QR`(g5MEgINQ6S_0hRv0J5B`L*nqmsC+%MhGA12s&%unAwCb?+|G@dVg-W%_{hLMntY(o>-U)?YluxphIJtzuK~6Nx{{Ss7XeKS&xgS81o&D1cs5Q1yz9n>(mWLOh z!{TBqUDS2H(2qd+&Q7E49Y?G9cfXF)V7|ub>214E@>5uT0Go)q|jvfuZ9Ad3&Q55jv!v+|;c=4;JUbdG<&zlhrI zm@ZGcRgJOg{{Z7rn;II}r|`ju3lm4vHt-Hpp$Z}!TcY#Vq`hACzXum>=OW?CwP!6% zVq7M-f1iYasD`))ZJ%jis+OG(5~a8qT35us!{$(ZxYj!}B*XcKcr-d);Eh_Vv>sg}W-10zhFdM0LTYA?KmUi^74w2h_jivC^%15(k^r-IRb6Lz)$^QUl*3epQ!2af0 zG_kjNz_>447FrQ_`nNhiPlOqF|5P2*V|aJKs=nT5IrrZ=Hr)f=5_SP`vyiOTzi zTEO5peyZK$3G%YGwNo&GuLS$lzI;9WXUMWvs_!xl{{RnS5zD4^NlMH640xx%X#P3J zgZb&+BD@XKs^H#fq{YRp%ry0lJzulpF?ylpUj>RaOvrPe@9tyM%*%-Vv-p}N*j`mn zyuCf)m?up8T%q`%(haZTCpWwLK^8BM>L294Q~N(i{&J)Jqv4#L>V4w<`La8lXvfw( z1S{iowpx9{xH>}KhL+G>s=eaFDO+J%FvcP2f2Ao9lDF^jc`*vsQhMK}^E?cWuEPRT zYza%F!|@#R62L*iBb3vz^AxoWNCq@!rZ$~R^F8KJ0HEzVYCd6XyFpz%IQD}RKk?n- z8I!Ba`@Fb2)+fZ5$*VtkUf>gD-)XeT?;pg>Y(?JTd%!wB#wNbQ+5Z6MKq7728~ByH z(GjWvGq#XOA7hS}zg^;+P=3!;#1HMH3+?wu#43n%AU2Z|vLD~2GelU{rLjfZFL|GY z->bQHAAg8AVAa#zqYge`Z+3h^O;;!Nw?oSb5MU@JUQ{y-6#$8UXpMZu?lU=<`zQMd zZ?Qk6{k)+>(*QO3h|_vi?`(F1yS>?_&`~i=z$r{bIEONUP2;jOV5Jz)L8eG8<#o3| z9`c!M>H7~a*@Yvk>i2p4K-xF~`$4rH^Y@Cthk}%KVpEfQb=~i*rR2mGz*Z67G{h-1 z{2q$RVW8_{q)kCG^Zh}6Xylr%geV;eLkAP1W6r7ZGHrhmudj#F7%E*bWNQxcs0vMQ z8Jx)3gswy))1!spSLlG|xgOD2yosQ1^E3zu>a>0(L`V@ffAY7|)S4RVhv8Bk1J8|N zoVS*1tM~5>R=7SFgxV}=yQ)(%9k_7_lEx9Rg{?M>rf(XTGclik_34D0=gu`N+;4`+D%<%48}@M<9q`_9cJTudZKL)-Xz+uT zbP28i4g2`Om*I^IE3gv1?Rc*~hLq7d(0W~K4$>xLSMxlGXw<16w|P(epue02I-x|YTwj)KbdD;1)s?5!A&COvxC=E zyNcnwYjxA4G6y&4F9z;mr1Smp9W8@H3Z8$`c!Bm9qIMg41hJL{*O{x)j-HME9UrUt zTqn-{ewF#(ccO~OK7l5OdGViT(3|`7>$KH5nh!?R-9H!IHU9v& zn!TU1J_#@AaL>G-oS*;N01N{G00IC50000G^2#UzNCe~0JX6m+^G^r^Pc-AmJo3Oe z^T99yf-FG9Ebz}fQ%V2<4J@-v954(RFb*_A2R!fy1hc~+^2r?Hi43BO6!Xdq;=&}- z2ON@z05ORS(uXuq4G1DnEYrh0utNlr!zfeFJm7&aLP;pYj~F8fJQB|+Vg)SWizG8f zG{MafxoeZ5DBohxTVhR~E&ouJKBOs0};Q}0^i7#FWBmxE`0Lc(_ z#G7!B2tj}p!Obuek392jTgFQ~^NJvoKa4_y7i1bx(+eo^%{)Oz2muT%^MgE7%N#M1 zS>p{XaD@d1L?A()IIm7LvOpB0$UNgq7*mEkFvKj;#WbQ0M3YGnW(5R-LNG8uG|~zf zV}%7H&OGu79Kk^>lM4XjjV!O&6fq%SGEW5JMK}V+7$wXJ5KVA!&O8uJEP=rwz`__) zPc+~PJQK?RaYraJNdZzvL^nfRqRlwqM<@ad81TwC^1(O)&m;rJ0IH1dQMTt+0LfFOVX1h5Z0vd<7gL?!kA065Wt2!l*eBL)~!PCX*PSWw60 zGKV0*NeJRXB$7i2g#_gJTxCsui?hfSw9GJP?hQ}_DT9}wF$O8X%p@^~Fd)ptrn2hx zRmg0EG-FnwF~`Qi(J;aoaa{li0R~tgjx?Z8H2rI+M!Px3&Pj1aL(1Omtug2@!nj}0N4io&E6 z@L{kq2`~r9Afq;*fyW?&LmUSTC~-;*#!WSXkr0EG>p>0=F#!;<17xEWKw%XWGeHRP z$~0il0mIP=K-O?xLI}f`c+lEZ5K{2w(rn$Mh|B17l7iTi064RjZRZ#EXUEvW8OXNF z)K9}38Urw}UY^28$Ag3rl8OoNO-NxKabb!H2!?=E#VEi!crvXhpaFuH*Y`O4G!=v( zMgX)gaw@qxM9XPuFf=Z9rD+=th##MtjbKI zaCo1sP{bcRGmZVUKpmhA0OJRMWeRH!Z=K&VZG$r%#mFoWp-T}#G~kZ~xl3p?q`!T$2_5dJG}nN zqDKRfo0KzmH1NbsL30pO!6+gE*KWrM&_EP3&p2k+STKViQP${^NgUVDEP==ur-CRV z3_P3InDNIPF_1Xp-W+Po5C?ih{qV#GtS`6|{o|a2Ih7L$G{{S@e$2hW&tJseP#g07j4?N?>G*TG5 zcE+tAF2+Ywe0!iH)6F~)4?OXOdY6k7BZ~}COFW*|!60lCRBVC}aHo^c@5VxwbHyyv z%M=6Z>jR7!@`xybO5DPro6GSu(m8NGFlO8CK;uVzvVsuskIj<|2*D35KmrVB4?N%^ zziy2I5r7p59e(ScEK*7=63sWJhZ2!hAo0r#1HlyY$~u}4Tn8{9@_p`=bHH=W7{b6b z6TxRrQe!_PF~T!W+m4szXVAQDVrz&v6_3<8Nf^3FYTI-DRu1oOrKLXs~> zDI~%@NvePV@Ch`)N+1$ID6j5#5`%ac#~cICJcGy_@%MlM$bkk2KmpGH^S}V`2Ox3J zAr1&UgTS2s!~i4_0RRF50|5a60RaF50RR910RRyYAs{d@K|oPqP;haf!T;I-2mu2D z0Y4D`0LOvx61DmUjHoRzmG}iVOAY%S@AS~XaY1N^)A&Ikr=7PBb;H~no`=7QJWqis z^K!ahWn4H`57;T>AEbI1bU(Vd)Jz|SzbMpOcwVLV1?H3fJqf7i);z_3#r~tGTn3o7 z$No6`5}sH10KPy$zrk7}Dt{Q%*uT&al|HcE&Q(0>GkUHFPso10N4_hg_9ZnRFsY*t z8sdG$@FN1?t}GYW=trfFpu-5Y2=Nxhz9)}B(>-|&br4z++RX*SusFQe5w1TchXzgu z;qZc#qIHL3{NNI`eB9J}VEq38Ak%RxOl~Y2xv_8&Ust5^kl*O}p9~fZ*?+t|>wgf{ zAX1Un;tZH`s3GJ0fY9)Osxx}2dHFtH5-M(1#D<%PcPdm$;pbU2#ME%-@_(#foiVSGU6E?Ss;A;1@Tb&p8H zrN)PVyhn{J8{`^)?F9D`w&V1OAx7eq_Dlt{#w7`lQG~i6T>fCkkC_|PgS21tbwi~_>VhsDM5k<*!mG{>bjnWG*J|n>QTFj z+s}*`@>f5dBHVlI6q{lvyuYYyk1OZ$UqYtYdzUYmv?j;SO@IQw^tf8@DyXHj8qcwZQmnweph!t<@u z6cGO6vyX^kME4&|RsnG7+_BT@4KR{@Ff|vk*<@Ol?25G#nuATm8}<d>4F)2os;p7i6+{%&quA|dkYc_|l*)^05e}K`eV9pCkQ{vu6um^O8>k@b zsAs0&r>(q$P-+`RF2-2IcHlQ;7e*@65>#2X3o2AP!QeH_iMX&W*IlJ?8ukR)4Pgj&O@GB&}_FP>>{eldu?mi$~ ztgLmcyABUxK4QhP*eIvI@H(El)WFr^E!U142mt~C0Y4D`0M7#bl=z9n zC3>5A3vk5z{&3W>%xNpUJ=X?5=b!ae{Ng^4xRswH=po1RXX_QWABl|)W-QKp^&5Nb&3av25aAJn zyyAVh@W*~U4t7jBRlt=BW`1@%$4~jIUPnVQTQGH^53pPc>$!f1Otdke)LW0_dh5FM zcALyzjy7Fysci%yp)aT#2=*Ci@w?{Bb{j@h_GPBJTGCv zp~MbqJuBKY+*@@G4vUw#m#s$Ovo8~u65dFoJ~vuNw&lfybx58_!OMu1jxELrVT2~v%nN_MB zM^klo1kA0u*?X-%&#-R`;ygMIC6#mWiu%WZM;lMnD1t{l7xGc6>;rWc+jgBqVI5WR z5m*&6=rhc#XzK$k!d072qgPc-y3)72oFwCjaIN>QNa6?_$G9&?GbF8V!CDPO{MO~% zRWe)LaicKN@4uRgYB4n#!#-Dd#uE1e;$9_bTyJ_z!Gja;f6IiZ7pX+$<{^oA45b)` zHX7m2NucN}ur4`+THcik^2B_XNQs>i@g5lJY#NSwu4W~5;MV2JeVnC`i$MbBQe_1Z zZ%XhmmmYf7_}h9Awv00>yoA5l6`dr0O!=3a-k>LHW}x9m4@(O*r!pW^=j`RYTMMlkwo_dl=J^YojZiK+BCW|5=Q{Hvy1OAb3I_ojet+8|R${XdFtP>+HJ+I;Ygw{*xIHaiY7qIc@X&wg1UtTh0=={yT~xdymg5Hr z+*INQOm#C=FWfWy9L*p0GdwU5b^HS0SI`>M`<9~#v#DNe$?xdX-|M%LajRhZ=`cNEUHfDQ?3(l@86$`iltisUYFrUbfbr8Az zejejVQO1+ilT`Bfc*MxL9zoZE{7R?zyF!k55QbnyEnUp){@{sthy(F0g@(k3c2=my zTtxcZ1=Ol@2)ZJK8TXHwb~C*H07492B2&l;VgU@S{fxH&^a!uTP{`_;4*+GoW;12A zD>au|DS$^hI54`XIC59C%f$1MNC)JYOUP`gfk!2{`HjkAKtD6GY7l*nADG>-+}kya zE$|V_xn=ks--uPn!%+3AxrZMBZ*E76W=E8Bb7Nwj;L?!?s3>2WhiQmPEo%ik$L=jq zp?@qzpbd#kDoez_6D`WUW-E0XwJIFX%s+ z!AqL^O0o$@hEPQXAvJ)0W$#r^{+A5u3e2`N#BO;-2D@MCQ2>7-rq;V2$U-c~3*+W3 ziBjjc{zHv(S3SHx`yZQt)%`oTSAd)71B&_s$U73NC~9ACGRui!R{MrH7}bnTIbL8kv{h|uXYc_ zZpL}A<%s_PTe*{v9LqpWKrX@2c6QPys^C-gLPWL-Et))>#-gLV8_)o;$$|{y5fFva zqkhgvfFgJ?w@as%e9X}ZT0666op&zaErB|Gd5QECXNZ|RT&*e`o*$*3#W^6~@V%OW zsDybiOU8ty{yjuk6hzb(t?4re$6rkY$I_;}K|7fv!}G)zcEoEX08c-lWBF3osf{+J z-)U}WaUKlTS# z3ZvEn{9Mj_VpkUq-%8=yit}IwnlD=Q7oY>I_V@s;S}aOaIxX!rcl4g@!Bq5la>V9{ z%cno667JvvGBz|X6E z?i2BkDClx{kE;eLu6aCMY&|V6$&bu&(>O=?VkSaRHTXQ9nP4p2=M9h^a?p4a3;6Rm zK;FJwp;#R0>&a=+Xxp493?*U|U83 zfE;DXu4+42L1z3hJ2LYsY63E@Pg%?Qi<02NRJ{2Msldd*9k^n(b4$Tf&JmoeRcJ+U zsoW_2T}IF&y{zj96iebzxNW~2z6;ynhS@LaToFSBLhm&!r17vhdsfx$lmuZx2rm)y zDp5r?{{Tb`2owaRAdcD=FIwteR_@Tb{kQQhN}zC~4ZX~XqeQLI7~0WuT>f9g@BV}* zrU;~ww(PO4ehW5TR}lNhCjxWFC)9KNlQ6T)r>Lc3X^YJg%Ce?rH0k}#FYg*atSM%+ zuQMFcf(u?4IgkUYr2I0me0>a`O52u^lI?KqmIA=_{@3x(L!sN$&7Ma1I{I@G%s}Nt zyHJ@x9kA!R&QcEizgIJ>Tuks`yJK&!qx?L5B`%YTi7U8-v@zlt3JNIH0$gZ62sQQ{ z#c#1J`sMUv+^7<`5p8Yn+$ZwfKokJ+9n`e6LxIcS%f-t>MWC)Q+S>pt(V8&mGHZ7D zw9tkKnSyYoJB_7fP$d8w` zrPrB*4gqFr>d>LWCz(%snRT9&kwVM=04%YX=l=k9Vif@sV+HgN@S%lXCx521XDvY+ z9$qH{K;N0#mONuo({x|ZU#eAXo&=UZh8>&C52SheAq|bn&kr12dQ)xJpWv(jEm=XE zX*qZGW3XZsjI_F9_Ff9dnUY1qRUJYwpEBu5r0)X9BZSdP1oCH;y%3}WU za-umM=lf{!3%25ZF^m2p$QG+WcNO`!h2JOt0HhcBZ{ti(_ZLG1O`XM|dWOd7@=C7D zz@OZi{<9K^cm0RV9>P^z0WD#7ul+wnc^Z{k9z8?+`_Di55l;{bc zFpY_l)&Xtq^T-pF(N$XPIQuT(Jd@G9cz9j2~we4%&G*o@)kvYv|-jk(oD5 zO<7e9eJp5H*>ajU6Y9(|HJ|DT0H_bEE2W6+*MBb#T}giid^>Y2;*QyDAh^y zGGlWFU(_IgHxdO;hdp zGMXqGP|fw*BIvQXR|=&Ir#ctT540}Av{?MZ@@2{>*Ukp?3dM7l{?dT{U<_@GS3zs= zK~A>Mv=8D3#5Gx2*K8hO8YoM7Ah6YUP5%(mRE^BWFwjy9^w zx^VvBp)v&!+B*_eSn>3z{KvDo!aI}|2FXFwhAO4sH4xC9{X;ig<5^~EUG_i0Omg3D zSE053(pudRQ`_L+H~@fyxJ}T-GPBb-CEB;$aSO;*Mx4j!7wRmOyb`kKh(P|)0dWqL zN|W+owTQi?=Avu|N7MqK4p^gh(jMzyFsojhy@gxSu&a%9v7jCfF5!Ry!>L5xJdg3Z zo9D6arVDD`i)C{}-q5l4w`@~1g3_wY<&^UzwvmA{_gPQjm(uqH2ZAn$8XyC;+Flm? zKyZfa11)DsJrK+kr4R!9YOUqAG%(uSG276D!oN_%u8?8(<|k^|-BQkITMR@3Ade9x zM`saKjs<^ujKt1usZd4f?w+2{A84tAHkWwlciqCx28C${7YDR26wnVGL`T$TtTf&B zqmOYChEooXo@jLvYCT1}!E;e(M4Bg&l%ogOKM*RW`Y8oc~DJpTX$s0g)* zal49C%fE==^BC2GUrQ$$5|rA_lE(`YpE3$$s6^GoY73fZFa4jOrOqk$1iLfhSlqRl z#ogvw_CoQ=`G?habpf%Ua;zD_0NJ$he%$m2(CA2V)sZ2IMVv)g9KLahRUrBT>RK<$ zG(E5A<(57HrWogk>I1CBR6I*aDzoF`%P$>$m(QP4gB2rRLs@jxUJGzU79eᣞ` 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 DUz-Xy literal 0 HcmV?d00001 diff --git a/fish/config.fish b/fish/config.fish new file mode 100644 index 0000000..6208f25 --- /dev/null +++ b/fish/config.fish @@ -0,0 +1,15 @@ +if status is-interactive + # Commands to run in interactive sessions can go here +end + +function fish_greeting + set_color --bold magenta + echo "₊˚✧ 𝔀𝓮𝓵𝓬𝓸𝓶𝓮 𝓽𝓸 𝓯𝓲𝓼𝓱 ✧˚₊" + set_color --dim magenta + echo -n "♡ " + set_color --italic white + echo -n "\"Something tells me everything is not going to be fine.\" " + set_color --dim magenta + echo "- Twilight Sparkle ♡" + set_color normal +end diff --git a/fish/fish_variables b/fish/fish_variables new file mode 100644 index 0000000..e09f136 --- /dev/null +++ b/fish/fish_variables @@ -0,0 +1,32 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR __fish_initialized:3800 +SETUVAR fish_color_autosuggestion:brblack +SETUVAR fish_color_cancel:\x2dr +SETUVAR fish_color_command:blue +SETUVAR fish_color_comment:red +SETUVAR fish_color_cwd:green +SETUVAR fish_color_cwd_root:red +SETUVAR fish_color_end:green +SETUVAR fish_color_error:brred +SETUVAR fish_color_escape:brcyan +SETUVAR fish_color_history_current:\x2d\x2dbold +SETUVAR fish_color_host:normal +SETUVAR fish_color_host_remote:yellow +SETUVAR fish_color_normal:normal +SETUVAR fish_color_operator:brcyan +SETUVAR fish_color_param:cyan +SETUVAR fish_color_quote:yellow +SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold +SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_status:red +SETUVAR fish_color_user:brgreen +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_key_bindings:fish_default_key_bindings +SETUVAR fish_pager_color_completion:normal +SETUVAR fish_pager_color_description:yellow\x1e\x2di +SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline +SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan +SETUVAR fish_pager_color_selected_background:\x2dr +SETUVAR fish_user_paths:/home/lusia/\x2ecargo/bin/ diff --git a/fish/functions/hm-switch.fish b/fish/functions/hm-switch.fish new file mode 100644 index 0000000..2e7c5c6 --- /dev/null +++ b/fish/functions/hm-switch.fish @@ -0,0 +1,4 @@ +function hm-switch --wraps='nix flake update --flake ~/.config/home-manager && nh home switch ~/.config/home-manager' --wraps='nh home switch ~/.config/home-manager' --description 'alias hm-switch=nh home switch ~/.config/home-manager' + nh home switch ~/.config/home-manager $argv + +end diff --git a/fish/functions/hm-update.fish b/fish/functions/hm-update.fish new file mode 100644 index 0000000..43a418f --- /dev/null +++ b/fish/functions/hm-update.fish @@ -0,0 +1,4 @@ +function hm-update --wraps='nix flake update --flake ~/.config/home-manager && nh home switch ~/.config/home-manager' --description 'alias hm-update=nix flake update --flake ~/.config/home-manager && nh home switch ~/.config/home-manager' + nix flake update --flake ~/.config/home-manager && nh home switch ~/.config/home-manager $argv + +end diff --git a/fish/functions/os-switch.fish b/fish/functions/os-switch.fish new file mode 100644 index 0000000..bf81dc6 --- /dev/null +++ b/fish/functions/os-switch.fish @@ -0,0 +1,3 @@ +function os-switch --wraps='nh os switch /home/lusia/.config/nixos' --description 'alias os-switch=nh os switch /home/lusia/.config/nixos' + nh os switch /home/lusia/.config/nixos $argv +end diff --git a/fish/functions/os-update.fish b/fish/functions/os-update.fish new file mode 100644 index 0000000..480bbaa --- /dev/null +++ b/fish/functions/os-update.fish @@ -0,0 +1,3 @@ +function os-update --wraps='sudo nix flake update --flake /home/lusia/.config/nixos && nh os switch /home/lusia/.config/nixos' --description 'alias os-update=sudo nix flake update --flake /home/lusia/.config/nixos && nh os switch /home/lusia/.config/nixos' + sudo nix flake update --flake /home/lusia/.config/nixos && nh os switch /home/lusia/.config/nixos $argv +end diff --git a/fish/functions/wl.fish b/fish/functions/wl.fish new file mode 100644 index 0000000..3d64209 --- /dev/null +++ b/fish/functions/wl.fish @@ -0,0 +1,4 @@ +function wl --wraps='bash sync-colors.sh' --wraps='bash /home/lusia/Downloads/sync-colors.sh' --description 'alias wl=bash /home/lusia/Downloads/sync-colors.sh' + bash /home/lusia/Downloads/sync-colors.sh $argv + +end diff --git a/home-manager/flake.lock b/home-manager/flake.lock new file mode 100644 index 0000000..589d5ad --- /dev/null +++ b/home-manager/flake.lock @@ -0,0 +1,407 @@ +{ + "nodes": { + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1755819240, + "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1754405784, + "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1760703920, + "narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "d646af9b7d14bff08824538164af99d0c521b185", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1732806396, + "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + } + }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1764724327, + "narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1763759067, + "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1731966426, + "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "106af9e2f715e2d828df706c386a685698f3223b", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, + "gnome-shell": { + "flake": false, + "locked": { + "host": "gitlab.gnome.org", + "lastModified": 1764524476, + "narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22", + "type": "gitlab" + }, + "original": { + "host": "gitlab.gnome.org", + "owner": "GNOME", + "ref": "gnome-49", + "repo": "gnome-shell", + "type": "gitlab" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1765461410, + "narHash": "sha256-AVZ1y5tfTGqf5zJx6uY52KHN2pP9gGF9RMQ3meBVKIg=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "7b34e428f31ce52baabda53e52bf14002e1c0625", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1765186076, + "narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "noctalia": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1765420707, + "narHash": "sha256-lX0WxWosQbm3DrZhscVTiLLpJcoZvaQaZoP+eNt75wE=", + "owner": "noctalia-dev", + "repo": "noctalia-shell", + "rev": "298b2f5c794d4641cde21cf20422224bf8a60f99", + "type": "github" + }, + "original": { + "owner": "noctalia-dev", + "repo": "noctalia-shell", + "type": "github" + } + }, + "nur": { + "inputs": { + "flake-parts": [ + "stylix", + "flake-parts" + ], + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1764773531, + "narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=", + "owner": "nix-community", + "repo": "NUR", + "rev": "1d9616689e98beded059ad0384b9951e967a17fa", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, + "quickshell": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1764663772, + "narHash": "sha256-sHqLmm0wAt3PC4vczJeBozI1/f4rv9yp3IjkClHDXDs=", + "owner": "outfoxxed", + "repo": "quickshell", + "rev": "26531fc46ef17e9365b03770edd3fb9206fcb460", + "type": "github" + }, + "original": { + "owner": "outfoxxed", + "repo": "quickshell", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "nixpkgs": "nixpkgs", + "noctalia": "noctalia", + "quickshell": "quickshell", + "rust-overlay": "rust-overlay", + "stylix": "stylix" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1765465581, + "narHash": "sha256-fCXT0aZXmTalM3NPCTedVs9xb0egBG5BOZkcrYo5PGE=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "99cc5667eece98bb35dcf35f7e511031a8b7a125", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-helix": "base16-helix", + "base16-vim": "base16-vim", + "firefox-gnome-theme": "firefox-gnome-theme", + "flake-parts": "flake-parts", + "gnome-shell": "gnome-shell", + "nixpkgs": [ + "nixpkgs" + ], + "nur": "nur", + "systems": "systems", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1765386911, + "narHash": "sha256-YLjQpnTZCMjCho7ZDs5O1yFVw+fDlXq4lSJDuLWHHeA=", + "owner": "nix-community", + "repo": "stylix", + "rev": "cb6bbed75eaca21deb8950c2ec0036ae5cde18ca", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "stylix", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "tinted-foot": { + "flake": false, + "locked": { + "lastModified": 1726913040, + "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1735730497, + "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "type": "github" + } + }, + "tinted-schemes": { + "flake": false, + "locked": { + "lastModified": 1763914658, + "narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1764465359, + "narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "edf89a780e239263cc691a987721f786ddc4f6aa", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1764464512, + "narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/home-manager/flake.nix b/home-manager/flake.nix new file mode 100644 index 0000000..d951398 --- /dev/null +++ b/home-manager/flake.nix @@ -0,0 +1,50 @@ +{ + description = "Home Manager configuration"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + quickshell = { + url = "github:outfoxxed/quickshell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + noctalia = { + url = "github:noctalia-dev/noctalia-shell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + rust-overlay = { + url = "github:oxalica/rust-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + stylix = { + url = "github:nix-community/stylix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { nixpkgs, home-manager, rust-overlay, stylix, ... }@inputs: { + homeConfigurations.lusia = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages.x86_64-linux; + + modules = [ + stylix.homeModules.stylix + ./noctalia.nix + ./home.nix + ({ pkgs, ... }: { + nixpkgs.overlays = [ rust-overlay.overlays.default ]; + home.packages = [ pkgs.rustup ]; + }) + ]; + + extraSpecialArgs = { inherit inputs; }; + }; + }; +} diff --git a/home-manager/home.nix b/home-manager/home.nix new file mode 100644 index 0000000..8b177be --- /dev/null +++ b/home-manager/home.nix @@ -0,0 +1,211 @@ +{ config, pkgs, inputs, ... }: + +{ + home.username = "lusia"; + home.homeDirectory = "/home/lusia"; + home.stateVersion = "24.11"; + + nixpkgs.config.allowUnfree = true; + + home.packages = with pkgs; [ + niri + btop + ripgrep + firefox-bin + claude-code + yazi + fastfetch + pywalfox-native + nautilus + loupe + gnome-text-editor + gnome-calculator + evince + vlc + p7zip + unzip + zip + unrar + file-roller + morewaita-icon-theme + codex + neovim + cargo-cross + filezilla + swayidle + python314 + sshpass + dua + nh + nmap + lazygit + mpv + libreoffice-fresh + qbittorrent + gimp + mdcat + htop + vscode.fhs + blender + yt-dlp + ffmpeg + tor-browser + kdePackages.kleopatra + monero-gui + gnupg + pinentry-qt + libheif + exiftool + gnome-network-displays + dconf + jq + pywal + fd + openai-whisper + gparted + swww + tectonic + zathura + entr + waifu2x-converter-cpp + gnome-software + mission-center + kanshi + + # Wrap PrismLauncher to fix Minecraft GLFW Wayland issues + (pkgs.symlinkJoin { + name = "prismlauncher"; + paths = [ pkgs.prismlauncher ]; + buildInputs = [ pkgs.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/prismlauncher \ + --set SDL_VIDEODRIVER "x11" + ''; + }) + + # Wrap Krita to work with XWayland (Krita doesn't support native Wayland) + (pkgs.symlinkJoin { + name = "krita"; + paths = [ pkgs.krita ]; + buildInputs = [ pkgs.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/krita \ + --set DISPLAY ":0" \ + --set QT_AUTO_SCREEN_SCALE_FACTOR "0" \ + --set QT_SCALE_FACTOR "2" \ + --set QT_FONT_DPI "96" + ''; + }) + ]; + + # Set dark mode and Nautilus preferences + dconf = { + enable = true; + settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + "org/gnome/nautilus/preferences" = { + show-image-thumbnails = "always"; + }; + }; + }; + # Set morewaita as the default icon theme + gtk = { + enable = true; + + iconTheme = { + name = "MoreWaita"; + package = pkgs.morewaita-icon-theme; + }; + + # Stylix manages theme, commenting out manual config + # theme = { + # name = "Adwaita-dark"; + # package = pkgs.gnome-themes-extra; + # }; + + cursorTheme = { + name = "Adwaita"; + package = pkgs.adwaita-icon-theme; + }; + + # Force dark mode preference for GTK3 + gtk3.extraConfig = { + gtk-application-prefer-dark-theme = 1; + }; + + # Force dark mode preference for GTK4 + gtk4.extraConfig = { + gtk-application-prefer-dark-theme = 1; + }; + }; + + home.pointerCursor = { + name = "Adwaita"; + package = pkgs.adwaita-icon-theme; + size = 24; + gtk.enable = true; + x11 = { + enable = true; + defaultCursor = "Adwaita"; + }; + }; + + qt = { + enable = true; + platformTheme.name = "adwaita"; + style = { + name = "adwaita-dark"; + }; + }; + + # Enable and configure git + programs.git = { + enable = true; + settings = { + user.name = "Lukrecja"; + user.email = "lusiaaa425@gmail.com"; + credential.helper = "store"; + }; + }; + + # Configure GPG agent with pinentry + services.gpg-agent = { + enable = true; + pinentry.package = pkgs.pinentry-qt; + enableSshSupport = true; + }; + + # OBS with plugins + programs.obs-studio = { + enable = true; + + plugins = with pkgs.obs-studio-plugins; [ + wlrobs + obs-backgroundremoval + obs-pipewire-audio-capture + obs-vaapi + ]; + }; + + programs.home-manager.enable = true; + + # Stylix theming + stylix = { + enable = true; + + # Wallpaper required by Stylix (even though we use swww to actually display it) + image = ./wallpaper; + + # Use pywal's color scheme instead of extracting from image + # sync-colors.sh will generate colors.yaml here + base16Scheme = ./colors.yaml; + + # Use dark mode + polarity = "dark"; + + # Disable Qt theming (it's janky and doesn't apply everywhere) + # targets.qt.enable = false; + }; +} diff --git a/home-manager/noctalia.nix b/home-manager/noctalia.nix new file mode 100644 index 0000000..88025e2 --- /dev/null +++ b/home-manager/noctalia.nix @@ -0,0 +1,18 @@ +{ pkgs, inputs, ... }: +{ + # import the home manager module + #imports = [ + # inputs.noctalia.homeModules.default + #]; + + # Install the package + home.packages = [ + inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default + inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default + ]; + + # configure options + #programs.noctalia-shell = { + # enable = true; + #}; +} diff --git a/kanshi/apply-wallpaper.sh b/kanshi/apply-wallpaper.sh new file mode 100755 index 0000000..119e696 --- /dev/null +++ b/kanshi/apply-wallpaper.sh @@ -0,0 +1,6 @@ +#!/bin/sh +sleep 0.5 +WALLPAPER=$(cat ~/.config/swww/current-wallpaper 2>/dev/null) +if [ -n "$WALLPAPER" ] && [ -f "$WALLPAPER" ]; then + swww img "$WALLPAPER" +fi diff --git a/kanshi/config b/kanshi/config new file mode 100644 index 0000000..1b926fb --- /dev/null +++ b/kanshi/config @@ -0,0 +1,15 @@ +profile laptop { + output eDP-1 enable + exec ~/.config/kanshi/apply-wallpaper.sh +} + +profile laptop_and_hdmi { + output eDP-1 enable + output HDMI-A-1 enable + exec ~/.config/kanshi/apply-wallpaper.sh +} + +profile { + output "*" + exec ~/.config/kanshi/apply-wallpaper.sh +} diff --git a/kitty/kitty.conf b/kitty/kitty.conf new file mode 100644 index 0000000..cf957b2 --- /dev/null +++ b/kitty/kitty.conf @@ -0,0 +1,25 @@ +# Kitty Configuration +# Include pywal colors +include ~/.cache/wal/colors-kitty.conf + +# new tab in the same dir +map kitty_mod+t new_tab_with_cwd +# remove more text at once with ctrl+backspace +map ctrl+backspace send_text all \x17 +# fixes mod+q not exiting the terminal instantly +confirm_os_window_close 0 + +# BEGIN_KITTY_THEME +# Noctalia +#include current-theme.conf +# END_KITTY_THEME + + +# BEGIN_KITTY_FONTS +font_family family="FiraCode Nerd Font" +bold_font auto +italic_font auto +bold_italic_font auto +# END_KITTY_FONTS + +# background_opacity 0.95 diff --git a/mimeapps.list b/mimeapps.list new file mode 100644 index 0000000..4d4687f --- /dev/null +++ b/mimeapps.list @@ -0,0 +1,17 @@ +[Added Associations] +application/gzip=org.gnome.FileRoller.desktop;org.gnome.Evince.desktop; +text/markdown=org.gnome.TextEditor.desktop; +image/jpeg=org.gnome.Loupe.desktop; +image/png=org.gnome.Loupe.desktop; +text/plain=org.gnome.TextEditor.desktop; +image/heif=org.gnome.Loupe.desktop; +application/pdf=org.pwmt.zathura-pdf-mupdf.desktop; + +[Default Applications] +text/markdown=org.gnome.TextEditor.desktop +image/jpeg=org.gnome.Loupe.desktop +image/png=org.gnome.Loupe.desktop +text/plain=org.gnome.TextEditor.desktop +image/heif=org.gnome.Loupe.desktop +x-scheme-handler/discord-1216669957799018608=discord-1216669957799018608.desktop +application/pdf=org.pwmt.zathura-pdf-mupdf.desktop diff --git a/niri/config.kdl b/niri/config.kdl new file mode 100644 index 0000000..14bdbc1 --- /dev/null +++ b/niri/config.kdl @@ -0,0 +1,293 @@ +layout { + gaps 5 + background-color "transparent" + always-center-single-column + center-focused-column "never" + + preset-column-widths { + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + } + + default-column-width { proportion 0.5; } + + focus-ring { + // off + width 1 + active-color "#ffffff33" + } + + border { + off + width 1 + active-color "#555" + inactive-color "#222" + } + + shadow { + off + softness 20 + spread 5 + offset x=0 y=5 + } + + tab-indicator { + width 2 + gap -5 + gaps-between-tabs 5 + corner-radius 10 + active-color "#fff" + inactive-color "#ffffff55" + } + + insert-hint { + color "#ffffff22" + } +} + +//cursor { +// xcursor-theme "Plasma-Overdose" +// xcursor-size 64 +//} + +prefer-no-csd + +screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" + +layer-rule { + match namespace="^swww-daemon$" + place-within-backdrop true +} + +overview { + workspace-shadow { + off + } +} + +animations { + window-open { + spring damping-ratio=1.0 stiffness=700 epsilon=0.0001 + } + window-close { + spring damping-ratio=1.0 stiffness=700 epsilon=0.1 + } + window-resize { + spring damping-ratio=1.0 stiffness=800 epsilon=0.001 + } + window-movement { + spring damping-ratio=1.0 stiffness=600 epsilon=0.0001 + } + workspace-switch { + spring damping-ratio=1.0 stiffness=800 epsilon=0.00001 + } + horizontal-view-movement { + spring damping-ratio=1.0 stiffness=700 epsilon=0.0001 + } +} + +// Open the Firefox picture-in-picture player as floating by default. +window-rule { + match app-id=r#"firefox$"# title="^Picture-in-Picture$" + open-floating true +} + +// Example: enable rounded corners for all windows. +window-rule { + geometry-corner-radius 20 + clip-to-geometry true +} + +window-rule { + geometry-corner-radius 20 + clip-to-geometry true +} + +window-rule { + match app-id="kitty" + opacity 0.9 +} + +window-rule { + match app-id="code" + opacity 0.95 +} + +layer-rule { + match namespace="^quickshell-overview$" +} + +binds { + // Core Noctalia binds + Mod+Space { spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"; } + Mod+S { spawn "noctalia-shell" "ipc" "call" "sidePanel" "toggle"; } + Mod+Comma { spawn "noctalia-shell" "ipc" "call" "settings" "toggle"; } + + // Audio controls + XF86AudioRaiseVolume { spawn "noctalia-shell" "ipc" "call" "volume" "increase"; } + XF86AudioLowerVolume { spawn "noctalia-shell" "ipc" "call" "volume" "decrease"; } + XF86AudioMute { spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"; } + + // Brightness controls + XF86MonBrightnessUp { spawn "noctalia-shell" "ipc" "call" "brightness" "increase"; } + XF86MonBrightnessDown { spawn "noctalia-shell" "ipc" "call" "brightness" "decrease"; } + + // Utility shortcuts + //Mod+V { spawn "noctalia-shell" "ipc" "call" "launcher" "clipboard"; } + //Mod+C { spawn "noctalia-shell" "ipc" "call" "launcher" "calculator"; } + Mod+L { spawn "noctalia-shell" "ipc" "call" "lockScreen" "lock"; } + + // Mod-Shift-/, which is usually the same as Mod-?, + // shows a list of important hotkeys. + Mod+Shift+Slash { show-hotkey-overlay; } + + // Suggested binds for running programs: terminal, app launcher, screen locker. + Mod+T { spawn "kitty"; } + //Mod+Enter { spawn "kitty"; } + Mod+D { spawn "ignis" "toggle-window" "Launcher"; } + //Mod+L { spawn "hyprlock"; } + Mod+E { spawn "nautilus"; } + Mod+Escape { spawn "ignis" "toggle-window" "PowerMenu"; } + Mod+I { spawn "ignis" "toggle-window" "Settings"; } + + // Example volume keys mappings for PipeWire & WirePlumber. + // The allow-when-locked=true property makes them work even when the session is locked. + //XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; } + //XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; } + //XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } + XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } + + Mod+Q { close-window; } + + Mod+Left { focus-column-left; } + Mod+Down { focus-window-down; } + Mod+Up { focus-window-up; } + Mod+Right { focus-column-right; } + + Mod+Ctrl+Left { move-column-left; } + Mod+Ctrl+Down { move-window-down; } + Mod+Ctrl+Up { move-window-up; } + Mod+Ctrl+Right { move-column-right; } + + Mod+Home { focus-column-first; } + Mod+End { focus-column-last; } + Mod+Ctrl+Home { move-column-to-first; } + Mod+Ctrl+End { move-column-to-last; } + + Mod+Shift+Left { focus-monitor-left; } + Mod+Shift+Down { focus-monitor-down; } + Mod+Shift+Up { focus-monitor-up; } + Mod+Shift+Right { focus-monitor-right; } + + Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } + Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } + Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } + Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } + + Mod+Page_Down { focus-workspace-down; } + Mod+Page_Up { focus-workspace-up; } + Mod+Ctrl+Page_Down { move-column-to-workspace-down; } + Mod+Ctrl+Page_Up { move-column-to-workspace-up; } + + Mod+Shift+Page_Down { move-workspace-down; } + Mod+Shift+Page_Up { move-workspace-up; } + + Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + + Mod+WheelScrollRight { focus-column-right; } + Mod+WheelScrollLeft { focus-column-left; } + Mod+Ctrl+WheelScrollRight { move-column-right; } + Mod+Ctrl+WheelScrollLeft { move-column-left; } + + // Usually scrolling up and down with Shift in applications results in + // horizontal scrolling; these binds replicate that. + Mod+Shift+WheelScrollDown { focus-column-right; } + Mod+Shift+WheelScrollUp { focus-column-left; } + Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } + Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } + + Mod+1 { focus-workspace 1; } + Mod+2 { focus-workspace 2; } + Mod+3 { focus-workspace 3; } + Mod+4 { focus-workspace 4; } + Mod+5 { focus-workspace 5; } + Mod+6 { focus-workspace 6; } + Mod+7 { focus-workspace 7; } + Mod+8 { focus-workspace 8; } + Mod+9 { focus-workspace 9; } + Mod+Ctrl+1 { move-column-to-workspace 1; } + Mod+Ctrl+2 { move-column-to-workspace 2; } + Mod+Ctrl+3 { move-column-to-workspace 3; } + Mod+Ctrl+4 { move-column-to-workspace 4; } + Mod+Ctrl+5 { move-column-to-workspace 5; } + Mod+Ctrl+6 { move-column-to-workspace 6; } + Mod+Ctrl+7 { move-column-to-workspace 7; } + Mod+Ctrl+8 { move-column-to-workspace 8; } + Mod+Ctrl+9 { move-column-to-workspace 9; } + + Mod+BracketLeft { consume-or-expel-window-left; } + Mod+BracketRight { consume-or-expel-window-right; } + + // Consume one window from the right to the bottom of the focused column. + //Mod+Comma { consume-window-into-column; } + // Expel the bottom window from the focused column to the right. + Mod+Period { expel-window-from-column; } + + Mod+R { switch-preset-column-width; } + Mod+Shift+R { switch-preset-window-height; } + Mod+Ctrl+R { reset-window-height; } + Mod+F { maximize-column; } + Mod+Shift+F { fullscreen-window; } + Mod+C { center-column; } + Mod+W { toggle-column-tabbed-display; } + + Mod+Minus { set-column-width "-10%"; } + Mod+Equal { set-column-width "+10%"; } + + // Finer height adjustments when in column with other windows. + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Equal { set-window-height "+10%"; } + + // Move the focused window between the floating and the tiling layout. + Mod+V { toggle-window-floating; } + Mod+Shift+V { switch-focus-between-floating-and-tiling; } + + Mod+Shift+S { screenshot; } + Ctrl+Print { screenshot-screen; } + Alt+Print { screenshot-window; } + + Mod+Shift+Alt+R { spawn "ignis" "run-command" "recorder-record-screen"; } + Mod+Alt+R { spawn "ignis" "run-command" "recorder-record-portal"; } + Ctrl+Shift+Escape { spawn "missioncenter"; } +} + +hotkey-overlay { + skip-at-startup +} + +input { + touchpad { + tap + natural-scroll + } + keyboard { + xkb { + layout "pl" + } + } +} + +output "eDP-1" { + mode "2880x1800@120.000" + //mode "1440x900@120.000" + //scale 1.0 + scale 2.0 +} +//spawn-at-startup "ignis" "init" +spawn-at-startup "swww-daemon" +spawn-at-startup "kanshi" +spawn-at-startup "noctalia-shell" diff --git a/nixos/configuration.nix b/nixos/configuration.nix new file mode 100644 index 0000000..bddae6a --- /dev/null +++ b/nixos/configuration.nix @@ -0,0 +1,316 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.resumeDevice = "/dev/mapper/luksroot"; + # Pin Linux kernel to 6.12 + boot.kernelPackages = pkgs.linuxPackages_6_12; + + boot.extraModprobeConfig = '' + options mt7921_common disable_clc=1 + options atkbd reset=1 softrepeat=1 + options i8042 nomux=1 reset=1 nopnp=1 kbdreset=1 direct=1 dumbkbd=1 + ''; + + # Kernel parameters for power saving + boot.kernelParams = [ + # CRITICAL FIX: Disable ACPI for i8042 (ASUS BIOS bug workaround) + "i8042.noacpi" # Disable buggy ASUS ACPI keyboard controller + "i8042.reset=1" # Force reset i8042 + "i8042.nomux=1" # No multiplexing + "i8042.nopnp=1" # Ignore PnP detection + "atkbd.softrepeat=1" # Software key repeat + "amd_pstate=active" # Use AMD P-State driver for better power management + "amd_pstate.shared_mem=1" + "pcie_aspm.policy=powersupersave" # Aggressive PCIe power management + "amdgpu.gpu_recovery=1" # Enable automatic GPU recovery + #"amdgpu.runpm=0" # Disable runtime PM (major hang cause) + ###"amdgpu.dcdebugmask=0x400" + #"amdgpu.dcdebugmask=0x10" # Disable PSR (panel self-refresh) + #"amdgpu.ppfeaturemask=0xf7fff" # Disable GFXOFF + ]; + + # Disable TPM + systemd.tpm2.enable = false; + boot.initrd.systemd.tpm2.enable = false; + + #swapDevices = [{ file = "/swap/swapfile"; }]; + + # Override btrfs mount options from hardware-configuration.nix + fileSystems."/" = { + options = [ "subvol=@" "compress=zstd" "space_cache=v2" "noatime" + "autodefrag" "ssd" "discard=async" ]; + }; + + fileSystems."/home" = { + options = [ "subvol=@home" "compress=zstd" "space_cache=v2" "noatime" + "autodefrag" "ssd" "discard=async" ]; + }; + + fileSystems."/var/log" = { + options = [ "subvol=@log" "compress=zstd" "space_cache=v2" "noatime" + "autodefrag" "ssd" "discard=async" ]; + }; + + fileSystems."/swap" = { + options = [ "subvol=@swap" "noatime" "ssd" "discard=async" ]; + }; + + # Enable NetworkManager and set network host name + networking.networkmanager.enable = true; + networking.hostName = "lusia-laptop"; + + # NetworkManager power saving for WiFi + networking.networkmanager.wifi.powersave = true; + + # Enable Tailscale + services.tailscale.enable = true; + + # Trust the Tailscale interface + networking.firewall.trustedInterfaces = [ "tailscale0" ]; + + # Disable reverse path filtering for Tailscale ╎│ + boot.kernel.sysctl."net.ipv4.conf.tailscale0.rp_filter" = 0; + + # Enable resolved + services.resolved.enable = true; + + # OpenVPN services + # VSTech VPN (with DNS for bgs.local domain) + services.openvpn.servers.vstech = { + config = '' + client + remote 51.83.143.81 + proto udp + port 649 + dev tun + topology subnet + ca /home/lusia/VSTech-vpn/ca.crt + cert /home/lusia/VSTech-vpn/Klient251.crt + key /home/lusia/VSTech-vpn/Klient251.key + tls-crypt /home/lusia/VSTech-vpn/ta.key + + auth sha512 + data-ciphers aes-256-cbc + data-ciphers-fallback aes-256-cbc + key-direction 1 + keepalive 10 120 + ''; + updateResolvConf = false; + + # Manually set DNS after connection + up = '' + ${pkgs.systemd}/bin/resolvectl dns $dev 10.10.10.1 + ${pkgs.systemd}/bin/resolvectl domain $dev bgs.local + ''; + + down = '' + ${pkgs.systemd}/bin/resolvectl revert $dev + ''; + }; + + # CAT VPN + services.openvpn.servers.cat = { + config = '' + client + remote 79.133.193.211 + proto tcp + port 1194 + dev tun + topology subnet + ca /home/lusia/vpn/ca.crt + cert /home/lusia/vpn/client18.crt + key /home/lusia/vpn/client18.key + + auth sha256 + data-ciphers AES-256-CBC + key-direction 1 + ''; + updateResolvConf = true; + }; + + # Enable upower service + services.upower.enable = true; + + # Set your time zone. + time.timeZone = "Europe/Warsaw"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + console = { + keyMap = "pl"; + }; + + # Enable niri + # programs.niri.enable = true; + + # Enable fish + programs.fish.enable = true; + + # Enable greetd with tuigreet + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri-session"; + user = "greeter"; + }; + }; + }; + + # Essential for niri + security.polkit.enable = true; + services.gnome.gnome-keyring.enable = true; + + # XDG Portal for file pickers or screen sharing + xdg.portal = { + enable = true; + extraPortals = [ pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-gnome ]; + config = { + common = { + default = [ "gtk" ]; + "org.freedesktop.impl.portal.ScreenCast" = [ "gnome" ]; + "org.freedesktop.impl.portal.Screenshot" = [ "gnome" ]; + }; + }; + }; + + # Enable dconf + programs.dconf.enable = true; + + users.users.lusia = { + isNormalUser = true; + description = "Lukrecja"; + extraGroups = [ "wheel" "networkmanager" "docker" ]; + initialPassword = "pass"; + shell = pkgs.fish; + }; + + hardware.enableAllFirmware = true; + services.openssh.enable = true; + security.sudo.enable = true; + + # Enable xwayland + programs.xwayland.enable = true; + + # Set a session variable for icon theme + environment.sessionVariables = rec { + QT_QPA_PLATFORMTHEME = "qt5ct"; + }; + + environment.systemPackages = with pkgs; [ + git + curl + wget + vim + fish + kitty + #asusctl + powertop # For monitoring power consumption + openvpn + nodejs + gnumake + gcc + cmake + xwayland-satellite + busybox + libdecor + file + cifs-utils + samba + gvfs + ]; + + # Fonts + fonts.packages = with pkgs; [ + noto-fonts + noto-fonts-cjk-sans + noto-fonts-color-emoji + pkgs.nerd-fonts.fira-code + ]; + + # For SMB shares + services.gvfs.enable = true; + + # Printers + services.avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + + services.printing = { + enable = true; + drivers = with pkgs; [ + cups-filters + cups-browsed + ]; + }; + + # Enable Flatpaks + services.flatpak.enable = true; + + # Enable Docker + virtualisation.docker.enable = true; + virtualisation.docker.storageDriver = "btrfs"; + + nixpkgs.config.allowUnfree = true; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + # Enable Bluetooth (but it will be blocked by default to save power) + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = false; # Don't power on bluetooth at boot + + # Enable OpenTabletDriver + hardware.opentabletdriver.enable = true; + hardware.uinput.enable = true; + boot.kernelModules = [ "uinput" ]; + + # Enable PPD for power options + services.power-profiles-daemon.enable = true; + + # Enable AMD GPU graphics acceleration + hardware.graphics = { + enable = true; + enable32Bit = true; # For 32-bit applications/games + }; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # Copy the NixOS configuration file and link it from the resulting system + # (/run/current-system/configuration.nix). This is useful in case you + # accidentally delete configuration.nix. + # system.copySystemConfiguration = true; + + # This option defines the first version of NixOS you have installed on this particular machine, + # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. + # + # Most users should NEVER change this value after the initial install, for any reason, + # even if you've upgraded your system to a new NixOS release. + # + # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, + # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how + # to actually do that. + # + # This value being lower than the current NixOS release does NOT mean your system is + # out of date, out of support, or vulnerable. + # + # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, + # and migrated your data accordingly. + # + # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . + system.stateVersion = "24.11"; # Did you read the comment? + +} diff --git a/nixos/flake.lock b/nixos/flake.lock new file mode 100644 index 0000000..721c99e --- /dev/null +++ b/nixos/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "home-manager": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1765461410, + "narHash": "sha256-AVZ1y5tfTGqf5zJx6uY52KHN2pP9gGF9RMQ3meBVKIg=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "7b34e428f31ce52baabda53e52bf14002e1c0625", + "type": "github" + }, + "original": { + "id": "home-manager", + "type": "indirect" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1764950072, + "narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f61125a668a320878494449750330ca58b78c557", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1765311797, + "narHash": "sha256-mSD5Ob7a+T2RNjvPvOA1dkJHGVrNVl8ZOrAwBjKBDQo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "09eb77e94fa25202af8f3e81ddc7353d9970ac1b", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "nixpkgs": "nixpkgs_2" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/nixos/flake.nix b/nixos/flake.nix new file mode 100644 index 0000000..b3f8832 --- /dev/null +++ b/nixos/flake.nix @@ -0,0 +1,18 @@ +{ + description = "NixOS configuration"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; + }; + + outputs = inputs@{ nixpkgs, home-manager, ... }: { + nixosConfigurations = { + lusia-laptop = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + ./configuration.nix + ]; + }; + }; + }; +} diff --git a/nixos/hardware-configuration.nix b/nixos/hardware-configuration.nix new file mode 100644 index 0000000..16f7c07 --- /dev/null +++ b/nixos/hardware-configuration.nix @@ -0,0 +1,59 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/f240d6d8-b1e2-418d-96ed-9b9c11ab4ea9"; + fsType = "btrfs"; + options = [ "subvol=@" ]; + }; + + boot.initrd.luks.devices."luksroot".device = "/dev/disk/by-uuid/a5725fbc-c25f-4e29-aa8d-3808b85ee586"; + + fileSystems."/home" = + { device = "/dev/disk/by-uuid/f240d6d8-b1e2-418d-96ed-9b9c11ab4ea9"; + fsType = "btrfs"; + options = [ "subvol=@home" ]; + }; + + fileSystems."/var/log" = + { device = "/dev/disk/by-uuid/f240d6d8-b1e2-418d-96ed-9b9c11ab4ea9"; + fsType = "btrfs"; + options = [ "subvol=@log" ]; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/532C-C315"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + fileSystems."/swap" = + { device = "/dev/disk/by-uuid/f240d6d8-b1e2-418d-96ed-9b9c11ab4ea9"; + fsType = "btrfs"; + options = [ "subvol=@swap" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/nixos/home.nix b/nixos/home.nix new file mode 100644 index 0000000..ff377e5 --- /dev/null +++ b/nixos/home.nix @@ -0,0 +1,13 @@ +{ config, pkgs, ... }: + +{ + home.username = "lusia"; + home.homeDirectory = "/home/lusia"; + home.stateVersion = "24.11"; + + programs.kitty = { + enable = true; + }; + + programs.home-manager.enable = true; +} diff --git a/noctalia/plugins.json b/noctalia/plugins.json new file mode 100644 index 0000000..6b7a57f --- /dev/null +++ b/noctalia/plugins.json @@ -0,0 +1,15 @@ +{ + "sources": [ + { + "enabled": true, + "name": "Official Noctalia Plugins", + "url": "https://github.com/noctalia-dev/noctalia-plugins" + } + ], + "states": { + "catwalk": { + "enabled": true + } + }, + "version": 1 +} diff --git a/noctalia/settings.json b/noctalia/settings.json new file mode 100644 index 0000000..044e5ce --- /dev/null +++ b/noctalia/settings.json @@ -0,0 +1,477 @@ +{ + "appLauncher": { + "customLaunchPrefix": "", + "customLaunchPrefixEnabled": false, + "enableClipPreview": true, + "enableClipboardHistory": false, + "pinnedExecs": [ + ], + "position": "center", + "showCategories": true, + "sortByMostUsed": true, + "terminalCommand": "kitty -e", + "useApp2Unit": false, + "viewMode": "list" + }, + "audio": { + "cavaFrameRate": 60, + "externalMixer": "pwvucontrol || pavucontrol", + "mprisBlacklist": [ + ], + "preferredPlayer": "", + "visualizerQuality": "high", + "visualizerType": "linear", + "volumeOverdrive": false, + "volumeStep": 5 + }, + "bar": { + "backgroundOpacity": 0, + "capsuleOpacity": 1, + "density": "default", + "exclusive": true, + "floating": false, + "marginHorizontal": 0.25, + "marginVertical": 0.25, + "monitors": [ + ], + "outerCorners": true, + "position": "top", + "showCapsule": true, + "widgets": { + "center": [ + ], + "left": [ + { + "diskPath": "/", + "id": "SystemMonitor", + "showCpuTemp": true, + "showCpuUsage": true, + "showDiskUsage": false, + "showMemoryAsPercent": false, + "showMemoryUsage": true, + "showNetworkStats": true, + "usePrimaryColor": true + }, + { + "hideMode": "hidden", + "hideWhenIdle": false, + "id": "MediaMini", + "maxWidth": 145, + "scrollingMode": "hover", + "showAlbumArt": false, + "showArtistFirst": true, + "showProgressRing": true, + "showVisualizer": false, + "useFixedWidth": false, + "visualizerType": "linear" + } + ], + "right": [ + { + "id": "plugin:catwalk" + }, + { + "hideMode": "alwaysExpanded", + "icon": "heart", + "id": "CustomButton", + "leftClickExec": "bash /home/lusia/Downloads/sync-colors.sh --random", + "leftClickUpdateText": false, + "maxTextLength": { + "horizontal": 10, + "vertical": 10 + }, + "middleClickExec": "", + "middleClickUpdateText": false, + "parseJson": false, + "rightClickExec": "bash /home/lusia/Downloads/sync-colors.sh --random --light", + "rightClickUpdateText": false, + "showIcon": true, + "textCollapse": "", + "textCommand": "", + "textIntervalMs": 3000, + "textStream": false, + "wheelDownExec": "", + "wheelDownUpdateText": false, + "wheelExec": "", + "wheelMode": "unified", + "wheelUpExec": "", + "wheelUpUpdateText": false, + "wheelUpdateText": false + }, + { + "hideWhenZero": true, + "id": "NotificationHistory", + "showUnreadBadge": true + }, + { + "deviceNativePath": "", + "displayMode": "onhover", + "id": "Battery", + "showNoctaliaPerformance": false, + "showPowerProfiles": false, + "warningThreshold": 30 + }, + { + "displayMode": "onhover", + "id": "WiFi" + }, + { + "displayMode": "onhover", + "id": "Bluetooth" + }, + { + "displayMode": "onhover", + "id": "Volume" + }, + { + "displayMode": "onhover", + "id": "Brightness" + }, + { + "customFont": "", + "formatHorizontal": "HH:mm:ss", + "formatVertical": "HH mm - dd MM", + "id": "Clock", + "useCustomFont": false, + "usePrimaryColor": true + }, + { + "colorizeDistroLogo": false, + "colorizeSystemIcon": "none", + "customIconPath": "", + "enableColorization": false, + "icon": "dots", + "id": "ControlCenter", + "useDistroLogo": false + } + ] + } + }, + "brightness": { + "brightnessStep": 5, + "enableDdcSupport": false, + "enforceMinimum": true + }, + "calendar": { + "cards": [ + { + "enabled": true, + "id": "timer-card" + }, + { + "enabled": true, + "id": "weather-card" + }, + { + "enabled": true, + "id": "calendar-header-card" + }, + { + "enabled": true, + "id": "calendar-month-card" + } + ] + }, + "colorSchemes": { + "darkMode": true, + "generateTemplatesForPredefined": true, + "manualSunrise": "06:30", + "manualSunset": "18:30", + "matugenSchemeType": "scheme-neutral", + "predefinedScheme": "Monochrome", + "schedulingMode": "off", + "useWallpaperColors": false + }, + "controlCenter": { + "cards": [ + { + "enabled": true, + "id": "profile-card" + }, + { + "enabled": true, + "id": "shortcuts-card" + }, + { + "enabled": true, + "id": "audio-card" + }, + { + "enabled": true, + "id": "weather-card" + }, + { + "enabled": true, + "id": "media-sysmon-card" + } + ], + "position": "close_to_bar_button", + "shortcuts": { + "left": [ + { + "id": "WiFi" + }, + { + "id": "Bluetooth" + }, + { + "id": "ScreenRecorder" + }, + { + "id": "WallpaperSelector" + } + ], + "right": [ + { + "id": "Notifications" + }, + { + "id": "PowerProfile" + }, + { + "id": "KeepAwake" + }, + { + "id": "NightLight" + } + ] + } + }, + "dock": { + "backgroundOpacity": 1, + "colorizeIcons": false, + "deadOpacity": 0.6, + "displayMode": "always_visible", + "enabled": false, + "floatingRatio": 1, + "inactiveIndicators": false, + "monitors": [ + ], + "onlySameOutput": true, + "pinnedApps": [ + ], + "pinnedStatic": false, + "size": 1 + }, + "general": { + "allowPanelsOnScreenWithoutBar": true, + "animationDisabled": false, + "animationSpeed": 1, + "avatarImage": "/home/lusia/Downloads/lusia.jpg", + "boxRadiusRatio": 1, + "compactLockScreen": true, + "dimmerOpacity": 0.6, + "enableShadows": true, + "forceBlackScreenCorners": true, + "iRadiusRatio": 1, + "language": "", + "lockOnSuspend": true, + "radiusRatio": 1, + "scaleRatio": 1, + "screenRadiusRatio": 1, + "shadowDirection": "bottom_right", + "shadowOffsetX": 2, + "shadowOffsetY": 3, + "showHibernateOnLockScreen": false, + "showScreenCorners": true + }, + "hooks": { + "darkModeChange": "", + "enabled": false, + "wallpaperChange": "" + }, + "location": { + "analogClockInCalendar": false, + "firstDayOfWeek": 1, + "name": "Poznań", + "showCalendarEvents": true, + "showCalendarWeather": true, + "showWeekNumberInCalendar": false, + "use12hourFormat": false, + "useFahrenheit": false, + "weatherEnabled": true, + "weatherShowEffects": true + }, + "network": { + "wifiEnabled": true + }, + "nightLight": { + "autoSchedule": true, + "dayTemp": "6500", + "enabled": false, + "forced": false, + "manualSunrise": "06:30", + "manualSunset": "18:30", + "nightTemp": "4000" + }, + "notifications": { + "backgroundOpacity": 1, + "criticalUrgencyDuration": 15, + "enableKeyboardLayoutToast": true, + "enabled": true, + "location": "top_right", + "lowUrgencyDuration": 3, + "monitors": [ + ], + "normalUrgencyDuration": 8, + "overlayLayer": true, + "respectExpireTimeout": false, + "sounds": { + "criticalSoundFile": "", + "enabled": false, + "excludedApps": "discord,firefox,chrome,chromium,edge", + "lowSoundFile": "", + "normalSoundFile": "", + "separateSounds": false, + "volume": 0.5 + } + }, + "osd": { + "autoHideMs": 2000, + "backgroundOpacity": 1, + "enabled": true, + "enabledTypes": [ + 0, + 1, + 2 + ], + "location": "top_right", + "monitors": [ + ], + "overlayLayer": true + }, + "screenRecorder": { + "audioCodec": "opus", + "audioSource": "default_output", + "colorRange": "limited", + "directory": "/home/lusia/Videos", + "frameRate": 60, + "quality": "very_high", + "showCursor": true, + "videoCodec": "h264", + "videoSource": "portal" + }, + "sessionMenu": { + "countdownDuration": 10000, + "enableCountdown": true, + "position": "center", + "powerOptions": [ + { + "action": "lock", + "command": "", + "countdownEnabled": true, + "enabled": true + }, + { + "action": "suspend", + "command": "", + "countdownEnabled": true, + "enabled": true + }, + { + "action": "reboot", + "command": "", + "countdownEnabled": true, + "enabled": true + }, + { + "action": "logout", + "command": "", + "countdownEnabled": true, + "enabled": true + }, + { + "action": "shutdown", + "command": "", + "countdownEnabled": true, + "enabled": true + }, + { + "action": "hibernate", + "command": "", + "countdownEnabled": true, + "enabled": true + } + ], + "showHeader": true + }, + "settingsVersion": 26, + "systemMonitor": { + "cpuCriticalThreshold": 90, + "cpuPollingInterval": 3000, + "cpuWarningThreshold": 80, + "criticalColor": "", + "diskCriticalThreshold": 90, + "diskPollingInterval": 3000, + "diskWarningThreshold": 80, + "memCriticalThreshold": 90, + "memPollingInterval": 3000, + "memWarningThreshold": 80, + "networkPollingInterval": 3000, + "tempCriticalThreshold": 90, + "tempPollingInterval": 3000, + "tempWarningThreshold": 80, + "useCustomColors": false, + "warningColor": "" + }, + "templates": { + "alacritty": false, + "cava": false, + "code": false, + "discord": false, + "emacs": false, + "enableUserTemplates": true, + "foot": false, + "fuzzel": false, + "ghostty": false, + "gtk": false, + "kcolorscheme": false, + "kitty": false, + "niri": false, + "pywalfox": false, + "qt": false, + "spicetify": false, + "telegram": false, + "vicinae": false, + "walker": false, + "wezterm": false + }, + "ui": { + "fontDefault": "Roboto", + "fontDefaultScale": 1, + "fontFixed": "DejaVu Sans Mono", + "fontFixedScale": 1, + "panelBackgroundOpacity": 1, + "panelsAttachedToBar": true, + "settingsPanelAttachToBar": false, + "tooltipsEnabled": true + }, + "wallpaper": { + "directory": "/home/lusia/Pictures/Wallpapers", + "enableMultiMonitorDirectories": false, + "enabled": false, + "fillColor": "#000000", + "fillMode": "crop", + "hideWallpaperFilenames": false, + "monitorDirectories": [ + ], + "overviewEnabled": false, + "panelPosition": "follow_bar", + "randomEnabled": false, + "randomIntervalSec": 300, + "recursiveSearch": false, + "setWallpaperOnAllMonitors": true, + "transitionDuration": 1500, + "transitionEdgeSmoothness": 0.05, + "transitionType": "random", + "useWallhaven": false, + "wallhavenCategories": "111", + "wallhavenOrder": "desc", + "wallhavenPurity": "100", + "wallhavenQuery": "madoka", + "wallhavenResolutionHeight": "", + "wallhavenResolutionMode": "atleast", + "wallhavenResolutionWidth": "", + "wallhavenSorting": "relevance" + } +} diff --git a/nvim/.stylua.toml b/nvim/.stylua.toml new file mode 100644 index 0000000..ecb6dca --- /dev/null +++ b/nvim/.stylua.toml @@ -0,0 +1,6 @@ +column_width = 120 +line_endings = "Unix" +indent_type = "Spaces" +indent_width = 2 +quote_style = "AutoPreferDouble" +call_parentheses = "None" diff --git a/nvim/LICENSE b/nvim/LICENSE new file mode 100644 index 0000000..fdddb29 --- /dev/null +++ b/nvim/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/nvim/README.md b/nvim/README.md new file mode 100644 index 0000000..769fbdf --- /dev/null +++ b/nvim/README.md @@ -0,0 +1,9 @@ +**This repo is supposed to be used as config by NvChad users!** + +- The main nvchad repo (NvChad/NvChad) is used as a plugin by this repo. +- So you just import its modules , like `require "nvchad.options" , require "nvchad.mappings"` +- So you can delete the .git from this repo ( when you clone it locally ) or fork it :) + +# Credits + +1) Lazyvim starter https://github.com/LazyVim/starter as nvchad's starter was inspired by Lazyvim's . It made a lot of things easier! diff --git a/nvim/init.lua b/nvim/init.lua new file mode 100644 index 0000000..e861b68 --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1,37 @@ +vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/" +vim.g.mapleader = " " + +-- bootstrap lazy and all plugins +local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim" + +if not vim.uv.fs_stat(lazypath) then + local repo = "https://github.com/folke/lazy.nvim.git" + vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath } +end + +vim.opt.rtp:prepend(lazypath) + +local lazy_config = require "configs.lazy" + +-- load plugins +require("lazy").setup({ + { + "NvChad/NvChad", + lazy = false, + branch = "v2.5", + import = "nvchad.plugins", + }, + + { import = "plugins" }, +}, lazy_config) + +-- load theme +dofile(vim.g.base46_cache .. "defaults") +dofile(vim.g.base46_cache .. "statusline") + +require "options" +require "autocmds" + +vim.schedule(function() + require "mappings" +end) diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json new file mode 100644 index 0000000..bd5d353 --- /dev/null +++ b/nvim/lazy-lock.json @@ -0,0 +1,29 @@ +{ + "LuaSnip": { "branch": "master", "commit": "73813308abc2eaeff2bc0d3f2f79270c491be9d7" }, + "NvChad": { "branch": "v2.5", "commit": "f107fabe11ac8013dc3435ecd5382bee872b1584" }, + "base46": { "branch": "v3.0", "commit": "db58475d3fd2a16f9b1467d6895e3c4c195ed7dd" }, + "cmp-async-path": { "branch": "main", "commit": "0ed1492f59e730c366d261a5ad822fa37e44c325" }, + "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" }, + "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, + "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, + "conform.nvim": { "branch": "master", "commit": "fbcb4fa7f34bfea9be702ffff481a8e336ebf6ed" }, + "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, + "gitsigns.nvim": { "branch": "main", "commit": "1ee5c1fd068c81f9dd06483e639c2aa4587dc197" }, + "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, + "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, + "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" }, + "menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" }, + "minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" }, + "nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" }, + "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, + "nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" }, + "nvim-tree.lua": { "branch": "master", "commit": "e397756d2a79d74314ea4cd3efc41300e91c0ff0" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, + "ui": { "branch": "v3.0", "commit": "03b9718140375e7f3f5e4f3e04bc2b6c907440ec" }, + "volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" }, + "which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" } +} diff --git a/nvim/lua/autocmds.lua b/nvim/lua/autocmds.lua new file mode 100644 index 0000000..d2db0bb --- /dev/null +++ b/nvim/lua/autocmds.lua @@ -0,0 +1 @@ +require "nvchad.autocmds" diff --git a/nvim/lua/chadrc.lua b/nvim/lua/chadrc.lua new file mode 100644 index 0000000..da64d6c --- /dev/null +++ b/nvim/lua/chadrc.lua @@ -0,0 +1,24 @@ +-- This file needs to have same structure as nvconfig.lua +-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua +-- Please read that file to know all available options :( + +---@type ChadrcConfig +local M = {} + +M.base46 = { + theme = "pywal", + + -- hl_override = { + -- Comment = { italic = true }, + -- ["@comment"] = { italic = true }, + -- }, +} + +-- M.nvdash = { load_on_startup = true } +-- M.ui = { +-- tabufline = { +-- lazyload = false +-- } +-- } + +return M diff --git a/nvim/lua/configs/conform.lua b/nvim/lua/configs/conform.lua new file mode 100644 index 0000000..c4de52d --- /dev/null +++ b/nvim/lua/configs/conform.lua @@ -0,0 +1,16 @@ +local options = { + formatters_by_ft = { + lua = { "stylua" }, + rust = { "rustfmt" }, + -- css = { "prettier" }, + -- html = { "prettier" }, + }, + + -- format_on_save = { + -- -- These options will be passed to conform.format() + -- timeout_ms = 500, + -- lsp_fallback = true, + -- }, +} + +return options diff --git a/nvim/lua/configs/lazy.lua b/nvim/lua/configs/lazy.lua new file mode 100644 index 0000000..cd170bd --- /dev/null +++ b/nvim/lua/configs/lazy.lua @@ -0,0 +1,47 @@ +return { + defaults = { lazy = true }, + install = { colorscheme = { "nvchad" } }, + + ui = { + icons = { + ft = "", + lazy = "󰂠 ", + loaded = "", + not_loaded = "", + }, + }, + + performance = { + rtp = { + disabled_plugins = { + "2html_plugin", + "tohtml", + "getscript", + "getscriptPlugin", + "gzip", + "logipat", + "netrw", + "netrwPlugin", + "netrwSettings", + "netrwFileHandlers", + "matchit", + "tar", + "tarPlugin", + "rrhelper", + "spellfile_plugin", + "vimball", + "vimballPlugin", + "zip", + "zipPlugin", + "tutor", + "rplugin", + "syntax", + "synmenu", + "optwin", + "compiler", + "bugreport", + "ftplugin", + }, + }, + }, +} diff --git a/nvim/lua/configs/lspconfig.lua b/nvim/lua/configs/lspconfig.lua new file mode 100644 index 0000000..9a1390c --- /dev/null +++ b/nvim/lua/configs/lspconfig.lua @@ -0,0 +1,34 @@ +require("nvchad.configs.lspconfig").defaults() + +local servers = { "html", "cssls", "rust_analyzer" } +vim.lsp.enable(servers) + +-- Configure rust-analyzer with enhanced settings +vim.lsp.config.rust_analyzer = { + cmd = { "rust-analyzer" }, + filetypes = { "rust" }, + root_markers = { "Cargo.toml", "rust-project.json" }, + settings = { + ["rust-analyzer"] = { + cargo = { + allFeatures = true, + loadOutDirsFromCheck = true, + buildScripts = { + enable = true, + }, + }, + checkOnSave = true, + check = { + command = "clippy", + }, + procMacro = { + enable = true, + }, + diagnostics = { + enable = true, + }, + }, + }, +} + +-- read :h vim.lsp.config for changing options of lsp servers diff --git a/nvim/lua/mappings.lua b/nvim/lua/mappings.lua new file mode 100644 index 0000000..783b78f --- /dev/null +++ b/nvim/lua/mappings.lua @@ -0,0 +1,10 @@ +require "nvchad.mappings" + +-- add yours here + +local map = vim.keymap.set + +map("n", ";", ":", { desc = "CMD enter command mode" }) +map("i", "jk", "") + +-- map({ "n", "i", "v" }, "", " w ") diff --git a/nvim/lua/options.lua b/nvim/lua/options.lua new file mode 100644 index 0000000..738f20b --- /dev/null +++ b/nvim/lua/options.lua @@ -0,0 +1,6 @@ +require "nvchad.options" + +-- add yours here! + +-- local o = vim.o +-- o.cursorlineopt ='both' -- to enable cursorline! diff --git a/nvim/lua/plugins/init.lua b/nvim/lua/plugins/init.lua new file mode 100644 index 0000000..f6c60fc --- /dev/null +++ b/nvim/lua/plugins/init.lua @@ -0,0 +1,65 @@ +return { + { + "stevearc/conform.nvim", + -- event = 'BufWritePre', -- uncomment for format on save + opts = require "configs.conform", + }, + + -- These are some examples, uncomment them if you want to see them work! + { + "neovim/nvim-lspconfig", + config = function() + require "configs.lspconfig" + end, + }, + + -- test new blink + -- { import = "nvchad.blink.lazyspec" }, + + { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "vim", "lua", "vimdoc", + "html", "css", "rust", "toml" + }, + }, + }, + + { + "nvim-telescope/telescope.nvim", + opts = { + defaults = { + file_ignore_patterns = {}, -- Don't ignore any patterns by default + }, + pickers = { + find_files = { + hidden = true, + no_ignore = true, -- Show files ignored by .gitignore + no_ignore_parent = true, + }, + }, + }, + }, + + { + "nvim-tree/nvim-tree.lua", + opts = { + filters = { + dotfiles = false, + git_ignored = false, -- Show files ignored by .gitignore + }, + view = { + adaptive_size = false, + }, + renderer = { + highlight_git = true, + icons = { + show = { + git = true, + }, + }, + }, + }, + }, +}