From 699bf22adf5ef8772a8c564ad8e56deaf3bc3d15 Mon Sep 17 00:00:00 2001 From: RoyalOughtness <129108030+RoyalOughtness@users.noreply.github.com> Date: Wed, 1 Jan 2025 19:57:31 -0800 Subject: [PATCH 01/35] feat: new articles and reorganization --- _includes/header.html | 7 +- _includes/hero.html | 2 +- content/FAQ.md | 6 + content/FEATURES.md | 48 +++++++ content/IMAGES.md | 8 -- content/INDEX.md | 59 +------- content/INSTALL.md | 194 +++++++++++++++++++++++++- content/{SECURITY.md => REPORTING.md} | 0 content/articles/ARTICLES.md | 5 +- content/articles/FLATPAK.md | 25 ++++ content/articles/USERNS.md | 2 +- 11 files changed, 284 insertions(+), 72 deletions(-) create mode 100644 content/FEATURES.md rename content/{SECURITY.md => REPORTING.md} (100%) create mode 100644 content/articles/FLATPAK.md diff --git a/_includes/header.html b/_includes/header.html index 76650195..b6786dd3 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -2,15 +2,16 @@ diff --git a/_includes/hero.html b/_includes/hero.html index 660c0cf2..080f76e2 100644 --- a/_includes/hero.html +++ b/_includes/hero.html @@ -2,7 +2,7 @@
Offering hardened operating system images and the hardened-chromium package. Developed collaboratively as an open source project.
+A security-focused desktop and server linux operating system.
Get securebluerun0.' %}
+
+## Setup system DNS
+{: #dns}
+
+Interactively setup system DNS resolution for systemd-resolved (optionally also set the resolver for hardened-chromium via management policy):
+
+```
+ujust dns-selector
+```
+
+NOTE: If you intend to use a VPN, use the system default state (network provided resolver). This will ensure your system uses the VPN provided DNS resolver to prevent DNS leaks. ESPECIALLY avoid setting the browser DNS policy in this case.
+
+## Bash environment lockdown
+{: #bash}
+
+To mitigate [LD_PRELOAD attacks](https://github.com/Aishou/wayland-keylogger), run:
+
+```
+ujust toggle-bash-environment-lockdown
+```
+
+## LUKS TPM2 Unlock
+{: #luks-tpm2}
+
+{% include alert.html type='warning' content='Do not use this if you have an AMD CPU.' %}
+
+To enable TPM2 LUKS unlocking, run:
+
+```
+ujust setup-luks-tpm-unlock
+```
+
+Type `Y` when asked if you want to set a PIN.
+
+## Validation
+{: #validation}
+
+To validate your secureblue setup, run:
+
+```
+ujust audit-secureblue
+```
+
+## Optional: `hardened-chromium` Flags
+{: #hardened-chromium-flags}
+
+The included [hardened-chromium](https://github.com/secureblue/hardened-chromium) browser has some additional settings in `chrome://flags` you *may* want to set for additional hardening and convenience (can cause functionality issues in some cases).
+
+You can read about these settings [here](https://github.com/secureblue/hardened-chromium?tab=readme-ov-file#post-install).
+
+## Read the FAQ
+{: #faq}
+
+Lots of important stuff is covered in the [FAQ](/faq). AppImage toggles, GNOME extension toggles, Xwayland toggles, etc.
diff --git a/content/SECURITY.md b/content/REPORTING.md
similarity index 100%
rename from content/SECURITY.md
rename to content/REPORTING.md
diff --git a/content/articles/ARTICLES.md b/content/articles/ARTICLES.md
index 389cfda4..1a927f41 100644
--- a/content/articles/ARTICLES.md
+++ b/content/articles/ARTICLES.md
@@ -8,5 +8,6 @@ The main documentation for secureblue is at the top-level of the site, accessibl
Other articles on assorted topics related to secureblue:
-- [userns](/articles/userns) - Brief overview of what are user namespaces in Linux, why is the feature considered a security risk and how is it handled in secureblue.
-- [kargs](/articles/kargs) - List and brief explanation of the hardening kargs that the `ujust set-kargs-hardening` command can set.
+- [User Namespaces](/articles/userns) - Brief overview of unprivileged User Namespaces, the security risk they enabled and how secureblue handles that risk.
+- [Kernel Arguments](/articles/kargs) - List and brief explanation of the hardening kargs that the `ujust set-kargs-hardening` command can set.
+- [Flatpak](/articles/flatpak) - Flatpak: the good, the bad, the ugly.
diff --git a/content/articles/FLATPAK.md b/content/articles/FLATPAK.md
new file mode 100644
index 00000000..3cd765e2
--- /dev/null
+++ b/content/articles/FLATPAK.md
@@ -0,0 +1,25 @@
+---
+title: "Flatpak | secureblue"
+description: "Flatpak: the good, the bad, the ugly"
+permalink: /articles/kargs
+---
+
+# Flatpak
+
+Flatpak is an application packaging and distribution system for desktop linux. It uses bubblewrap under the hood to sandbox those applications and provide desktop linux with a de-facto standard sandboxing and permissions system. However, it has flaws and its sandboxing strength can vary significantly depending on how it is configured. secureblue addresses these flaws in a couple different ways.
+
+As with any application sandboxing system, flatpaks should be scoped down by default to as few permissions as they need to function. Even better, permissions should be granted directly by the user at app runtime like in android. Sadly, neither of these are the case today. Flatpak manifest maintainers define the set of permissions they believe to be necessary and sufficient for operation of their applications. When a flatpak is installed by a user, the flatpak's permissions default to those defined by the manifest.
+
+This is of course not ideal, but it's also not a reason to abandon flatpak entirely. There are many ways we can mitigate this issue:
+
+- users should configure permissions to their liking
+- users should submit default permissions changes to upstream flatpaks at their repos.
+- developers should overhaul flatpak and xdg portals to introduce a better permissions model
+
+What secureblue does in this case is provide a mitigation along the lines of the first option. We provide a `ujust` command to strip flatpaks of permissions by default, such that the user will need to specifically and deliberately grant permissions required by each application:
+
+```
+ujust flatpak-permissions-lockdown
+```
+
+This is not enabled out of the box on secureblue because it has a somewhat significant usability impact (many flatpaks will break due to missing permissions). Until the flatpak and xdg portal permissions model is improved, this is the most secure option we can offer. That said, users are still encouraged to report unnecessary permissions to upstream projects when found, while incremenetal development progresses on flatpak and portals.
diff --git a/content/articles/USERNS.md b/content/articles/USERNS.md
index ce8d0d82..8fd3801b 100644
--- a/content/articles/USERNS.md
+++ b/content/articles/USERNS.md
@@ -1,5 +1,5 @@
---
-title: "userns | secureblue"
+title: "User Namespaces | secureblue"
description: "Brief explanation of unprivileged user namespaces and how the feature is handled in secureblue"
permalink: /articles/userns
---
From 1d832430ac2bcdd10a3ee9158f9510bdb13bde90 Mon Sep 17 00:00:00 2001
From: RoyalOughtness <129108030+RoyalOughtness@users.noreply.github.com>
Date: Wed, 1 Jan 2025 20:04:17 -0800
Subject: [PATCH 02/35] changes
---
_includes/header.html | 1 -
content/POSTINSTALL-README.md | 197 ----------------------------------
2 files changed, 198 deletions(-)
delete mode 100644 content/POSTINSTALL-README.md
diff --git a/_includes/header.html b/_includes/header.html
index b6786dd3..ccd836b6 100644
--- a/_includes/header.html
+++ b/_includes/header.html
@@ -4,7 +4,6 @@
run0.' %}
-
-## Setup system DNS
-{: #dns}
-
-Interactively setup system DNS resolution for systemd-resolved (optionally also set the resolver for hardened-chromium via management policy):
-
-```
-ujust dns-selector
-```
-
-NOTE: If you intend to use a VPN, use the system default state (network provided resolver). This will ensure your system uses the VPN provided DNS resolver to prevent DNS leaks. ESPECIALLY avoid setting the browser DNS policy in this case.
-
-## Bash environment lockdown
-{: #bash}
-
-To mitigate [LD_PRELOAD attacks](https://github.com/Aishou/wayland-keylogger), run:
-
-```
-ujust toggle-bash-environment-lockdown
-```
-
-## LUKS TPM2 Unlock
-{: #luks-tpm2}
-
-{% include alert.html type='warning' content='Do not use this if you have an AMD CPU.' %}
-
-To enable TPM2 LUKS unlocking, run:
-
-```
-ujust setup-luks-tpm-unlock
-```
-
-Type `Y` when asked if you want to set a PIN.
-
-## Validation
-{: #validation}
-
-To validate your secureblue setup, run:
-
-```
-ujust audit-secureblue
-```
-
-## Optional: `hardened-chromium` Flags
-{: #hardened-chromium-flags}
-
-The included [hardened-chromium](https://github.com/secureblue/hardened-chromium) browser has some additional settings in `chrome://flags` you *may* want to set for additional hardening and convenience (can cause functionality issues in some cases).
-
-You can read about these settings [here](https://github.com/secureblue/hardened-chromium?tab=readme-ov-file#post-install).
-
-## Read the FAQ
-{: #faq}
-
-Lots of important stuff is covered in the [FAQ](/faq). AppImage toggles, GNOME extension toggles, Xwayland toggles, etc.
From 91f2916d9607c990ab167ebd456e0405cfad14cc Mon Sep 17 00:00:00 2001
From: RoyalOughtness <129108030+RoyalOughtness@users.noreply.github.com>
Date: Wed, 1 Jan 2025 20:05:58 -0800
Subject: [PATCH 03/35] fix url
---
content/articles/FLATPAK.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/content/articles/FLATPAK.md b/content/articles/FLATPAK.md
index 3cd765e2..ad3209a9 100644
--- a/content/articles/FLATPAK.md
+++ b/content/articles/FLATPAK.md
@@ -1,7 +1,7 @@
---
title: "Flatpak | secureblue"
description: "Flatpak: the good, the bad, the ugly"
-permalink: /articles/kargs
+permalink: /articles/flatpak
---
# Flatpak
From 32d05691f802ef2c0cd8a607a2a71c234b3cac44 Mon Sep 17 00:00:00 2001
From: RoyalOughtness <129108030+RoyalOughtness@users.noreply.github.com>
Date: Wed, 1 Jan 2025 20:23:26 -0800
Subject: [PATCH 04/35] fixes
---
assets/bitcoin.png | Bin 0 -> 38284 bytes
assets/ethereum.png | Bin 0 -> 38170 bytes
assets/litecoin.png | Bin 0 -> 38189 bytes
assets/monero.png | Bin 0 -> 37794 bytes
content/DONATE.md | 8 ++++----
content/REPORTING.md | 2 +-
6 files changed, 5 insertions(+), 5 deletions(-)
create mode 100644 assets/bitcoin.png
create mode 100644 assets/ethereum.png
create mode 100644 assets/litecoin.png
create mode 100644 assets/monero.png
diff --git a/assets/bitcoin.png b/assets/bitcoin.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c1ab8d4398e873e37c8afe137e7b9f7b0134a31
GIT binary patch
literal 38284
zcmeFZcUV*D+C6MJV;KvhqFBK)h=}xFLUaHT0TBUF6e3-uN+$xD84C(3qlhRdXcVLf
zs5GTT2N6*bDWOP-sI){n5eOvt*2bCh&iTIIb$!=+&iwv6@j^nfv$OZJpXa{Uz1F(-
zxxIS~7k$6_`x!H4EHc`qzi-Bj*=O-{Zr&`s^6p}S&Wsr|XE`4*axpU6I%6JQ!1CfnnBSp8!d(=TWAGT?lJAKrexMW9IQTUu83CF0qORG_4ZG4-O9AH5oF|8F#^tMk0|6syIE* z_IY&Pn>w@?pnD4|$F+KKo-WXmOH9)xqQC`rwX|f(5+)h-6P2pPnevt{9iKXg<-aFU zCoR#MwnQ*;C51~hAfKQ5UNBxk&L1e+F?U0l;}}7=4?SPT d}J-3Pkd{r 6c0j)t7n)Kr23AXrw28q-r4_-m)W{+6x<3l>zl_#v3qH!^_bN+v*Q04`>*SQ*yY zkt DPsY$>7`fFjK7B>{y0I#z3q5x&^+I5QtOKbOe z aE+>;P$&T}auv$4)@9OLChCi(J zE(bq-W{oT28J#Pk?scOf+}GDP*XwO->tS=U8JVAZTRbbzy>az1p_7YCBySqzm5zo* zlshb8iY#0x%Ean=-0SWooga8MX;|;4pMupd3abtZ3mE(=4gQZr*@YqQ0NdhvL%?LU z%_>;gTeiS|`#J}O0AJsad+xM_hJ_)OU#N=)?%0Ab?UX8D(&o sm-T~Na%+0 zCu*<2gDRF;-BA_+7>u)9K7zQ1c|ezpjE)wWKVR{8`z=;BHa3=)ce9g#$*uP9U+p@w zrtd-QSB86|Trat!w- IAaWfj^>HahUeLhfpnR3eQ02$iL`>xUw@L7CK<&02Oq# z+%XrTp5vh$;Ou3cS@8Y$x&3B_hC?Ddu>1VFh?--0ky$Dznk^Y92Q105vZj`_$*+BM z-kqHnl `u1q(Ncc0zhTODKy1_E%9v0zYy@0(ADUO&)oxs9Jz)?b5uaOw-p7gxtAp1Peu(B zr0PtH(@H}pryrvRz3nX5+@9Z?;W&401W0Z#@vM=-!6W47r>rS|dI3JT)~cs~6d}UV z?1&cOOMq>nF8$~u_zs2A8Fs}Fj87x9a6**d@gHgPP0L+P0~i9HJJ-k2@e{&Ip549F za07#Kkg4?}0RaJY7h>k|VouH#$ Yq2 zBW2&e|D`cI$w2^Wo^Jd&+>gnjJob6EchV2c6T$H^qtBk*WnyBv5Ii-=wkUSR^XJdY z%hMX=rKM|v7 r7tdNLfKUkd z>?QbkC^A!Rkv=JyN_~Ic30fRoK+@6C=Z*{y=XyN{gJezyWM%R_PMtp8TSP(eXp=wz zMS1(H>wyE;Mwb#Kn;omV+RR4yq&v|fJL$?5r$$y60(ZT9KJc$)tB0C Nje8wQA^b8AqPYG8bZxblzV>6<=9d*?=zr&}zv7 s3>o${aoW@nbmg4I>bp?}Z(-P%ooTc?VM; VTK!tZX8dq2 zGP2f&arf@$F@~_DO?JV_Ud9G$tf$iTwd)SPpnUxD QgVAncJHfKuL#`VEwgniaPBfu zQ3Bb;PL)TA8Sue7-={F_NVMV4M&^8EV+5MCZs5SY_Uy6 AAXg7|NOY2tmYCW1~!<@X7b?@lNHIo#AB_Oa#OM$ob0L9 t<=H5{rZsGhzdg)3Wu^2GBAMcv8C2_?@3pOQoQ z9#5#;^d5WldLE~p4ECEoqCaZ%UKghYK|%ec!)}q51!8h%he2nX7#W#YH#RmJ%iqS~ zMaG=3bmFlyvQZb-M;V*#u_bDVlC;#+cZHjWhKA_ji^X-eq$gd!E}brXC6j%Y4He_4 zt#JOb%`4d-64kvEQ-u&sGx^&P!s@G`b&f|)Em*sD?FxCj`=yCs;cIzB3=CL^b8V#N z)YjJKeq~ITCV={gr0vBaJ5L0|Md0=6e)V8SS)Sbhh#>?1 Cdvxrx(k1PF|sg8C>@=RN(+aXjga_m jpPyT1 zK-*{|ls%Mhxqtt$l2dqq3zR;CSW;Y40zkEVgwvSK@a>GGDvxwmL*%-C{d(lY`}a0A z<(U6 Zy5bz}z>HW%;E2-V; z9!=}hX`f$SLS>lFY9*cc3cV&Qq?f<^rbnZQo;e@s$+pnnXw=NVzcr-i-EFqS3J}=r z@_=mNxn)v!52+|BJ~T_xjqIQaMv~w*u#ks&VhoiscS?*By5xr+ZY4@6Ih}>RMhyo# zgfgN|Q_2%P {c+Zi?uk^x;HWpZtOI@t21D^|GFZB|!r+{>95EE8$* z-#1lS?*$IWjKsZCDlnLvJQK=e8pVUahmV^*R>-C>k1?qaF>&qe?4W_itCfB2YtgQc zC?{AOP7V<*`2?`z=jN)Ihgn-UYWF|ZD ovxy&y`tn=!Cve_&An7sj38p_U9KM7G9u{**UtZ%V8o@4fZg?a{ zqK>9!XGcdxIZAsOfk&iI!J&~gDJG>if$TvE>5RSTR|5TL=h2hXa?Y85SHzj7gTH-v zmuAon VdHVTy1U`CO6?{@IfxnU)nMICHpfs2 z2F=*}IHvTR#cNaDguA@GAPz&|JQ_ANH3dIS@-<}M07S&n?#_o5;+WEGB>CNsi4<47 z?q-x4gL#aPXjVUhwFDjiD8d@#u_fZ|;63sjg;9?mKi0uXM0Q}_-T>Mx8Gq q?jS)aM6| z3&dVVH Y-ESRM96sH;vc{h8gne%~EAScH4k8iMCcZ^Z*ezw@{lfV;7@reuXJcg?S`$0+V!?e+k?d zR&c|>#HJk-Z?c&is=fG7uWZ!$^Tk+%3w@h*8XCH~x^gm-Ad_6bo;L7cwI<9jmo_m+ zAo$rqS?x($spfHw7g7X#^6uTc@$vBlo$EFzUk=?wm6>UTf;?4#jFZ=X2L)9W@49wS zR%+?Jd#+AScVSAU8${{zs}t1C+zET2dVN9Vty{NXxYREZ63jE(n^kI?tBZ(8=TSn3 zPB%<;e*XL;8~(dcE}O~b5}HmF+ <1dcH5rdYhO0r{|-cTVKLSTqV*8Ar78UJ@`oO646S381IEq&+va2qvyO zdY!h58q}q?Z{JS4=YWNp23$BuFgteq!v9J>@^r?Y^OWCWV *2t+O>ZDT`2dUsIYdyus9@@AZH6l*_pg0}O_voYX Hd)&qdqqQb#o>1J(}r7G*rh@Num1`i)lguEIrRo&XwsR zPkfF+b)Tl5b7IWPd<4;DS!Ymxt0u&Wu&9HW{C#9??L(w#nwt;#9Evj*nsistmnM6q z>!Y0@BMtaaj$g1?WJFp;;pZ4Lutn`tw?Wb6xvdX-U{Idy>a4GS%Jd$PQzUO_a1ce+ z78#kGfQ8^`mSt8WG{~kWVP2&ZMNMX7!f(H=XG?9{=7FWFHZ>O_ES;Nc ) z3J274^&mt+ZAZfA75JO;;f7l=A=U~(p*AjbBYU7W{N~iH9Vc_MT#@^>5Kz~=6id*< z=9A;!WO+Xlw{}~3!`Z=iYwU2^)+89Y5Yg@@GEhg{yLXRTnv(LuLoJF&6HIh7%di06 zKd?VZErp7&qjQ)<`}*ZzRQcuW*L&e!xFdw`{Vq&sEM77HYYP%DdjjweD<26SWOMM~ z5iUwO4!me8w)ZQYwD1CIa4ahjdTm7o)Kb6zpjsXe_-@z!{Z~r~U6TgGbV}KCCnf$+ zGz~KpLII}KvuDqs3vBIZXlOuD82}R_{85q+OD5mDXQ!!u>g C^48Q_040k&%(SuYDQ8pY7nYZGGZ5d(Of^c-txm@Ek_^M it>9D$Y*#v3(%0|&0L%HiI< zhxZ+O1Z=B*NKfx%>HrShJS?hwV>+^PHkXR1nA_g?Co8a=DM1b|Zr~my$n+#Q1K}>f z Ops|qFRh1yccCDcs1oDfWTwUEuDBzJ0yz{B#NLF_E)oa(rhhNM4_46sS4-uY) znNPQT^FJO1x}Q$B+?7#hlEMa`&CM Wu^)E+zmTkg+kFqLFMG$fQ57s%J)Q$rPS4!wN2D|QMlYJw{a zywMHfFEXMGUZky=h=H7rj@y@~2 I`d`OZ=b{@H!q~DgX NNqMT6mqWOkP&OwfYo$!O$ zy0=(TaLDYt&w$6+JPa)wsD<}iSxGn0I!=o%47i4(muTZ)@ok{E-_8nZe&kFSR76W; z=Ow|?xv$=A`}Uu2H&{?LroEOp!lt%gyr)G=#_jR`nKQmbjh>X%(xM`8pid@p0`i|Z zAFBmR0M}clYm&=xP32Ct4TKjU-F=NM=>Y`2&4U50D`iTk_@7HK)6n{X@#3ov?)t$! zi?WL#vYMlDD2?3#z6zHoy&J4?C^8#n0^A(y_-lbc0Sk!W+&t}g*@pHZQZYn*f*c^x z5EDQ~En2OzOHqg}C8)}gyfH2}Y^Yppc^SAT6*L6!ca79eYJ)O{nU6aauj&q#p?(Ci zHW*+wADXbFlvG9|>yfiD>?BlyU~-`P)vJBgW(jJhxvMstCEfsJ9#GKq`S3H5L Hg;_h5l}^WYVQ@+m%Pi1`v9;PM|89 z;!uS9vY}_xBiCYknf6&x nc&++@aH97Uc2ZY=DnEqcJZ0 zvCia|94?p3<`PG_a%EG2H-*bj8UN8PXz;_1nvQ( )RRW-NG)l%hfXADL zt&FK*W4*A+b7#+@S?UzOJsSqaHOEMenTMp Ex4axyHdmFmhBi6sw3v%AD^E)qjdwq>=!DZFo5WdGAjP2HoK>Cn$T93blg@i z?kBon#J$|yCNP^o#})ba(l5hPJcY8>!O>AqFIEfkm !%XfJde7c9H3heL7D#u&>VP#Q z$K|0{1!1Km9MLl%Aa6Q55Ep%-si{fRuPb#7JlXD=E?WPSZYcZ)w9E1FT7(Px0j#@w z_FOC#U|`S~k(@2~dFE{NWT~v%yg4Qfm>fGLF+5w;Alq=K;B`Kd(`?DW^g= #32ISavg_b_U7 @s`0#yi zXI+pODJh$${nBvU@j4upu5UKEb}L(W|NecX4Yu};#%zi_PvQId^M|-xt88JjYZ6rb z-a|=)gFX@xNg!>xWm3w@7A$)W&-b}NN9o-R6wWhe&*|Y1p6kKU(c&i-ZhuT~x2G?K z3zQ%UL_L8VMU=lD343fr8YnQcEy&F>`{}1&Q s&K Nrj_d#)+&zrtj(qZ{bPw99 zRxDr6M38`N89Rl9Hm%-3F;G%c0v~QUydo+Y(j!Lvp#TGQmoO6wQPjztL3fquW(y$w zlwvQW=5;W2QNxk2Knlcui?NlJif=a%-Bgjo2%n}zhY#U_pz}Z&4FkCne16NMrXY?n zC8?&izs{cf`vUpYZnOmLxuJ3C^5u{4NM089-b>P#Sg{Wfj3_!&63M8=fQIWu^e`Xb zyjbHZMQ|LsiD;N=1+Fj<>SK(%-(0`b>l6O*oYdB>ThHet0;$9F1fe{VK>63Ix?n2X z+9ibdA+W#oU`Z0XNu+fTlE;?86tisEookeb4yRK~ bmP8%!B5Z`mZl8=AXFVYRYE8>0ZSb9U54pNC;m`0+;@t<;a!NJ;0x)Cb- z326PQ&&?(ZrADCzV^NKA8qE~5#~qeO_CNl#I8)x>=f$t9tG&^x+1uN@?YsA5<=d}J z1MIR^4RUD5=8u0L2k=J;me8V)h=3AelsPsy_?RH(!%@(p_u<|sWdbR1_1d-fFYDm+ zV1ERJL?791f*yhL4u)*HWef6KMN;VSIatd3`uNb+Y!%_E=_14@F{tY%sI*aLEGHUz ziROff(b3WA=%$QRPb6eQEzZK6MGQdds`-fjU(>stQKo?^$CtoWPo)A^SSXT@zPm+u zxx+E$a3bEF?q38ij>`@|bxqP6C A0a(CwdnXO&7&cedNYB)AF7QG;Q z2U?j-Rdl_}$-QN V|38yE^}BRDsM z+OaO8sJaRY@9-Lb5O~WDGH7W`2$(=Douyo&+b^{nkl2>1jqVPtCIIKVrMk$9C4@$H znP?n?8EBn|xArj6T5z TOHBSU5IQn2> =#b8pSbvSdHnX9iR z>I?2Ylj{ztWv Kuwe4hb=U0jBi0o 5E|=NAviqQwkXo-xu+_J-#Ku_%(8&NUbC)u(LSV@?6xM-lLX@S%;E8{K0`4U< zCs(=o%wvCg0bJoCz`oMcw}zGNocoOCNc7|X=RNlT1McZ3D%J(1MxY@cU}Oz96fI@I zOz2pEhbQeaT;yV03v=@gg-!6Aoh6JtAs{9Qohu1UuhBqURMcyt&%XWqQBw3;&5eBo z>%&a9itHd-; nOK$nMlc-%kA510htNT&HV+6Iw;AtO6(+_(X=9QPy2 z1Vo-Xe+?+L5XjtZt6>_-X}+ILtLcKx&b>mic<99%ltO!rY%=$o3xOA~uD~VX0z`6K zYJ{kA`}_JlPesT;Dez~YTr-3w9Da>Zl5+*nY>VJGofbQyvVxF6i3~#JpE~uA8s2#c zGEtZE`WulW9_8e4NyR8QLtR`_O6}K^NF_wAS`=vYCi}p{ji^6a)NsJ}GvmMI5JK2l zDw1|?uhYW=xmosrN~uYN2E!)^UpCR(Z%I~D3nWSiu65Sov;YzzQcZJP?qopahpS-T zJ)bH>YOf)@PUqOfY^*1UnA@c{r%i@I$B!=w>s+=R7KuyZi8z+3>T2uz^863=vKVjd z88vSHMf=Ljl7alK?nKSSu_E*~tdZqh< nfIhlU=qT;8~h z05{du)%E!gefszjpJfjWRCm9WH5z++CA=vh*Z%3Azpo&ByYuKr@aW)ckW;4Xl&e>- zf+$W+-GV7X0N2)%69rT i@0w!<#5 zXpNc)iR@N;7v2Ew6cN0uli)`*E1yDVw-#bQmq$bl)Is$l_ *C!Y1#nD|-rkMgmgz8S}D5DM)5$ zAA!=ljL+ms?FJ+!I5BRRT5w3nxnZboXWsvV2x-Mf6 a3>m6~iw=)1($c-_BU1YL+iF2-wzh_Tez~NaunDIM2?rR_oQ{F? zfpHA(Ls6E}Sv4VozrVbjw)oDl>H)y`Ig3``4S($~@fI}E5Dx~P5hB#~Bn^&@i7iTj zTcM=57~n>qvuyct=hRK*^Ux>7I!oB((RYhR5M)||iO-)uFAkuA?|8G>u!xcBf5XLO zvjyVL7BodYMCn+bCMvvhTQ5TH@Z$%c4rh;+?c&+rOYmQL4Uh!Qx@Eeqe-qQ|BjbbK zkxjqrd57B0o%`wVT|_XV74J`oL2ZX5QdudzdGia *p z XJxdSnq6pF(^~CbDLKm%4`4?%MFK7 zw)x$=_3wX5OG_iV)2IZK&F;Y1n%BR<$m3!f(3H>+3P7^u3?y@?0ria*@nDHWNzsK+ z)c-Me?pz4Y6mQrz(TKde$tCBePRJt!6|BOo6L45y&Gbs%x5-OK;iaY44N3Q|x-rc5 z4Y=(|H3TaIZs^gYJru#P7`NDegt*HAx@Ii0(Xv+e{(ZWgu)k=4u(D9Y+z9gwc4Acx zwFLHjkY%QdK%j7X{>U5j4GM~mjNJDoNh{!0TN`fi`4hkF_m-9-z^up#LSRPQ;n+Zb zKiGnmOPA8G2|q^3*C(i7H<@lXJq%)a9$eD%=IwnWq2cr4jKs@w$>hyMo6#?~Q@nGU zw;c2dWM|vmsM5Exg%JzBR@1R0e4);V6zHZ3@el&QWG}Q Q%%p4r(qd5(G`55t>G_Maw(36#rnD};I(`lGLAI^I!|LN~Tzfi!C zH7rHYl-GxeC8SJ#T`le$A}gT%q@-zbx$@jvqo3Y({IFr|(sO5KtTy)8A)9dZ*p3BD z*7W8#Z;X9ZxwE oYvzyJ|1s;8^pW%1oi;1X*Zgg^=5KXV z6d&6X!DM6Rq+N6C=T+n3b`uT{UD`NLk|qz1n1J*`;@&z0$6z(0O7(z`Msaa5sy0|< ztUk81w9I|*nZfV#Mu4_Br-LSvN+(Ex3l}fme@@7SAEwq={z?DlmZG5SEv31+mb@jH z<%FwiVQB-cyvjxCIs`;Crl#4wK~_g|N2)j(U=7VXsTH^h%g*{6-r*w&?d|PICXqvE z=V)os-nPv|QGjmuK`s|JQn5Nu$#EfQVk*Cu12MCqu~F(+4S*vG_o1_M`KndDpFZ9B t0qjIR13S02N#~Xk z4Ea7jJ^&jIp@=G@n;PyPB#MdzKZSLmzP2DP*piwE&uB4b>-$d@bq;6&qK%hHz(#_W zk=~;hd7D_*prhn=F*vZ>Kj{|dX6>GYc?+6oTEKjp5!{&q4^?&b3}FmxIbc0%3{#VS zCd_HZ>r3oVR%d3Kk_6y4E`a|kpuu9Mf3j`H;sRhdnHL$=W3yXstXj3oW<)0O;q1}_ zJBvb4YH0yihh_ZcvUvXd V$eNS3Q6Lix+*tGpz z lk=LXQDvy>&DVGBn}2TGLJKYb&xAMO)?8NE%=z zK@>n^C?D_Y>Vj1ZBy;&VWU(loJQug;ARL|SA*5+s9D4LM_z8H1gdGpYEcz62?}^Kj z#-b+&U`Nf$lH+~`WH;KiYi~5!zvnk&iC6Th{UGh@>QE(Ou~~lfRBJ&+%N#-2b#I%( zwY3=`Zj3`Hi`39Pd)^-ME=d+AiXn48L5VRAY>w&8YqVQtn~kZ1;wH61*kefMl}QM0 ziDM1ljr-tEnS76leS77N*w}zf19sP&>m!KA$KI1+f~*f?5R3&Oq%1#)E&zzwcdILi z3^XTtrQ+|f{nptB#E7I6A|1$5O2H*45xj~aSZwYG0*gxS&tUH5BNB*~7Znvneatr1 zq+gBvc=Fd@NBd5>Q*`u)FiGgoa&O%_0-pvu2|l#Vt4)%q>@?!eCsQstPtwz0Y4BA< zGniWoX~|K2eSOQ@q=5<5>bn}ln%G&C)e^A0<%PHLLwasU5c)CK3g-T(Id!lLrX(l# zwisZtdb+#UH4@wnx`M!f4-BwcTOs12K*v48NHp9S$ l|G6w zdKZx7NdT;LSCs4YaVWoJey>^R4xSR)yOE~$MuUZ$gv?m~DPqx@z^*r|YSzGvvM_7G z&q6~luYS00n4eHRfbB~c2fqM4%$1!%2IGQ0ONs#CH8~|Ey~22IU4{6GZMbhwXa1tU zty+|P(){J(wVt!jWKrC1g8oaw?MVpU*D4z5yZEaF`jWN|fl7FSb6}2$tWo;{x|j_X zlv}&v^qDj4*Az?3T>G*)HRSmV7v4t))j~lwZbT4gM>Qga07(V~6{IG@_7Z#L%9c4a zK8J$a^qi&o<}` @iS-U+^ds* zH2?w$ou<+>BcsYI(iZif5cwu~JbnHs4(03D{pWG>qu=vnZ_^ B>8LX)9nScIpW zTQ7 +{J*u=%NHUOPp|5 z5j~w16>wYy1f*3!PEm%OM4_R7Pt)n;4`CAqQcpIXFwKnEF~`YV8)Urx33E{oC8Bj( zpSw#!r I+`ISg z`PJCM@xRdY)^+ur;Eivymy~3c-C9;+tajZ5AxGuH|NDLz|0a3-)b#f%m!RkRhKI+9 zdos|Gowc|hfK!3x(kp )U#^ym; z3`@9GQew+9LxT^uQ`k^Y3jJ&kHy9lAy*eVruf)d9ELL`Q5};!Xtiz=O^b2XPU7Xqd zJ43)>WZ9M2C_cV(r_4#|;I -}R z1I8i@u!kBKOZ0|o;D#1Jg%^2P7>uC{-l-KLw~{u36>MDWS3d3y$0TFCT)uvU@%6ns zoY UxX&$8MFRG?dNDxd>aE?Ico* zd3ep~RX@91yv B3Dv5W zr>Cdqe(V?;1#|mpH5Q-Gggq4X%x7j;!>QfFxqQ68b>`a5P+RD42?@KwT`j?2B0!=` z{R4H;dYZR)w!>X4zlIe^4>!p)JC&w@prEKy_j4bU%VME?HpquZq9~;OAR%G4Y)%ba z@rMfqFb3GV3kaHT0$>|@$N>8_V*HU*?#B%I20|b~^R>;)sqDMnR_9-!;c1@pbU)40 zAO7OZ{dYTT6cgGy>Tgj#zKWIc`f2uowEn4mxXh9KW{?%B;|Sl8at&xwob!&>Hnb7= z&79?p?k+rdA0@&@Yi4fS&*|E>Wy=q3m+AbNOP4m-4B*~4lc)8$`uh4u+ioCKvCI82 z2A2>b8S)u9F>c+YJ7C(vAP8 zwQCQHIdA*+MV{RUkwmB*HYPeC y(xQY?+idAvs7z8b zY|@IPnwg}d(rHFz(rB9I@P58|p6lB8djEOf$NFQh<&tKa@9%rx_vdt{D2m%Jtut2u zgtIj-!_Rw`$BD_UGU4m1s~(naax*c1Y?Ep~)bZdey(9_(uz)Ab=pEZsraqTDnAq+7 z2V8Q!{Q+I;gq6|FjIp8IuM`eLdMdFV%viOuQ&tZ0Nzy)#_{#Kk5Be&ze)`(1)9751 zuJLB)djf^m-8~Zv6C+O)qAU |oL}-Eeq`sOLpBOOpf;$VUV963 zsAO<(4n*&qvw@^TIO6BG+f4$h*L)Zv1Pd`NtTp D@~;jfS1>(5W@j=4Mwr8m@_W8=UdfjSDCAD77Cc(j>~5PNEyD z?a}O*q2pJizG)XexG Y)a*yie*VC9wz>UNg! zTaplDHAK1(mZYz_q#>nl-MPzRN3JZ!C%gLanGg0#YZAq#>3?^RxftDQ6^55}5-C6z zZx{cQCkKsA1xAF2>jr$-*v>OWOom@k93M@niy~s}(OOLET4e~D }IL*r7Q8AroPk;6w=twBRa=rEgA$I@P!;|u7!NZ!+Q}muXSFmp8y~rh z&luJwj@Gt1pM3dz%n>z;1#7p<6$)gux*tUqcXo~w91d?IJx!Ohn_FU^NI!#|pOb+p zGaP5-j?lO1T|z^EtBj;{#x|R ojnp wEuA#WmiJuHI)x#;GwjLb$3elCZd1#cIk&UD@8w2kLF5MVNfxDMzk3jAVi0q zMz{!Lgvg%UNs>8Kx C*s@Va3JNawJ(({?^UmjpOw LS zaTY-q0UHKg85|spH<{Vx@8_q*M^X|#J>98OlV-Lci?zO9TUXcbLM58SHw_IIq9fkk zR~Q#4+!YV12dvNoZ&Pi9&H=VshbTcAzVy?lPZ{NjAZ(+#d3p9H&$_N70Ip_#i;q|< zLLY&B`kagmOOgJsy21ErR_W0(BO5jGjTRT_jV3zTdMUt(!q+P#?SJ(f70iOw?ua N@bUbWyflXdl`Pq(O58_NDQNf;Itb*6_ws3}U~0#4}K}r7t^) z&^bN*@_mQEXW+q5Vq}v`ar(%8SXl^C1k-bw6cFpS2;7q}?k@fFEu;-=ycl-O rTt(Q9aozH018MGPNCB5>tb@1S--vLa-Vzf;lEZj!j 1X7)CmoGhQCH`%^ zSwfk+HkF<)5&&^{S0fqAHtd-_12k@RrLn@U0r5=HOk`rt36@UinQh&pw3C1QexKXl zQXW@yAcL=v!hld;_!!p#Y+FJxdR?3pqyxbip-;foDg4^{dM|bZ2*dSM>L}7{p-9ij zfR!Bi sN;0bqa5x+6KyDwwKSh^g95f$B`^ENa z6884$K(?--BHE2;E{DTFN;p7aq{AFDjacP@=?h;XJDdhjG-73%_Th`B>m<~aT57^F zQv3Qfr2^F=4uXuC0VL){@fxZJ$x+?!XcoA73$&1kbPHJsx+c`D)9+uu?dnS9(1;bZ zd}4|3=@9#|c9Za)ql+P!_OXS!9ln{E7_V$5dMg{p`?$2K>5f@@7D?KC|E&c`Do8*} zw<$2L5$_KfE+CqfByC9vn8;2^m^LLexXxX>&VxcoTQfPN{Te;yN^ESZ 4H9&6&ZO=1avtnJlARO;y^`L{65PdqVS{q1($?I8V(T}G$E z4M4^=Y)B9(4*}sX=p^Y@Wq@uPzd6!1WgKq4zv#aH|H_8s^(#6mA&6B+BoiWI&e2K! z6NQOu1P?6AINB-809+esy12u{I60>u1_B<$O_x*nEV*($uu+PV81mX9%>ZLhJYIsw z6f$4K3Ox-CJo&7CjjeS{)|szgpWoRp6kbtY#m^WIc3CSd4X`kPyDO980$qE{#*VsR z^TmI_9~kytB%0P_f`X|1ofX(tpSyb;=0oO+I|iKoJER$FkVGD&rq9>cF9Y(e&w=tB zhreV1fl=8Z(6)P+$JHOsa{)O(<&bK3U>96UPW`}wEy$C_lA^2hE^&oQeBsq?C5bgs zlB}qL=}JJ53@%7CyhaHfYI*28EffH8@ax3gq{oNPte)Wf(@zfv4e%LPR9MD+_O3#Ls*g)Q2C!uP$^>d$;J_i&viwA_)pd?lW9~NsJW0Kdz}F77#{Yt5!|cy8 zMST@xVMYM_2P`>^9Md`gjO9>NAj$Gw(-E{CCWLNnYDeO-AA%`d&t$+p|I{*^(m^JY zBwa1y`;&nkADryFs==Ds+VFldqhdl%9ucRvp+6jgv9yM50@hbQ9AdL4M86*>2~|6k zSHBN&T}>J?>_8|+;*H|eJwKr9Ea_--7k2_zk#V4OJA&DLlnB9Y+!?Y9>ogX9Qr((h zG$zNSC-!hA-#dQe<8#T(#~QO{d8aXEWz58(*~I@{I%Bd5gwCO~O0NPZ6zsOd%t@ >*F2BJzDv$!-z?pxF-Xp}8dBQ@saCG>dtMcK5~& zulNzm{AL&otxV2SxPCQlm<$jZl&uR8%b-H_+)Y`7${onG96G^da_P%#Qa|D)V61ud zYUw$vr3e1FfRGX$WG<)M6Vf4$4g7cE!o&Eu7mINK>WXd YmadjiU;a51DOem*|-RY)r6 zgw-I;Ef*Z`Hnt~%R52k=4}zoQcRXx?>Y{B|7w$E@_L!OW`u*gt{h7qw^By=}K>|d$ zMT6`}0<8!hq5@}244v|~I#eM7Jy~zr;TJPgpWnpk^t_9MYU-c>P{NWSfx>*a@~~;{ z6wVvS=2o~g;>VvIV@m=AI|Hyrpg=$Z^Rp#*G$Mq1;c%ghPA|h`da0mc{lsW5>DlXn zzPj448F*G^ogP$}1=q<9%KQy4G8VxxNVM}|RGVq+I|Bi!Mj7^uoP;uMu=nsvjKMcQ zOwUb3%+Kb?Sr$t;@0TpGK6hZK6txN=AIEZ@t4a|7XyvB!@WBJG?DDFrs9VcIL766t zcW1_MnzDi?zO{YJ6)rvakvU#MWBy^ZOnmn2Ot1trT3?Im?Tb`mp!_n7 #FRHUJuc8WAtfp$)U`2tMiz$DIgOGh!f! zp2a}V2gJL(L4!pn`%!>N+PX2kj(ah@ rL_dVb9|X{1f^ia4Id4Woef=<;PkXWj7&aF8 zzC`OwqD0CYeD9N$FQ@`&RyU`SBpE_*wa8Z?eEzNd-n|BvuDf=nNbY2$rA^5m0+YdV zzwg&XmkoLahVU_!Br71>nzQD3vik@4>nS%quuFyCzwhd^6)5yjLS&R9P$QGgcBC>O zh(mcSNi4EqVDg#cONOYMB))MN^xLGF5PM{ L Q;YAqhe0z{ZH8 zK}D!QV(gUPz5A!1h9F7E90F;vB{~2AkyCCg8U#UScUt}7Gc&QZp<1K|hx(j3zG;!L z1HVp4(3O}OkNwjm9M9)`?)Wh|TV?xAXW?(jb745iTB+-H1cEBCGV$~PB &PpU2y(0@L1h;p=IdK_GzmP^~1$0b$_Q zxH)+OqWxMQeRcI&G)U(7vu0*&TuSNVFm1)e#)43dnr&vIkH|>-{Cda)z}aDW49u-8 z4FdBBG08+W`603wc}P3LOpJ_l9$jO!o}YlW*#DQ(u8&o;84{HVb2uXHIv5MGwxXqz z1a^6r0Iefwm~T{4=~>CgE^uK!Xm{uXi7I&)+S6VARb)6SgJ13=+!exMnCqby;C&>1 zwVKjZh)l%@5ENiv|9*0+nv>6I #89K{fzS o@n=W z%?Ds?K9U687>h+Dt9RiTr&o98H}t|;o0P9=kqOv_S`n59F`)?Jtb~X{=@W@+&lH9w zoUFqnjX88|_+vD#4*@xyK7HSvj7>Plymob+wMd;_(i^pbtl7dx T?}8i%dRrJXAMF<-fWTm(zn53_ zn|Pw*b!Ypx7*`M}*pw+d5GQ;6GhPJbNK~mrgoL)YDKvDEbJo ^#o;Z#oFo9@2}J4Z%ae?%!UW2K72Vx@%eJxcLhwvS#W*) zAkYc;zL+M#Z|`a&t|nyP2THbrH`+qlGDlkw*OXzr1hQfwK7LM_6g^d_a1DA&qC`}p z5NZqQJujhO09t|OAN^YOmW#SnrxF$L7;tM`DAf4v&|MNCM41%xUICl!Q?dujbtF9s z9GF0#>B}H;f}(#v^hgLHvkbuOKIYnbh!HV;I5x_QMinKbaV)iWs3MvDZf?1Z6U3hk z)77pj6)@U#%so_Yeqznl({O&)SWTHR;|#P=i`B>rK)IBC+H~xgnA~*L2RxxuY_CeB znPhaOrzQ*x4LMfPz?|U}Rp0sch#k #@@FazY z=l9*f4CT`cL86bjBx}#zKYm<-fHV!sqSdPlu@i2!1cyXy*-F=jG5+AecW4RYrHQ@( zA$e7({NC9fP+K_-m4ei>kQna0XYNDA%?R^6mrg|k(#UgLc?aKDwC-T&dq;6-XecQy zLF@0->&T;-(<)xPNdDUFE^0+s8|hIjTOvFmd3a(`>
7 rA5Ac?4M> zg8N=5hTX>Ziim>#QIptALv-n$AGrP}I!I49Zq%~+WvyLwxzW9s#OftTPepjFj~Fv0 zONuDDY?Lo51BITYoCED784IFNt5)9Fjv(1;O_;oixXv{yP3j|>UWPL`0Ci9;+to{s zJS-w)5xKGbTtJ!#jBdrongOGcNMNnTCz3G^@{Rrmwh3;pdGj{vEAi8WVYZ0g0dVla z=k;dL(VUvI0kSbDzhgP2+4=c{=<%G?ZL>pqp)smPIo2hiz+kv0Ou&(7nXCRg^wZ>$ zq%t4}X0_2q-kW+UknDr$r|t|my9dZCp*-bceGR@10%m_4c!wkb>lu!N@9?IOUab{z z=) v!i7#%rgkyg1?*1W4|T13lmea zfDXEfq|W^s$0i+`J2XxZX>fl*!y7t)xqmD7` nyt+Ddy80+e-Ev_tP*JoH%i|Wd z2SYnpeUn&u2&=bIO9UnU^m3Y}rY2I^-mI3Sao5dxT{<7)44GCdDVWD(ze_h&&~PtI zz=Xwjw8eNyX`Yg6H9VTd_GLKq=bMU99{osB_v}06fUHp6eMn-i#MR7!quRQxpGe-g z5Xs{bvc{Z6<)+aPCV3Cf&6QvjLjUIV)`~FVIZ$EK5PWtK8{ARk-Bhx==|N;^5 H;K^Dg$kcRz~2EEaXhpbwM!w)OAhiUf>9+2pilxW21}UPrH6) SaVjg?0jq$rk!ZnHqv(FDgl;15$eRdF;vmRIFrhivz zh4Hh}e^~4>yoMiW%g(^Ml4j_zY^YL_Uqy#!vzo_Sf$CT$?QLLNi4b Te7i&nXCUgebxYat)pJ-< zSfQ8V7j6LR1~7V56`oAAfAj#{&GS~3RQ4V9o~yI{7W)eM_?bAX1%f=FC!2Jh01by` zQ7FN^w= zr4hM52c|4us6l#{^^zkT8?K6DLp}Veuytk!f|vcMyy{4Np+>)#ju|L z$pZ}>i;kF&Q&!Y{yR-Jp6OI<(;aUiXhi4e>nOlMMs3jFp2_i;0;`XES6A`qZmH-|! zThiT~L^$ApnJ;0^MgwZDchnk!5Q-~Z3-sb_kGnPQ$q_NDrb$)Lfi#vOv@4>G-=gDs z73f!*GC4W<&NgNLe<%+5e4YJ8lUDexx}#yy-Mhyy*at7}A^i)YDn6nUhIc-r9M1SK zA+j2tL-Am)4;=tWG`J}s`#B;>{2W~lqq)T}mQS$BE;uPHjRd2lDxul+@$`IE^b1ld z=?LD6kkOzOE0f}|62;*RDD6;Bc f*a_-+{Sflm?B!CA9p z$r5m8ymnw>2=w8%r>I8|BN3beLNWAZHv}Pe(C|@Ih^c{TBuQ6=#Pv|&Fq=8T2B5OJ zL{(Fok)O|lPXiMges>K^729F-*geq|xEXvT^Z_XHoei}lQj}9jGAAjg`~bpkR;c$K z#3sBeO03ukG@2!QUQvPNfVeb=&%A# ry}av4l?U9<4_p%twCrnLyd zK@vb4X&(hu+tiBB$$azvQ?1!w?#P|G`K_I}35>&uhIX`ov83=5Lx6MktQ4q%m4sYz ziO|qdl{gHT>XCH-^v$r>7LHkWvJNiA2;0Dj2zrHtq-Sf=Ks+u=IQu=7la_`VETbF* zW}`P-jyKTW-o9%-=2Ta_UQD;U^O*C)YpBVWXdvzP@%a6h)_Zi;THtULl&PWWRS zKVe^A0{ld>1KlUr;+&D32QfN88T4>G^{aShaX!+zRFBmeuj=YjbyejwrCrgxix)3q z!B1H${HHgN*r&8=M^I`H775xZumBIZW3c-N7`dh)yf%T50uI|@frf*L9sn|Tp3Mq$ zcD(N#f*@nmH+vJb2tEl1=H9(GC`_!0rZCBx34&x%KDT4In&LO#BM~qPBn(dPfKekU z=~EYaTSPz(N=zX{aIi&E8-)pCp=A~KA_*M=pb1#0>@e{cXD`BE5mi0}Pu#;6fH|q_ zxpy1erzG_3y?L7*h`0D8Z9C?(jqQU39(GW{YfS*lv@R@+<6{j?#^P!^lr@k+4mSQv zT!kzHP3Tnh!>eAtyvE6CXH8@!%HJ`d@5yLUL#`^2{(@7(7MkE*zwjNLC$9{9$07 zOF#6`e(4H%yPir4<>RemLTw K$X+A{%Q4@TrntvF0 P)ThQJ@F^S5Tz;{AUryMa&S~~Z!$DrCNiia)ShT$`s zis7Nag@{FhJE~CZfVmp3%>qQjYsV~gmMs4yB>~w40QwA`0tutxoy?KXdrCUVDg6DA z)jh* Xqd*}amPQ**u7`Q*j1a7(QAQVMq^|*6Qfg;w?Mv0cT> z$)9{d0-)w>1yhvGp2$~$-ScwkCsHm+mNWaM*S9c=^WLaP7ePoxmK;A8mK=D2Q(Z%I z^M>v^-seNSRUv9!iLth(?i5Rk=Fzy~)Zp)W3Qx%So~Cb6h@_9&Qb>Z1m?Y;9mPBko zHx>NG7g>VX)MRt~`0^p0rQM`+Tw-|jZ<3Fnvl=*BUDWbpmyU6BES6l%D1%+_J2K-I ze4;@-hP8^1gRo;9i+gSgZ>-1U`0Ogb9h55e1J9L(A^-*xw57d*cz5B^&FH5aAqh&v zK=*i`0&kM5CUjcZ0`D?-)CZSMRu=4RHb@00Bp+{dQEZDJd$xB8kg#dJAtWoa_q3$+ zEvSbYS@v!b;pnYHe%>g$G-k~B<=f0RI`HunZ>grEV??_4Hxelt(Q0?#Cl5WV=S!q0 zmHGGYXOuHV&Mh~=w9@4ZqSgb^jOzYr4^qR|1LUHr&`kjl;k6TIm<-EQ%gO94s(f8t zeE_B?)s*~t9h*t!EB6>`b!8`GCgLTM8G%t93AbolTU&e~WAnwC^MuUPr$2%1?QV#L z+2|Er4P;B>+Dbzx09P(TX2cE&Tn)85{J+BTih|~1GKA0(mupaw2ubt5Dm%(9)+E&5 zE88*Bdud(Y6h7G+Wv2wp3E>ueLjTes$m4dvluscE{;6JdLz6No%8?e860L4`!~Ury zcaNSTag)*mrNMVMasEJ;>>}&Dwfs;xWy7LHArXvercXpWKRdnD9)EeL($*hmCSURo zXrI0Bq9_Hxi6*o4(Rt?#no8NP0`7TCA_eY%+K#wa%F{&)7b-D5*j1_EUOduVyqCIx zMq>g>lKJHT7Nf&vFB>5FGMFHCN2$t881pJrkH)GaG$gGYUpyHbg28r$i}9=?Jv{s| zbjXkkol9dN9|6`4WC9Q;j^=cGtl`22I&U5Yij5d4jPd}Z2`Apr;H;0eTs^?+@oa`0 zQNbq+G7xBt!Zf5AM7VYo>dZyZ&NLudny(%LJ2j?|j4r)(r?Wh1BxjN}vJBgVqTRfK zLqUHah*jaffEC<63M)b(Dzu|9acdR?3?G*eJK6 U79=Hu!Qn`ZK^bEu+UIi; zT*M*urA)-(6!~wqV}z92IXZe2IAKU|Xd?#+213jrL|gjAarbW6i-3J#cyiDuvFSFc zrpuO9gZNjtN6uPV0R_qy(@~uWujI#MGCCrj%DHPPE(9@#+sG3o3|VdBzy$^OL|(nl zvg)ZTuzF-n(4VgM&uxeCe@n;xrT_eLNb-LTU87y`=j7}EBi4EJ_d@H68x}Lji|ba> ZcsZMz+$m2t;J0J8S=gB8e82za{|1RL6tMsR literal 0 HcmV?d00001 diff --git a/assets/ethereum.png b/assets/ethereum.png new file mode 100644 index 0000000000000000000000000000000000000000..607995d4d468b171a50481183b04ddd5e392c605 GIT binary patch literal 38170 zcmeFZcUV*D+C8jOWQxMr01IHpLY0n$=m;uZ1VKSSKu|=Q^a#WmXQ(P878C@=2uKl7 z0a03X5FHUjN~i*Y(h}(eNJ#nC#+fdU)n|C+&Ba8WdGqFf=5olu)xcouysz*Y-Z}q^ zdGqls@^d`><9QUGe>VT~dH6Li96w9&oOloMvvU5IbHC5y`KmvjU%~Uuf4qnIB<1;^ z&0B=uH}SI_&zIqM7Jl3!K7Cd>o)eF+=KkA a`z* zB6W3Zoh8z?4*aTcP)^(6!cl+22G!*Wl5tnoJ>q=H`|ij5+g}xbqy5#7iSPD)C(_JK z-BrJ_{Kc8+l78vo;m})3;j}{wYGW&G3Y}InVlUL0?NMFe*lNBr?05D=GNnsgFxFcc z)DU$l$DztK *DET57Vfx29Ek%e5$)GA-gTuFRGHH< l25!_n*a41Ki%m!ennY%=$6_q(N*7Pf7zv>WEatD-Qhdl z{QJ$e^Se9_zE(ZL=-b!Ipn8bwzq)eRi7g>RGvORc3B#~03UaeN T0uL8I$2CD7r#yYNgGlS<&Z~{*#LJ57*37-d&z-dH5GKfO zuhTATR25Vel;rh;+yb_*)BR?R&go;W+6VOZ{Ba8Wi?r^9pP#q3qGDiRphBREg4gNe zippAAT8c{B6}NAf$2;VGgFXEmgXBGZ*Au7sbPhciU+2?q-hOUgo@ H407~VR8~+@^zcyp=OcXm^aF5`Kfcia^$1_fU~d=2 z11`Q^{->Q?^aETx{nr2UDULb+b-cI#=~Hu;bIe)M<&=vD-s+1_RsNTcB$m=&M-W4B z+|9##?kEiQzr54W&GjFH^)KIz_{-eo{PP#V;eVa?U*7%awa>j7?=msb*7I`qC%&G6 z9%&u%`P#?4oZXIT&pqAlqM~|CRn1vm*-1-HURA@ AVoJUn@yQZ46v#R_t7Y$W;RV_^=c}*oJb@^k*v@|pvHC$Aj z99{nD6lSO0Fe@ET{qwgXPIU~YQc}UYRUI|uot4xOIUF@K<(-sWT;-Kq)HT#p)zwuU zwLYEdn6vgCuhSlmxSehuj>laTy*-c5eFib$+Pn4}kk)NiQ2NI!`%gLgx#9rQI%79a z|Db>T!P3pc#lp{#7)@mjWepW|EhQD@?Mhn8%4+|3la %8hiWAJej%(50ecHv*&+D|Mm)9xMy1&BdUw<~iaysVd=cwoC=Yo^|6<{s@46yP_ z2(zEQK5;q|uVZem!T)dXCKk^c9lRg6e4m>yK0kQwrB5r$!o}y)zdrr*l-t}=TC-+u zQD{3lf4T%;#{idObKeu^`t&E~6ONw8T@XF~n67`m?)HC~3QFoKF6xdh%JLe@n%m`7 zHC>$KwKNg=RkfVdFqJfww`*wr>)Cz1T>SzaPrK|oj&a0TVS3J`o;922Zq$~4eRtpq z7ve5pz~q(G<(0PoF<{Ede+-!79~Z1h#Ed_$SV!@HjET )#rIf9uWvon8MOu77I;{;fCvcXs`4 z!}ZNS=#+~mP*5Pq(!@$FJ5a5!z4smVoj32>rNqztc?mZq@uG;Ifr-Azz=F@jwZ7@~ zE(9B2GtWS8mt|1f$9A_P*LsVE!f#i2?OE}~vsFu%?b_)xZ~6YlYb( ;?!9*2gm&Kh@{wyD#~pY@1g$^f9`Lh%+S8_;;)FENyx-jCu!a@! z2iGS@387+v1^##TDWMT8OvnG`o!f%{Ng5Mxnfsg4b>hIeza3Tj^3T70I(Y7HpAP=? zx4DD=zn(ZuQ8a;hah1l!%CeIhFP}QTxG2SCQn`b7yy*Og6x|IQj#Y#&>N}j$pM1u% zIoFQKiCQYF%b#pua$ZQE`8ZH_o5{JMay&gXb)clP-HTpUTx>(4er!>ekcb!XXSelH zIlU5rfzx4p?v_4>Fi!8IN178KMFzVk*v$@SD3rE=?)_F)>dwy>){z&J YmCN z#)O2z5zRAGrz|b6+`fI=u(Pt#rTw8t-(g{3SLpQnSh7{^i)YX7+Lbf~IP4K4P3{i} zct{C*eN)S~|FxQ#aOo!F6CNHe8INpKr8X5WXqcSz8*XK6590-OP`~%1fB*gW)erS( z0$J0W8HIxC8!9ILW!6`&T#0=Cb5D=cs!)5=WSzrSR!#n|Me1C?TC_;5yRW*s+R}KF ztZe%v7a#1G$yY!AdUfKkO!F7yUPwlN+wIVP^>m@hqvGP>w!& oRI58)M0W6UltvcTeUIl5ePcw8d>ST2?`wsgPl^Sd5tC$B)0Ltjz4+dtP$w zNx`$IrRC-2Km71RG-rJLv^oFRUw=J&b{?5buHgP_MiLl#{y|l#nRE=nsRIz6PGuc*gQOSgCck-oAS2oOc6yeGxnY)z)>kdJyG}W zDOK`*`}x~DW+|S@73wM~4Nspw9oYW-!m8$$mfw$Zg)4MJf|?&s&rS_B@MT4%bu#j1 zu4d|UWgCfsv5~lwn`_!wOWf*0@^Xi6`s3N*lHI#^GZde`c(GUYx*@c)o0>k~bInp^ zQuHdn{f2l{k1A0pl;~)Y1q-rbKZZLlTei%v$6GVt q;DuEhuXXq>?d>vJ zr=RKYCkGq)TkbnEIi;mK6-vMT_S>=vD(96$IhVODlz;r#vB>eFj(~QLqK@?B6w;Zg zy4!mh6Grh0cEx^fCr)HI2`=rG#*o%Eo0*zkJQ131lIVK>5QWW5yI%YHwKzkDL@9`m zx8Aw)Y&tjGQO>5|1Xg8q_pRL#4<9~^X67Ave7fq&mV~MN0mmy_w{1(*^r2D8A3r|a zXhxxMZ^!Cx9Xi?nI!Pc9Y<-zR6$HQebr >_ )Z3;0URP&s(fisX`OTaC z=HxHG{F3I1;bD6Tr@R&~UK}m+Q&x7iK3`T=HijFoP#zmwJL0XG(JyP3eAiz%5O#Qm z%Z*;pz&e{5zI0Wk8RxrIYA3HWamU8S)H}$zxe+p9LEXRo%nXLIWzMgRk%%c*Wgg(N zS+Z3kUw%nKP+&ULCYm@ot<&IdjSF+XJv%D$ALWO+r1WV@4)i=(a)esWpK5<0Lp?&0 zS+%Mpc*2z(a^OJyV8b28#Lqwf9PT(d++o|m)}4OqD-$+ziz0aY*tedneEP%hLT;Y0 zzEL>d`-&LEWV3zyFpS^vqmVs_cP9+TtIDic(fao7-OiApphuWP)59IhClEt1=H5wf|8 hx9jqsHs{YYuheTuHO zwhgO$>dkI3{%D05la1sxTeU6k3lWiRef`xp@=vvH4`po`B5&NNUyz)cnTaWWur}{- zzAL6@>EsGy$Ir(nCiKr`W(0MWhZgqvJLEMsW?JlxmChO2ntJu~&py*T=VoYVh_A|Z zs0*crhJ@(lJ0o5nBpz4O* >NHo*|v4-!iv%9Y3pi5+lR&ly4$So?lUkjudPic&3aL16AP&RRNi|T z =#U(T!(s9fu$_MU>1$?iHiI(y zZWlXb&z|S!SEw{jC@U)iELhaOc<~}eR3wvt42o1v45d6heGgX_5pVnU?Z)G$Tajfp z(*s93k-@V1n-R`kYgXF#EKGmYIr*{G;>rlp9d2T#!mh^Hl9G~vxHQ)LzP|J`p#@F2 zxy0ktDNCVjO-;?BMT=-;a|ee!$>F-&5lyqb!^2@?J^G=n*3Qn(sIl+O_s%^KLIxZ# z7+W?W^%Q!VW;3!1!;Fp3H&whjB{pKB(V^ HOifMgZ7H=6NG?g`_(h7~ z`6{nvIsJQOLO&qQB@-dG*q_xnv0}vv8q37U$oBE+w1|iZCqaFh5kLWxv(f0 Qf{jp;^I?UT59 $_qhpo1bmFVaN(dqGU<%f z ko9-^|$iw6d zX?@_r ms-eN6V5W@1-p=T2 z4wYmMJ0t}9_|&!0huQb@^H~SH?87hT?zrB=6<@V#cJNNh15si1B8|7+18>%{c|U!< zH16_c#st9I9n+)(#1LpHD7@BTIp05|cW#h0{r3Ifpj%uYgZ{g4$VoVPhdj3b$;~B8 zmmdCN-&hyHIsOJ9d(S}B^#rZ3kkQ(DBhjaDwNB9fE6BujVyW4ihasxduu{V(<3vPP z&j8473x9Eb1p!UXg$Tn;&g=-C`u;g?^>i1N+I06YGuV70+;O$G-)1eX!zAkDfVnyU z =b!7d^(|hF+)K-`ayKxD zD(52pVj{h %1~S;)L(lrIbjsx?_0zZ=#r_uL6$>lw z6%}b56k;LU%*Hp3FtX!MC=ETcHcd|uku=TyI;@H=x=2R%$d!?flA_IuTuQalc`&o6 zajYC#h^1wtU0_FAvW(Kvvl)VSPtTe7Q**4cH z1qE6umVU5jZo!JdN<#??O1^jKW$C{9_&*Tre?)Tqems|3EGjBDTv(c?-Apelv%BKu z;Zf!{7)LQe8nDX}0!}tHS()26Qhj~%3#f^?iW_Z0I%=(D6Bb|cOvVTxp=Uar2I@QE zqphu-n&{vjI#|)(*_m5dK3q|Aiqqv7bX4>Hd=Pc1v(HL{CklpN>c@z?4Uv(Y-G!{? zJPEdndy||f%{}AMqZS=8YagHc863}!;wUEaxw~C8W?&9~18^MEtM!4tB{5fNT;e!} znTZLbm>L%sr^h!2m9!)Si=SOM^?5*B&@zSp`@(F* ^G_O=EGhh@zsR_ S>5SIKZBKSNMLL6uO+pi^lf zvbRahge^HBAi&eplNlUS>Ez{=muyXM`Bp+<-}Jepq$CQzug|q^iNS1qF1<0$C_YuF zS3pfjNU*WBEwumf^5x6<`T0(d?%%INP$YG|dGn^TQ-S%SwY3%KJCy9_=a(U&xNV#J zi4*&~$TWUaef?=HW_HNo!#7U2w6(Vz85uEH)|QrjPUJ_AAN#Y?S+)!7`kL+NSQ~!2 zN6JGETRKd4ZyMU0g%_^Sy}Q3h9#4 fWPWKxD?8-AnJi!Lf|^dkq2 z9YH#w}OQc@lbJA$F8AXo0&_Z@?L`a@(!7!c#B zquW5^r`hb~46hR>9`)58bu`~1t64DnUPd_69U&8t#2O-i1ozghTQ;mb`!Y&>ssWcd zO`wvl0yhg_1_}{Hbo{K1aN`4p-@ep-H?0*iZ+91Pqt{(4mW*IDBG aa zZntt*RL#-*hjd6JH4o{!O8a1Yy=m*Lva*h*S{LH|75B=@%CfSuFn&O#TRGRRU1Ks& z)^%ULdUa!43N3M4hfY1W*ulP-)!f{yL8ND!#F1x?!yi9FmI$ot?(6MMyPlVs>E`Ka z<&~bE{@il*R$<}6D`bDBrH4ljx1uG-R>NF~Y$P7j+oovhXzmt~^RlLfFV(pSGd!BV zTI;l)r55ghUzuXrWZZC!e?WlM$Z>=RS`VO|l%0X0VRY+)q%Xe}hp2`qW3F=e@L`)~ zx~)c{aP0sAu+u9I%*>kGf{z@z*%XG9U()D!y1_&vs;M7 e$CFJ7I}P+bq}RwX{g%|tV8?uMQ-kb@RP&eCpLjQrEvIx zo&(v@(J`HJ!|=-m3m&`_YKYjLvf=M-d42zo9GGn1<4$0>95$cF(`(*Fnhl!D&6)rC zg6k*Atn``N54Bp`+uh3!L*UU_tey&dPAg@cRAa1R5Favon7hSt`c=WwiUo;0>fbV9 zp}4{5a4kMQyI=9hqwfILl96iwIN8(FfdK(ceqYnV6dcM!`l?s3d1LQi6y^${xZ!(A ztzLcidTmY3at1wUjAlaKKudIy+=C!BeC=&V$C=52Tb;3!OHyYKTk=4I&CSiZ;&*a# zOt@y0$${?S;ao{wD4cuuMr4FRF3HZ$Hhh3Q=a>IFg-ji+-&movETt Go~vl#Kh!62DKxiomc{VODn6BWe)YF!xj5&N)h-h>G$sK z_bWeWZ4J&CZMxN>)bHCE!yUPW;o%F+YZ1_;9?Gex 2I5>MXA>ri1jdQqP z`10jTTF>C%AdT(g>${ZERqUVLG|R|IoQe1qa#B|F$TL27xMXBmOmkCH!sz1HH8pB4 zD;{~YtDE;D7~%lvGnrNb0Mw@9 tF!bli+xdsY~N_+>Y6@> zHT2m4t6Q?LK)r68 >Xc4FWAztjG8Ji zp@;Dcrq=W8w6wL`fVN3q$B)Z?lgM;6c#J&nCw#)zqdWowYw2+rzwjUH@@sm3&GaPH z=^0QYTn>}-@S(an|G|R?xC<3Z+^M1LI5MUIa7t2=9SD%2E}7h=v=I6^!v2;f2|F*4 zMXdjQ`}P%i8p>>7GMQVqZUx{S`uNdu9Bi_;x0g2S?&T!|GA)^#nF)5Yjg=XcuYE~l z;qC%KeTa|G7%@NCkkJ6=%KMK{%F?qG+jOkO8z6p?sN)|DpeC_H&YUTsJi2}RJ;>j| zu9SM&vFKlZ`7WlC7Id8lHpjfG=umztOT)_1@z!PsE2}90*en^*y%$$sdbmM*A*QeU z$&-z B zz|hc853lX=a$ASq>}))T7czp7IZUW4am@otmmw_=ZVWneCcD|8$TKOki7YQ~!lLZa z)7xiT{Qlw&?NPJMVY)mMx6F^m6O)q#Y(>ebk*>U;`^5CE0$NIMTL|s2v{jtI(%f7P z9Nt(Ry?mP<`+ZN39-EMq8zQ0x*0cQAXlOL|4V%x!#fpK3JF%O|9&H7mi-_Ly6juMb z>zp3vAT;(PkK_Dz%g%5(N!tE~T`YA?%@)h%Rg#h?vciUoS-A+OZNq{Un%=)|?us(& zNOxlK0~d?R&8JL#+){NWIG8=smEu1u!CD{M{2+PY!`H*_*0kx=?`lA9ux!qrNipIl zi ;P7 z=8!>Mq0n4C78=UOsNJ>Kl9hd-bY3@ |C-`@s5m*Zx9;A(o1X3p^cl?o z)CH?&mtGlgT@mgh;04#QleK&yw&=0bD*c U|4*@*>z z6 v?gO1D1#_GX6z2i8%fUsY8Vl;8Eg zEUlZCmR3(*jJsB7v%CW93n*j>qsS%)+?g2>o0peIrwjdcZ-|Ru4QNRK%zHg_w2}*1 ziKWL^IsSTcQ*Cv1BgO2F@r`vhwV0vi{CoHAUCh-h)}3PjDQfQ5G6dJ;ZS~lIKl<#3 zh6epl(=GqO1I*ZE5)u=kFBuF#1vcB^-q9bLTn|`S6b`4jyt)>}JzRM5stH-qBHg&I zj4G~Zf44K18^4zxJXR^8H7yW+6JuEN%!~t^iaaoX{(NTFKqPaozCIv_7AE5W_os-6 znDO1=3%fl;p71=&IeiXP{y|dSNQ6WSEyuP JPUd32Ea?1y~jeNUW zz;S+dP=!(>-J1RzbZpD6re=#VdgQz{X)`hEjdYjqq+Z(yZ!d1SDNUk8PQ`+bW|R-m zmkwypkjbcC{%7*R0a5j~zyk;3C^NY6C4nPWwK5P78jV9k%bEnWNju_GQu31Xva*(_ zVNBOo0b073JtlJQa}+5SRYXQb)e-T|-adI?N!6=Y`fRWaV2s8I27^)0S`P4G!!nxQ zjmZbXZStTCY{cxQ=B;F4@bBbZeSLjRO-+Gj!0rsoA3mHi6s`jz5|7dMQAxo{w;``x z`}FCqK^My-M~>{@|Es+gnJh#V)0(_G;A6{LkIuR}WnJCQ4T%oi@v7=-KOl#|Af|40 zc2<@if3 6G%o9cv__c99JQ>+gi%J5%Ah)Dtm z%HT$GGVU#n3sHo|1)Q?U3uI&+v>CCsu}NqWpq8e`Kh;)XU`cH&aHA13Gk>rjaMjYU zEG_MUiiuC^Y-kWP1H0Py6S+dU`1Cak$*AeMmHuB?syhb@;Q>8Vt(o8!G)DUS9sV&30{Q>!9nyU9B5d zANn!-UZf}`zOJHT_m#lYr -6-`7}5GH&yfiAza (9N z`vYVmMpQ18GJMB_aS)lvywP)%Ug%I@0Og^x0VADu8>t_Dzm(`%Y|zC;70mJqM)Kyc z{MzD9AP_L)g{#z!EmUZU?vl@eQPx!vDmzLhOg`puOjG}xTf4!3n88T=1W&V-$!4rv zzC0~i>|5etQHxoL;mGbs&RV_t3)$|eq4pix+IsOiAa+=c85?YEZS`4)QK{O$|6O07 z_~OO4;>cmVM;Q~~-30{&5K0$(`DNyZz~Q%BvK&AhP#y+i2x^hm_S;v$f$$y^6T^_n zMW{o3i bCQ z86P$qZ2QN_(aF)#fi61TiIDqDOiY;U+M8NS3AO(o$#38nM@c42g)(`<+Pc}Dyo?C3 zN8F*IZ@Srv6}x m9P4GV>YC&fnQi(Yk zER)7fdgKDdKgnqfDXCnMBLRL?=$Q;Qbz+FDrgqR>2&P_tZO?_3Y4*aWA~MUCcinS5 zmm!4c;%+CD+7WQVjv7 sEIH-5cl`Yd}WK9>g@1J2|+nc^g01 z2RHrH62HUXk~D8;=l2&hI)5*2{enFrTC+u2+58H%`)7%VUR|%b4wc=zu2}Qd(z1Py zek~}1kYqrfZc#-cur=N1X#2dZ;zq~%G+qBABK#ein%7TKA#}8JN7q!L1Tyi4f6nFD z*O jq{;)<=YkR^ bFQ8Lrd~d6dpBKztp^V}PvW^tFm1 z{UCaxm^9rHh!{%hYHCWC_Vn_iGBfY2UcEYe(W>+~#B#2b^!-&{rFE}f8Ep)P+6qtr zTLbXuRgfDKPtRe%u4VD62(?7bI;p?6m&9(g*c~D2@8_plQ4u!vu@x?by6)Qy00@1~ z-Mex*iZK-tVlnn5Kzod0-4Uq!Fd{HU;wO81KpbpRl6C~T9zUMlf15^ga(32Nd~x>d zS>T(NmSZ-DEZc7VkRbwSWIp!x?U6y3w$@fY+!j*zz69{AFYa%suP>OAS-f~{$IZaE zJ|ffnl&=>pTAp+K5AgZ%K-Zp@)>bJJrE!DCG{f2fss{KF>wuUM^4f{eO{nq~rho(m zWJa)lzqFpl{#r~de$lC)e{SYWE68mve3>#%R1!Jw-n~OjtkO&FtZ?t`y|LoGh&L4o z**E |kdnUj;RUJo#ofRDp$Ge{If_1#*ZjXLS^Lb)kgYH~|PHp=iHa{nT}=;fn$o zc`WMWTc9gAN`C$I*9qeeq3o-E2FU8VZuJ``bgXG?hz2QyR@muu-x#G$9f{exy)seb z=S0LVMn@kYs&{y>SX2~bX(8Z=jFV;E;j1ivgZ>Lg$w NCNj|Rn>Mz1s2XoUtd#WV`_^K zsIp+{a$FpMXQ6xZ$)V$w(aULJ;_^0)Y30$rK0d*a5ZNR;#!;N@3vy@9fA{Wa4y)nK z8}FLhCt%hVyeo=HZ}d|ny*tjp=@lzYs?vU^{jR%vZI#FuUoU38`xN93* zF8?zR(vrc5cO2c34rZDqK?UB+5YAByHmlj)uGXy~{l-a>7(7mF3bX-z{*`Oj0+J%K z3koa?GzrCcmh Wsj%S>>!nUw!o*d!pV* z(d{1@&t?{7#s&)2fAYv&q2i6gmMu~G^NN3*Q|z1(FFA|X@A0 4(%Z=Bm91CVMy5k? zs~!gsrH+gGcW+;xsHD=bNLgDsShy%=qlBKlnXo!B!=&ZKjUWlH=uEZFwJwmE8t!Os zYEpNtmaODSIE0vk*k%z|8QR>A2F~J6Fub|^hMTo?$&yAC!&BmQOEDZw#oO(kB_=-S zANM4m8D7l3eCZMhu%xtf*ae5vL>+9U(zt{E`xmhzZ`>yOYUIZ0_X396L{*5w6nkW3 zgnsntXKZdqNuUHnh#98G2j^^^3_AfKoZf #E=0E5RD0ALGkQk6o7&8E#pwk1=B7p5Uh{Y>48-w zP6uHpMzK7DP*LvCXzR9YdHMRa=|*8kV3$E6>iWSS@4r}9fn)q(rfW*<9T_2eb?Q`( z5(X=fL3^S~ED+3&phAB8I_gCxaM|Q37C#PmM6D`%yjFMiV|HG7R;LiMv_2bH8Gf5a zmJo7X{p=Y)QBeY}m%@HV+#NnliHlZi?r-P|0S22K;z5KI)1BE#BGNlkR#DLl=(;{v znliAKP*Xk-4AHmWlwF0$Ytt-50@VaCr-T9cYjlO=bNe8HobvEESPRqOi4O7sA{_R@ zMl;cRJSEd%1f>AI<`U=`OJz+n`oY5sa*qcGKb}lE4~z}aoWQ+QendKS(ws=1^xC=P z`5pTWW^ZIXc(1C(sEOZj?90x>)C2o${HU7%q1VwLSJ+#+^RoXr8$xtO|D N0rYvF*K}is|9Hfg6pA9)-s*6 z>Otu2)X(2aM7v6u^HCgdgS+zX1i3NKfovXzpoB95j~}RpNjZ}F;`#HFWu4ES>3MS1 zbgDg){3K^s4#MJNFPAh8QNs?uT=Ewy{*Qb__w)(goR;SDvE@GK629QUmq5_&Lw8C` zL+~1;KSHH@nF52YC1J=!tiBKv1HHxKrNpvjat`H3$^@AfcMOe;FwdQjAHNe uIbq5cy1pKtKK6VS zQRE^oUbSjR@c6MxZwjRtd~ =J+0L&8`XL-%J{ =+!68~$*NUxDKh<*2v9I+euBMdT1iv#pQpEtQlrRC0 zgHdA!*BQ7=?m2z>G~mSo(bYj0WIE@n(~_J#8di7U^_QSb1@?q2`ODhfjkAaEJN?`g zhEgv~g4Ou~h=DW#YH}rr(G!y+@Ub`4I>Q;ktyI_0h>3=KB;Xwrj;ELt{NptVX@x16 zVQw8a5sbfM=bxxsXF)mwp((wM46sfU006GbLP0@cRm(Tu>a(R*Pljqd=Mzhim$a4VCM&1U=dJc|PBW@e{cx-`}$ D166sgbCIxu^8u}CjdgzN72$r}cos8hRnjBV25i|i*U}CX{QjqXt#^Dbo zW) FQX2jxSo-Sdlz}AZkXdCDwOn!E!P`%0s zv$DFD5e9iFLvYn>7ZcixNudBSxS4zJP)-wK(ZmriV6hA# BFlr7!>U2ArK$x%V |CpsF6#h{op<=SOS>VknlFQkm2 z_<~AcYU+l{(n=?yUO?faMJE^LNfH%#0QsIB1`QmyGTR=W_ARhEH&i%DK8LctZQC|| z;W5ltA~Y>jv?~S|v9cs M0ZzL8&}HqMg!&{XrPngkg^c&NrJC5!_N5;ju<_? zpPa(LULko!cf&qGpp}B_UZrE S9BqNgxf?wA$a7(JzP wc>8vf@%3Mll5z$qK%XY;!3}HH93{NPe6N;!yWGh{ z1v{r7HN%3b{C_}V!czlTF{62UY6_hX%1+Nv<7KesQ1KlOaSLLWo5+Vd5;A;;4m``W zFdB`fed@-ElNt-1VHZnh61B`m;ao9NLf+
?YZkvwQ4W&f^Bc71gDM2xcHaG(eO^*)<~%rh^nYZ|E*L$5UGsW-PF_s=cWV6!2v-7-mW!Ss1|R^0?35e zBeitt`|j>rae46mv-3fn70YM7@7mN-=x!YpGy_lbvIzt~ngFt~J7O@Oz<~vVIoAqm z6yRQr2^`Ur=vAKCDa7hP8AO#N7w&kftK9Ai9XMP^M`y{BCCes6#H5!oAX&6yK@nPG zIW^VR4@?8`(sChr^vUNaGS*KRLJ-hPv?u~JH!nwz5hfHC4??@^qfU@>0qm*PwM4rW zjSH+O(F 4dQ27rh0f_m1CxHg0m@Vvf(I_IAUVj|(AMq_*MVl|dR;ZQ z^!&%6ArRu_69hzNz$ny66i+I`Gr}N6dwbt2XFrCsam(w>xs0zzLd7>a+S 0sF?nh$F2vN)H99Q)ua z^$$sborfQJ-=cK3x7%7023u%_rV@vZ>zd{5_M=NBW>k@g(c`hY+yRVY$?H$GOJLX~ zy(kA4!>a#x+LC(^{_3gYXfex(K=^m9zJ4niM#Bb58F~R9L0u#oy3k7!M-CoO9kzWp zFhJPxPHq*zu|3?Hzn4TmGwo^4hjn)rs2ui${naCHA6u}T@JCsMSQ6O{PQA;UGW%sH z1Gf;da^k(=Ev`-`*(#S(g<%y+J;XFXWb{JsfR`(RFlzinTM!C@wJ{3nsB}TL+^|7U zneNr4o6SJFLwOvn5QtO6?1d9C4$TJ~7;9i1Sw#pO0Il^ i9a$+UY;0>kl&kR4lQ&z@r%X22o zZVPDAnD0CMw#vzUSpPfy4K!cE%HPG!vn|Rs%IQZ6DI7jdG(QNT{EtCnYi_2;$4iJM z ;sCmrIR6a`kb=?o$8aA2p(OZ`zc7{;HQkHMC@@shj_xHpbJAEQLu%Yov zFq*gDTYfd6XO#tti0W_DmdVKEv3Cbp-)67+vO+0bOve7mk-K@s5`|E3+utf9C&wkF z<%?{_$%crE(e4VZxAWMJ#*@C+HvOGg0Deed{Wcwm!v_wG@8Dg91l`=#<*<>+w$Mky zBO+i5$^1a5ik$J@UFR0ShLrJvP@>Gpe9N*4R8ZaRZXg}A?0G0tltOTe?uJIRGF&-i z#@mGB&uT(c3S`#EpbAq~Mp9R|Ql_IKImiW_BqCjcIF;F$N#p(a<+qgS;hg07T%lCp z+q(Mtbteb!zmSH`b@O5voE4C{8sSH%oV7i8Pz^G~pnMPjaz#bO!8nNfM1NFX2+A!e zB<|U>r?{lVU7M%RAtVU2?H#BcLB}fOS7sv7TuAF9GCU+>tFo|t`+jdLbZ4;UINPN@ z^jo|{X@$*0gg{eaYFHT<0}J|YVflF^;ZZbeC4Lx1pV1y?=i9;IDZl^zI}}^?#KX+Y zm&-yW2#s_^bhYNM{)-UV`)U#cVavOGWJIM_XFZdQh2u^JtZ6P5V1$x2ypn^bY$2Ux z>V}%4UFhkLU&8-`*w<(VnA*gKFNGH7TAN%3Rq67nWRNEF3Go;gI5DxBtna2IC+GU- z!+q~&mxB6cXFB~GLlcwbc0{YrhAb-dm1w4-O~F1E+Y>0E5iM EOl# z$y+r)wy%^~7d8PyCp60!8*0u31?^Lu!kf^>nd+nqqer^e@IA+h;>L;{&;oOU^DmX3 zmk$1L2|9YM4nHRB+uz6)ROi2^-~7oYtrJ;0d|;RIwzX}C-NNfp_X1@2N-6}20CO^p z2epXTPZk~~fz&FVbOjwoqhE8g@aZ`b{Ys?LGl(MS0wt^gEF|Pc79>Gi)+ST M9=FI~ESy4R4+ zgPx+t3Z5BtBp_%JbnPL;tEF~7#>Y3~w&zL;nAv%Hv;BrbCUX94n|ofSgBR}g2@(Mj z@{iYM^`lke(Xp3txYlibaA~hE?!@#nB|1SWN ker#7b-*~QHqRPTHj(@nxR{3`n&q%m(7m3M_$#1#V?9<& zNt?(c(~rkP33m_t^ItFBw7JhZ&z_I@5wpO;oQ&cJ%5kc7cRWNy23zI%YZ~k8X_5hc zevOp-u(lFzyoftj(0z)IIoKL1e*3L@)O(|>Z1xCmn@qP}O$e4gE#%m-50Docg@yqE zQ{b0rUgRU3celz@Q4C!oe+jWaBL$amoykK(O3P#4J13N`ihfS3y@uML*`Y(%x$@rN ziBg`pZcqoyJjGCZ)$ThyDsSz9D*&w^nKPr^=}g%zTMXR!hz9|g{9r(=GLZSc!T#`7 zp5OJ(vRQWuW$Kz!0HcF~t{+!6VVrlAL=iFs%Wu*o&Gqv2>ziv5nT`eQinmP;0rigW zAV1nYI2QE>=79M*0ZX#RL*+jwcAqRH>Mx&)C+5PjZX?9Xq!E6jNwbd~CDsl?pw26T zrEs%BC2(V+IJ?KM%;=ijOY9y{i@JL@y1b-d40H+uN Vj~6PB slN%cud40Q!Au1#3-1;i$CP_2D z(sW;$Ca9w8ny4%+O2 AoG!x|AXUGE8DP)F)tPbdXD??o z^RLAzxZ2ruEH%?v%il&5D_#c!SGx8>5Kf}-A*=$T1an+kcgM4CqhAjN-Mp>R_8J;R zu-+2J2R!&l%~_c#TrL+`18cMGp{q_JZ;Qk9;T21ktRs4=Z=4JTa!{y(qFRca);CD4 zzOEcDze?HZr_F@7A@L;NBMAa-Q)%m*!npj-feNJ`&z;j}GwAMv38`Ww!xi38delR& z!?Ao~&i>^1WY6E&Zue=gktf*>&96-z8bn1!vA&rcFiosj^tM3$3_CV?ar??IXehj{NqIgfZlF@vPRX;gC ze&8kArjNV0WNM5I5D&@Kt3RUF5_J7TZ?Az^5j@L?msdkD!C_NF9)NTH;5cR~@;EcX z5l9C8btlMvtfnFK10GmNAN}oHhmf(KDL&Yy1Z`uHkzZBvu&)VB%Gvfpph8+qC>DVj zY 8d3zQVKb89x5~RxIrvaQgxYace0jW Z7_?nj1i{Z2pD*_vi6flUM2I+9-x^?T|UshoE*P(W2 zNiQ$AFA$<2nd9}1>cZQAcC-i|;AR^$(~bztBI1Eu%Oz)KXYZg2N(aoYz>mok-inZh zx*5-v|D{u|L&JJ0R+BKnY_j bOGs!3tu({aYVcF16D27Rq!;X+p -!}4W^v4)~;X7a7{?6nNx)Eb_MIWa5+o-Eelln_*XG{BYwjVyc^%BfA zsHMdzbOYlPE-%AlkXq4o^77b$QW;nfX22(nSgqxuXJDE S#tgQT`SHikOcI4~N7=#8Pl2YFgY7e UPkw%NsMD?X)|!!q5IkQ{{8!q7V5_=uRYHm84o}Zl+xVQ`2NL( zRkAie!XJ 3W5=G#V870@5rx?j=8G&BgN7i|0iePoK&Y{s|nBZoi$(PI}C6kyL3)T6d-;z^il zU8i7|lA1h0N4weaX|iyFyy^}a)d {7L?uGXX&&Qt^X zSY=nw|L(E t1NXI0x@m!p)m<*VFCn+S}SD)m$KS zgSq5UN{fmDA*E4xu+?IBnRMwcWM*WitQW#pblxi{IQmA|3Pcm`TBlJInT BGh#4UhS<6#Lx9d^56FTfU0g0{2KS>2