From 10c0b6b7d2814b3d2b19d5dfedecfaca5f89b169 Mon Sep 17 00:00:00 2001 From: Evan Su <48808396+HACKERALERT@users.noreply.github.com> Date: Sat, 1 Jun 2024 11:03:54 -0400 Subject: [PATCH] Initial commit --- .github/workflows/codeql-analysis.yml | 32 + Changelog.md | 280 +++ Internals.md | 58 + README.md | 193 ++ images/key.icns | Bin 0 -> 222482 bytes images/key.ico | Bin 0 -> 26330 bytes images/key.svg | 1 + images/logo.svg | 1 + images/screenshot.png | Bin 0 -> 85584 bytes src/Picocrypt.go | 2323 +++++++++++++++++++++++++ src/README.md | 33 + src/go.mod | 21 + src/go.sum | 65 + 13 files changed, 3007 insertions(+) create mode 100644 .github/workflows/codeql-analysis.yml create mode 100644 Changelog.md create mode 100644 Internals.md create mode 100644 README.md create mode 100644 images/key.icns create mode 100644 images/key.ico create mode 100644 images/key.svg create mode 100644 images/logo.svg create mode 100644 images/screenshot.png create mode 100644 src/Picocrypt.go create mode 100644 src/README.md create mode 100644 src/go.mod create mode 100644 src/go.sum diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..b73790d --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,32 @@ +name: "CodeQL" +on: + push: + paths: + - "src/*.go" + - "src/go.mod" + - "src/go.sum" + pull_request: + branches: [ main ] +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + strategy: + fail-fast: false + matrix: + language: ['go'] + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 diff --git a/Changelog.md b/Changelog.md new file mode 100644 index 0000000..a780be3 --- /dev/null +++ b/Changelog.md @@ -0,0 +1,280 @@ +# Future +
sdelete64
for Windows, shred
for Linux, and rm -P
for MacOSB342A744BDEEA57B6A583E33A247E73798946F55+
-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEYoGUHxYJKwYBBAHaRw8BAQdAvmQA+pdbDB/ynJxHhNDpz6Sb5tgkNuuNJIvw +HYwZtqi0CVBpY29jcnlwdIiTBBMWCgA7FiEEs0KnRL3upXtqWD4zokfnN5iUb1UF +AmKBlB8CGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQokfnN5iUb1UZ +RgEA8jbIsdqCr21DWxcqW/eLlbxRkuA8kflVYvWWUxtVqsUA/jQPSDpvA8rakvaL +PIbXjQvrAMkEVIc0HbCzLxr1k3sH +=YFwz +-----END PGP PUBLIC KEY BLOCK-----+ +# Community +Keep an eye on r/Picocrypt. While I won't be active in this subreddit myself, it's still a great place to ask questions and help one another out, especially if something happens to me or this repository in the future. Remember to only trust this specific subreddit and be aware of hackers that might try to impersonate me on other platforms. I will never ask you for your password, and anyone who does is not me. I will never tell you to download a file from a suspicious link, and anyone who does is not me. + +# Donations +When I was actively developing Picocrypt, I accepted donations, but now that Picocrypt is complete and production-ready, there's no need anymore. Instead, take your time and effort to share the love of Picocrypt with others. Donations are nice, but being able to help others is a lot more valuable to me than a few spare dollars. Knowing that Picocrypt is helping people secure their files is plenty enough for me. + +# FAQ + +**Is Picocrypt accepting new features?** + +No, Picocrypt is considered feature-complete and won't be getting any new features. Unlike other tools which try to constantly add new features (which introduces new bugs and security holes), Picocrypt focuses on just a few core features but does each of them exceptionally well. Remember Picocrypt's ideology: small, simple, and secure. + +**Will Android/iOS be supported?** + +No, I don't plan on supporting Android or iOS because they are very different from traditional desktop operating systems and require different toolchains to develop apps for. Due to the nature of open-source software, however, a community-built version of Picocrypt for Android or iOS may appear in the future. + +**Why is Picocrypt not updated frequently?** + +People seem to have the notion that software must be constantly updated to stay relevant and secure. While this may be true for a lot of the software we use today, it is not for Picocrypt. Picocrypt is "good software" and good software doesn't need constant updates to remain relevant and secure. Good software will always be good software. + +**Does the "Delete files" feature shred files?** + +No, it doesn't shred any files and just deletes them as your file manager would. On modern storage mediums like SSDs, there is no such thing as shredding a file since wear leveling makes it impossible to overwrite a particular sector. Thus, to prevent giving users a false sense of security, Picocrypt doesn't include any shredding features at all. + +**Is Picocrypt quantum-secure?** + +Yes, Picocrypt is secure against quantum computers. All of the cryptography used in Picocrypt works off of a private key, and private-key cryptography is considered to be resistant against all current and future developments, including quantum computers. + +# Acknowledgements +A thank you from the bottom of my heart to the significant contributors on Open Collective: +
5_3do#c~tNB zb=RDG)%2O?@D`27fGqk&0qRgB}At{)^ff3*PN&{)LWjXQP9o(36W~K!5JgloqV@*Bd8f zhq{gSPRDEaK67Dl#pLP=mk^@isz~AYJ4E746hkpyT^f` |MY}Gri*n zh ib`RfflK29*Iblb>l@df@qxMbx-ZHZKy#JxyD^5k56E~-l-BX4 zX7`CD_;`oI$9F}U2?xI|Ov`*Az(W09LrHyG{ZMqMx%bf;s-Z!-iHWfjRkjI+!f6P$ zaE~;Y9Fd25voBkxS5qk|Qk{D+ysLLbS ;K$YQ9=GS67+!Q-VQ?*E8QS->}TGWE%>8sq-mHV;ns z{LC1`=aUYxp+`X5(ZlcG8LPo}_Rc)MaIzZVr`pvs8u!puhlLz9<;(*#ilbu!>ju`N znKK`c^&F>{E0oJ Tj@qZ;SP25 !!b#ogRQ7trHjt{R!&|J%@^yg{0-z(_tC z4Go2IISkW|QbDhtsF==4^Lc*oRj{<3iFm@y4Svm3X;hIA^zMUhnu!qdL4@ODi;xt- z@pIE ygMABaY86EvvM<<7TaEVqN)6X3V&?hZN0>Wlv|peM$I8@s zH@xhB@%I{Lw){Ca%z+eS#6#YNQfI8aTVg+j)f;V*HcZXNlT=lCeeK&;>)qA4e=xe__} z`3Y*z>ho$&Qq+u%dN7iqy3br7qJgLaPi9ay@Zu 7xM$F)65Xhq7WL=A#R zj1zo`-|+&fO4f1To6V}0lcFQ3LC~N^@qe%YgX)2Dokd9ab8MDq$y}}n?n2iY077_3 z-yhG8Olp1o{Q2EQGd}ICB C=oXi(j#-sS(Mqf9|2;$$IMm(RT+xx8VXd3x9KPPp z^{-R-9opf|1m@kv5xx3Cg>T)P3vQ})K7=QLJNf?+Lkc*s@xArSN55%L+VxxN@rrCs z?fkCD4^DECF2aE3i5XgmI40X_RHeL+=NNW_anUt|5$xtMeuBE(EoT~x`*n`I{%*Fq z`NV@uVTQs<&9vVYCBR8~(g8hL))^I72K#oJf7oivzrzGmgX&HZa)5-jiZWnmNXU@o zwMw41PT#z@xWT1tySX>Ho_%4+7@!(MNv5a}4f?(p@ L;kfs?|A6122U_cer%a?z~EBn2RD>cG7E z=f9DB3PuGB<&>?AhWW)k3z~kF*0diPKgD!8sP$oXgFlFxzZt{QU!n$aiI)$;lJ;BN zR6*=#-3XXc-s!j6!`w7_-Po}Qy%Q-IR222&?OFTDpAW%%a*`u8vlCvP2&>+1t@gYB zW`%dtxq*TVF)2%eu`)*nF)ihtP5sr!Y_nT=^6e>UYk*ikEVR~Bk+7s|_9404Q&~mm zxM7x&rn(%v@5jmzW;=d52TdXc|FlGXcu9rAkzk+M9MFj@l_X^6%#1$<+#cy9Z+` cgLE&$aH=8}UlgtoI4ME+A_?cme1b?8 zI_>V2D6#0gNPDkJs(I$?Q)cWfb}o?V&rSUL`5Qu=N(WC=LvrPIgC9$T{4eVoWRs(! zMQ;`n6kUhLTra6;B}UKae30h{Q&c3|oIO8?lWJEBTqiHW?zpLdSeyST^K~QjS_;Y@ z**XbJG_#*qn1zY_n8f>y9uR9vLily RerCCnI;y8t{T#Ysf?+8DO7(^FL3wIBC@0q`52BL%qJzojJKc#+4KD%dN= zw7)1ur%-yAN$Q=L9Eepo6#WaM))KdHVq}@)N-=f^=BbkZ7gOubXO)zAW!GEzaV&p( z6t)I%bh>QRu>=w%PgYH|OVQKG3?$C2?9nHE78rxsL32=(6x|kfi9tG~;AJY=B}So* zlza7ZOmC{Rx~8t|ng9g;(CW?4L=wO9R3t8(CdiLoDAN2`b@hLNdfoZ`$O#Qo+9AP4 zt?xa{!AJW`>DiqtvQ5r_K6)ay5pl!WM7ihuVYQ5h)iUX+leECfFyDe; Ql! zIqT1US`>p=VUofkw6!oI!?(GVE&qv@Rv!h usOZQY$az71nEugk+Rq>HExh|BudX#X#7o5Ns`#e1bPk zo!M3&;9mXE%S~|oNPqm_W=@~K)(_9o8rVq)s1A>*!^8mYuO+--&GOt`2%B~1S0 ~lkRcqgyeA{z=whX0fgqZyj!Fq*wT z1InJC>iwD#zLw!rQnN3Ksgc&;M);Bv)A{?Y^46iMS)NsHKO59L2GUod&)hYJ;kbzT zFdSc(1rDjI{BN1-RG$$l<$oOKl6fqZEz1V}zyuCE9`e)9cym|0?Qc?u_#cwPQdhnp z|6G$-OP{Oh{`%sjYaS8 e80e_CPIpg_mR5e}>ma@RCLZJN*iJ|p`%EASOn3^h=s+o)G zohjA(Zk`6!2;x`u??#(c+vb{D_*BI;cQ(Kz`p8xdR;9XMNHGl-1Gx$QRFpxfnjz*Z zDGeP8@o0v>{Q%5AA$~g(#lDrsaq&jA^3KZ!W@r3^p)1$^@6*xSDW~IvOfaIYYn`Wb zYCXGdyXp3;fS2-z!cT@xmng`19(mBI >j*dame^vhZ(p13mfzchy5)nIKj9cxs$T3NSnD+mqp=L zX*<&$*@`hqy8yUlNT}a1f=*+&AiO41Jrqp@Yo?DNF{`{FdaI7l 5U#o6b gQ)$* z8pjk`)LT+L&E4JnV77sl95q-B0f*KsfjE;G2)_j{AN0_&pZ7-k)RlX9u3=>i3$ouu zw?7}8giZ*50;WFYEJsJb$`J3Ddf rm|M@MklPUeo;l(TwnofGw1 zO4(u9i|NgXR!qv;Y6_IeuY4BNsmIhF2BRp^rQffmSY#nFJ04-~Y{d}-W7Bp?ol;7D zZ<1R~g{veEuHH5 jmzgqvs0~|O^naEK7QQBE}!y>*)hj`3W$(4-7668I# z!G&pBo26@~?T^>=eR)=4($uLudGmJ8u@+A5sm~`*XI~G_cVhg=SWIyul`O$Ac5uW( zeK~W7wimK~zUBD*HKr%Km{a$YnS`zXlb{XaD8bls3FoKwTa8h7bT-jc*~tZtDMF~X zj}8sMUj1|Bq;TSVwRo`a+e0h3FdhZGeYt2U$ExmMfjJ6)E5A?poxR9q6sqWvaz^sj zyXv^TTYn?Y W1m#r0yUcY=l1g_~DaI_&7vlY@OMwg*|+FDf4- zeHKi%U0{U86$98!Vp+`+*(^4wj#tM0R%32E-f_Pgfzmxx*{?U zd$72L0fecRwH-B2K+cyZZap(>Ns{8fPWV_+_8~iZ(aYn0X `JJ37N zF?devr=#yx=hrNF?nLgKdL-PfH8Q;|#YL=jU|hJLy`Z^!V{$HP>!2}@*fCdMq&O){ z0*B1cF&uMxXY;9$?5m(hwgN$c8uY_9{ERF*o|;43i=mUM?f+Ehd4TEvESm1BKODB! zJaBvH^TVU+BXeYXm4W=nx%jlH7E4^zM-@3x|3L{xq+#0o;ii<9r&rlf!2S8#V=wC$ zz|-TTTp7(?(22Y~cd^*B;+`u$-Z26e3upJqP^wRMkMnJm#0oN_ qad!ujHx$o8MNNqyS~`}w zcxL>1L0QmJ1Fwck1avl+dMY3^u0EFUcaUy;`c|`iVZ$7f-Rq)z{`91yvemsWz7k&~ z+Ia?l{9|{<^~rXxZIPP{*;T#nsD|M~H8MB|)QQ{5=OLq|eq9!_gw>brLLAuOAmtK4 zxs8CD(x|>W${SG?F$a8r`f^2q+v}rXjB$5sTcm6sIm{ENp}eVWPKzuKq*T9&Y{p62 zR=jjwIyZLCRJUjLu3$KOkzU{Sp7zt46RLoL9X9H-;-}k!zcf~sH0{7v!dZOR0R$ZC z@N|^XJwHai^6De_z}Z#Ye;#)P3|p!u&-1y8pO$Oh(Mqy3U%xYa`-M6W3z4zckx->F z(z4#%`zM%*u5UKaeQEO%H8B^*p5BukeJhU3^w>@06WB;?*>q$FhXlNhrZWavUZF&Y zspeRtCqtl$U41b8AnXcWnQQJ =t|=j!>@KdIn783_@mpZniPB~Y6e$bBBh^-HSn zs{@9+E~cYq&|>PW1fzC&m;8PEW1*JD53lhmGAeGzl?VS&IoRfDeQrGwz85KtSe<8H zH6r^L?h8S!^-OEUMpb+lXDYS2Ca(kp9Hm1^kZO+DdrcWmzg|`0oHkOBbv^z6Kz8$6 z#XzSq;2wLqSpL9hiJFjY2kJiGrIg}Vl6r5yo6f}fiE5d (`RvhE3aAj*X#RbxN~<3o)XTKX=Vb9RP@YJRRYEOhD1AY^B#h*IOFabngWQ z*fZ>w6fG@Kr{{O?@E-_qeC2< (|XY)iC&uioUoXCL5Jc%BcSA69d zC6x@qt<9PAEuWJM9^|lp7*Ga1!RZ%Mx7=MNQ)evcEY0!0u0oF#&mUH^eb;xB>}}9? zm(Z8{PmccF9wz2i%71 FP`)d&hNnB}T;snPDNPX%@lB z8e+vs@>2l{5En)l_$=JMq^aG*n=rCb&-v+1iK7(Tu_)2Tc%j~jJvnwn$8*44POP;$ z8n)`0zN{|D{<&6ZhA;829ZE~BqWE{z;@I1ZTb#Zih$l6z!20)sogj$q C)mo!jV=; mytkG~v zaq<4A)GGn6+&VwrWLPG1d`IHUp+^SNg4#=_J{`&>y^EJdOAKeVZKb5Vj>R5kh6|3! zS;CnO#qDmhnb8Qq{pFYLUoRFAHjszpyVP*Mu`4KOs^LC+a6>`
_5Nl3^S4R0)C+;2Da^*J+)L=W=tcA}Df0nq zxu|Y6kSVu)qhRYKYyFRZLJU#~4jZp{3{9e$xob4TzJ cl1_DgKz8g%sQ9*^(Pc_->C5 z5tg)TToa#xz6Qw`Dc^Sz!d{itxK>zTkajzyW`d}!QdSW5>Y6K!ePq&bj^3M{VrEO5 zO&?iLMcQMmGP(pKd 0Q z&&fk_`)ZjafvFfhPdCYW$WD-b^F5PM4iGkZmkHlRZ`WA8#7bkY$L`c}|GBqdXdtX^ z5?3VN?{LsRq_~ny0e!0Q&I>Y7&cT8*WUMkYR8!WP)t;Ui5hOz$()YN&Ym;mCHuSFC zg#+y#|Kb F+=$}ZOxPCLKmuvXNmICk>PgeJXK#xpV5kqBHWz94Eq>2rDo4LRu% zAEDEJ{^db7*58oD`fMH_5Z{?FB6tL)L^3>XZUh%ENjTZ?uk-cqc2I%7Ou|UNO~;i> z>g%)LZ=)KeJS#RugQpo<`y>uhlX8*B8YZvvzURnMU&@J19h-28K_$K4nI?i9!5gFI zmOz<#$npjDkKx*V0$n}bNeu?7IQ^Tw1YmH*Cx@VIDlBR|Z*xfy5X`fh1B0>bxk&c@ zq+N*vwjpyuN#puA$fZ@m=&>EX;8Q~79q%!kWxpmTT}VB}N2-*<=U$K8>%Ow0S+OKL z>Y!^EJ T&@BcO$ee|- zqgwkP#y1TwCguk^Yn{4o`+Ak$1_~ssGUzSJ5tKdaEK*&9B#GP;$-2n^k&5h_vFyRA zSXr|Sd7?M)3Cj`(`?9y(hqDgy$RLMl0o`C!;8bzPrWiBY;M%SzJ3GS$X%dBc?SN5o zdAiiXQ>E)SB@n>1-#yjZ4=1%SwxZFPvs-(4IP;ftCK7}{=(Y!AMfZ;``=Uf8bd0)s z8p=oOxS kYLt1!#{LtOmN9KJ !h5YMMmz1)pYj zUS)I^HuN^fL4HBLF_(g>^d_x erV&&LIGUM)6S~wDnGtV2)@s6bgzOe`iurWo&ZZhXiu@g3bmXn`bMp zbe25JkT6QMLWM|D5EY^Vsk a*BFi3(QOY{kB% z111sI%9rBz!VC@6caNm;08dh}ghJyQ&OcDk5_?=NMJV1kg;Sk1(TY&Vl2fp~hDd2R z(Wzw93h8q9mvjCl-i7!hubZ_gHbqMRcK<_$;BMgp&CxV>lRMh2vikkTgf@50`J`W@ zzJGR;WX %?RH35lZ+?{{b8oTIF+#Ofai(y=J4DwV{Nnb7GsqS&1WxKj7v$_ zui%IV-1RqMSLxK+#jvK=6y&2OuCVq+qV$TC7TtSlVukloc+`Un@6uo2II-yC?xGw6 zA7b`j56OmB!gL3*NcEnOAjFDSE3!7kKD*YIo{5Z^ofB%({9Lks85TsZv_a20cg8|i zw^M{mt^NGZhpC>WoBB?~AdGN~xI!o^(%L?1cc#1f&93!-=|zkclt~cYbt*xi)Lyo& zkY;PQHKgfHwwZQ0*q2A3MQmLmiyl_ANsjtOQGiCe*|*}3< WyU79GiH31d7dqV6SF38`-Km&b?!Mc)Kwy*I3ZwzcyG*chGu4GJ<;OtFG? zd>lYn!AZOd?UuNq_Cn+g*Tx_;r~F0lPx#K)S&L7_lN=u$Xh}Uh&I8(#h$S-pIa8kp z66$7!=KiPa^wRR|DI!Qs$$1WrRor-{=@*YNIl_>ldhp14I%g~Tmm6lr*+t~ 1ZHyL(iK)0hr zX& gjwoUe=>@NfS3+n+GHNRfW+Or9a$ zobV^6r(y3RvfsB3Ru#b;XMscTpWLoqPv5zSiJbKX6T8$rnTL}kAC0gy#f)zh6FdYt zxL{Kdd)MWWqbC#aU&WbLXFc*4NI{;r=~wFz*K)M)pVJLb7ezQIt?mMvbFk?Z#X^sO zQ1^Llak44VPzn=IWV~yt9$GynS~en8lEC-+6@_^=Yon*rQaV8}BWn!3s~hvz*`+c7 zbEP729m@gQ?1FVy9ZGyk4Wd^ 5~v{qP<}U h;<4&=xRsNta(CL`xF- zK44=;(V{0HaAtWE$xv-}9=npJ*Q6AY`NpfOtmNkr)m>-yb5B$Vrwa&<_oJI9I?TpA zkmw0&(09(A0+qnJJ~O3IB39>Ciun`aRV9k{qI^nAbl8&_+kSZ4?8{LzD>-{A;Ey|0 zd 9^`%345^ljgY*g53pDLYAOAa<^S0#$*HgAIk#F--7r z0S}czd#YnB#NzwBumz^!CambvW|Sne|MHRpu5LA5axkRYQCY2%N|?nKAHajZvj)W6 zzP%a4eov)~e$z)(*OJ3rmkkER;A6bNA-TJIvtjWPZ%}vI2eZUQ?8C-Gq=ZTmLY2-@ z87CwMF2Cf2zWSLo=9FhKrUy3h41^*Y3_(7a+ 8 zJebYUNJT!L;mW+TRQB+=jb3!R5UR^A+gy5Vh#ZFiJzE}s1r6&RGxXxN0+$6sv4iSe zf1;{hi<}oE8FH;$k}&3n_n{K=z;LmR69>D{l+HwCpj7MY%q}YCC0e)rzy|s}FI?Oc zxI+#1y;`G6&9K>+poq3>eBO~lQc@ymVOwW+NgV4ji0USbSQYQkU;ABz@7hZ?1oo}p zkl4KI;u4gPZBR=kr1sz_`2VB}-K{v0a9#FR5f0%l6DHk-PM;i{`y2)`FGB_>`FXJU z#lBi>c5BXr(S<|0{JdE;U(lR*XXp!>PMhp_@6yu`X5qfpqv`f`VvPc+9GK}*dVGmm zxt^u$+|TNBir#$KOJP&)z#H6xg^!|J+Vl@8h3*`eLE}0;ZTZCs@y=?qZoVlcl7l2o zN)U@4ngo$<7>QerlHDd^tKf-<`|+F=S9F%51^$|4isV{{SG`4t!+nh45$X0j3gEPJ$y+vE76FJy@V-=3@U=kb0Ho$)8I0S=4 z|JKy*QwfQS8?<#Bt9vFRsa3yo$o@+YL7e*K7WN0iQjKUnO4Ms^h*?zQW%CXm<|+LO zv0G9WFca{BH6<9;hN!{j4DH^?h}l3QvfP`}{n$2a04#6WX${SsVb#5{7Z>(?(enp_ z5}0#Ib$L#+5xPr%&advHqu;YiU*`5E;cO!Vx?4;nyWLrdTRRNuzSv(%Z~$WcfHh+t zf+3dn88-XJ`SB8O2`Kt=X9e3#Q^ya5tOHxIMVWFHsQT ;U$ zGF82kGyeNnuH4geVy!aoPyKuGH{foa1I9gXZjdELGWD^-B@pX2mP2-Q`Fv>cE3WzD z0pzz@bI4vi0^F6D`AC<(ma3|YR&FWcr+8dGkQx9itTpag^EQ3=uyexrzuoCVR&?JO z@AoH`V!p}O29K{tRlIOhf$-9Ma<1#Q*m>nU{YJZ?d!D1`+}ehnFHi!RbiD>u$*@<( zx@{w}?j=Jn7HuDnkOCMMI)2l)_KD%$Zl*Zq!%W>JKkEv5hH>r#Ge~)8ryvQq@ jaQUhJRPL0-0-M*EvIQ?)00Tm0de7Yot%l C`b9x0HSs &@#hNO>pSw7 zJ6$@r#IA1hz{60u%ud1^W?RZCF|8f_=+%%fFf@3~$c&Q%SN!)RW4F4IXn6K9Vs)GL zwtD4MRgwu^waJ9DG9{==@8&j1)Kpcp4Mm<7%Gy5-m%6Gfgxg4a53vu1aa>{s(RZ0v zZzEf`yoo6oo|{1q;(Yk!+Y8>xt#v6O$Tk#dKk56HC)5||O!_4`=GG507ws{CDPP6M zb0yjvWXyyz-XHW`#7t}<*#?6ZM3$**r&4=VwU?)0iwwgla+EYCO@s_3Nl*@YOw(VK zp} q`%S3HV2E@Q6R HM%<}VuJ04dG;wkDgFBNeSA`BwRuGCmpFQxcn&7j$I5F$w%t(Gxj&%26n9fb2 zr*cPf+1^?YE5YjT3*i@Kd&XLo#-f*?^Oj!#MJO!<7B7+L9xzmk_BEfq8N8hFa~eFP z2A*;mS2b!=Tb!12q9zC_ezFa38^-0$0yRkU@mTYMRovofhXls?y>wCsC18Yq(yf;A z+PVm94^{DA1v){FIj Y (Qou6rd2X4Pw%0ucQq%e`?a8u0&)*np &s3Qy+osxlzE^b{O=C^#Wh=V?r|(vZkJpN| zmHYAuBZk+4up^}%_Ei>k8l>bH8vyZJebMvz=dS#UneiG{GDIb|4FeFWgO}I0rknkW z{&@;Zkayv0nx$;Mf|rV<^@@Tsl0&min8*-J(BZmm`+R~Q<9DyTN_9T1J4IV%;daPY z#u{5-2x*dpr4fy1(Mv%e;p0YU_+lsk5B9~`K^);|rxGY*JxD5`lN#1E*u7a7xF%`2 zd<+r;@L1JM+ZQ^#Vx>QP+>*slE#j;mLEyp)aJ#F4olm)RbK}O(<;@$!H5hd`2&ra< z+d2=-$MKt~XPdNxKb@sOSxLcujP{k-h|hFRH7D!uX+bhFxcmWCL0zrQ>%4iR=($1P zDsexv$|6LAv_uul3TMYV>Bxn>E+mZYP*{3m_vk)dUBHM*MeC|z=z&MrT2g4`%F=!8 zk)NIksO3iq2oT#GbTqD6Y@VM>tpBWB$anftA5L}819rp$DWva}r!A~X+a+sykeEm} zOq@OJ+vEsnH`ll0Z?RNBNkGBHnb)R4pqa(_?`QYgEu Kj;lB zRn~G!b}h`H(x4@lyBZ>p8PSZM4fChMvBf#e!s!XLS{~fd?Mbg+tdL}dC}wC|lRGQ# zoy*RrZMYzLk6$$OKpRpV;n)+rL$-ZU5Ani=GS3KJWAnJTcty GaL|=9!tKYk&mK#+@hH|%jX!|QGH4i0z_eopX zD%qdaxc>fE^c+{!zU$SGq*DVSfgtl$1NK4_{B_7BW|F*-0HIjfjFyz_Q*gkOao;&7 zQvCSGnI%89U1huB8)yj+!}oAeD5;zKriDQGoLPtDGvQ>Zp`et-S&A2=M(ZYe7zY=z zmaY(B7pmwhL6S6$3Rqx7(4Pmo6!O&Xt9&{Oz}ygerSg@}Dft_Qh{Q!?=>6KijgZ4p z%((jQUh)&0JcwS`D-A}wv}3W0vy^aZ1%Ey`I^!?+mJynM`z=B4@x?wA_S}S}>i*g) zQ3urlImbqB3aiga{++G1k~OY8Wjoq>2r!M`V&4T;LGj7S->0=3x8L?~!{bm>ka7Bh z>1C!(HMW_%5Bc?N+T)O<@?-; Pra #Gnl8f-616>8jQt0MNfI7GTWs_v?Js}P{}p2S z92-|yQ=wP)7Sh#yDysE8QRDCB3OrV77Uk1exh;8!f<1x!jN#iX4d{IVdcXb^tOjDQ z*SVbitrCnEsGw7F(s#M`&Xk(HSuCmx{5|uI0 T&P*)E1@{>UkaXo6_G z*`2C9OwOqqFY8ZLWT1_iSKdQ$*{Z-STW4A-`LkX%7daW?*~|?aj#6B{`~uF6IOM}+ zJ%;QYWJl7`IKtnSIR|tSTiL^?It (SyP1Kh@HGfK&5YTcSYE^$%pez3C zjY}+N;*NX&mbjc=&IoMobE@GrZHQ)i)9RuB1&4xX0;_AnmYl=-;u|*TAA+OO>_2^p z#p&(4#7-TY*M-!4y)JXGx{+}2l?l4}kCA};G3Fn+^V~}9!s$u`=jV^fXUK>}Q)Xww z6Uoh2x6BOfd`aV|TokdoHBYv )~(`>bNo8Ejid&-2y%dJyKHI9IlWH|fud|RZ3(x; z)4%Z>E>`<0DdptqP?8~LW{amYQQo&~f0`-TUqsu6=yH?F*|Qzac=T4BXtm?(H>R_X z1Bb(v0pbV)Xj2!QnLU+&C%Ve@hm{8(hZq#TmsA-f(b-$YyTJK_af*7}75 R$?XFrx>mF`rwK@@%^TOYf66(At5W`xz(2(hr`sD D}-QMcH`uUO5)5cv-TM9&Y8E|%iABy?A!#tDFDbaEBXj8&&1YUPs$eac%ShB zb}e?Cb<4?3L0>-^`g_1P=Q_GM{7IleRm@oCk7QoLA4q=*h-U=)W0U}nSDY}G#Jh68 zrok-hTFu*6ckZ7SH{6osBtt~c+-OeCvX?$1<33gvAtkQl_lFo_^rxPUUzjN1Ga1L` zBw)@`IqJg0EGPkt+Bg@Lx`03C(8B;tlqL6XuiL_CPK;djXr8XbX)*-e><#{prCZ3K zM#%X`?wjVRSQ$zpR@7W}FVaYbJ(uDa-(0A7B~reSxXM|tf-l{q5Uvj6{-#6CA+ISp zgg#-%ekinT$Z;N0Brch?ZOQ+zEAiZ#5$bZi)YUTYB2J_+5pi%Ta5DYwuPO_v{C!`1 z7ff)ZA#(^|*bjP###x3Ful%`q$9*iiJx`=}YcZgjHGkd_uEmdZXR&x6|9$*gEmPw< z5IaFUj?u{-Hfucv3yP!kkZ&W6#7o(L!>Y(;y~l2ZPpX5k;x;{qP5VwibXAAWyxE`& zy?k$+xTfFsIAC+bZ6=2=ZiY+n8$9qBNxt ;0LlBkcL`Weji0nGm_lw}q8@eHQ6!LLob`VZ&(}L&acKKSd B zDu^d>c3QVTuW$X9CbjBqa_wQ4DP;&ZJncMram>N*ImhVm;3cJd|8>=5T2O|q+ nnYO4~T;+04Qs$h@MKcPVS0jE!1^jYKumart!pz;YnoUo= zx)(6UGl`kIJVe7?UhY&fg_W>^hDjhy(4?uLE?l~xV6SU`PV^qGG)43Z)7dKBq->`q zV>l64$Na)PM>Au5DE2Xg5xEF9@rIKvBzGipbjL@Twekv$W4qVLVCSVDNP+q#N5Ik5 ztW4jGBA%v1t>=&OWoaGDG#%{Ua*{@S{WPCH3W}2n`fd2TyLoR~ot%g4LNp_Y69p8x z#}~Gn0#RbgC(M77h}c~&ILS4p1tyBy1iIsd+ZO{AiHMSa>pbV-W$SL2{2ncExj25& zcp?8CoPVqZ1%%D*(`Pv1ld)$nSP*f43=UYm;?o?}3I{5XJHo_WG}y<}_uIh53|D;A zuXYz(2Qt!`@0=HCj!z-N+jIh#`RydDUcZ+-%K@70EK_`b2VRm38mRqlr!|w9Elt#8 zn^$@YVbNRNX2 zW> iU zD|AMz(`l61C&nDWR}Uel! $|OO(_CGAam_R!>vY@%6Rc#J+!d3zAij_1ipG~8yBS sm}4*5nlDihjkL>&g^k-W77X~@Gu;0 z&5W WS{UI|;I?T#*&upH{_5rK$-W#{9ywZbRYEWU$ zIlAN~+H9C$T5nCPac7!XE)p{(76I8Ti-d!MsC3UcekX<1%j76ZYi8~Ec+!M}(3Kzz ziDICi*5%(r=P2eG<)+^7ei66fq6jDYuM^d!8r(ylV^^B&d&KwTz8aDRJ|t?CehE`M zI(i}AIB?yYiLQJU#y#RV*G2*K)Y0Dyyrpht(BBaW%Sv#vX#Mz-+lY3<&sT)`;rq{S z7R|wl1w2?Ie+4Z+X^@0r(V6Nll{x;DIR8gPbF4jbac|l-8GV%A* }%Pqo%b4f}02A!jU)gb`okK}0)XV3F_Ap#H3Aa0YpIp98*&5~Xul z$ACn>g0rp=@@Ib7JTj^>-Y1NTANa#Xe36))JK$jblTYW7$n42Hu+9xN*>;4{o?tj9 z!T10&A2mL8MgI;vg%1zPB>pi5+SMPGJ~j6X+|E|CPg%nkPJ#oTyo*lCF}#K~2s)K% zPjs6SohLgF%%iizM!FP&T^Ptv4aGDhU-bOaAoV;deZidu@~eFko>fmOE+yU{y>?9f zOy!fNQ&+NOl(QQhjdP@`d2R2N48}SOs_nbHX-nZ@|0 SV8Jm4i%(U-2<#FkK7HsEQo8WvQHK%mC%h$cMEvG$DPe5ZGvTUysZ zdei-w$8ZCmE%k27b4tiKb>q&cjcV=4i ~z|4$-TD(tjvL_-r_ltlXqRWFKlP9oCtcSG~U15`1@JM`13cFytcR& zkDQ(alWW}i8sC)e`tk8e&9C~saQmC?jV7j!0Ppy^mRPf@1H-i6t7pE(xpW!SlLEro z;>UQ`H<+O{?@_U>NV$KFtN8$qk!CV1_$IWr<)af}#y-zErjGsa`luZLKAUyS$q7Cm zj)2%gfumka=?BrDB-f(7Vz=U1PB0A2BP|zf+^N4u>b3=3UEOURUiM#hk`Tq}5&XX? z@-{t>3T|1=_0C|0Roa(n#sKl=pstZp|2v-)GA4;Hm~gYHcHl+YjTozRcBtxK_`9^K z!F2yRQX6iVaP7l4R-7 hQdM zIi!;(wlzjie6du<8B6l*(@TUB1^xVy_bf3JV`Gf)?R(-1Lf>fsH~I;84x-FUTGere zOWqVGE3#HAU){M 0*xyZF6rXs z$(&h5`=e#^MRNf`xSOztkwy32xfMUSiy%DcI2&^L B&05d4Okts)6Z@*Xh@`V{J1_)1*HW!diyrHRT+B*oBVLD=74|&N&MAT<&7w z3QbrYMz6>SZBepgPYilTG}#EV@3R9qIP6axq#DU+TB21RC`g;WrUL11_mi<+=H@~y z#XDDOe7Xyyvj_q~Xc^@5kRCc3wkiuG-#C9XVSouT&HPpJLape}@hZ4};u5Dzmz5&1 z$B4baTf2H`<4%QVrQ7a~3vnC)w*W%nYv9CvKc#CBBw@tGwt{Kv&G#Xarg8?BvnoMc zu>}bD2CR?kQr`8khZKo(ykpKy8zV1n=>-4K<9*li1ncV_-nP7l_IrUJ)V>J!4*478 z_r#2?m4op2L@+AlXG5xWh`Eo|^UKAd0ow {w>umfW zsi1%VS<#F88Qt?=V&lBL)%+6b2mLk&8y@=l9~T01|J?QIun)XfIQF31O>SdR`oNfz zVS GQ(TQ$f(TBY>8}&kX_;0 zl)Y)lDl UQAyVm_ZU)SgR>tEgHd5-fu&vPE !v$vF)y=!?-TGqicJ1O6YZ-^m|e&4;s zx6~EDmp>#~)sIi7AKl2L%k+V;OJCu5ao~MhTz~w}ukwxeAT$U2t`8~~+Hp)dT7IAI z#(?*eC`d$)x=tsYIO;UJp 4pFaf*Cb6LqyW4H zQu3e-#Mkb?!p3un3FNiDlF!D(b&}guE=B$$bFr_rt=oDUkATRNJ61c$o*wa WAC8z^M}XM{1)J1t?1vN*w#q)oQQkv zGZy-op$EmibP3k96#--9d3N_xmTFZ|ZizNfls)5^A7MSn1X%D)d?6y3n20P++v@TN zB9ce9!W*V_bw_?sB_K5`a-=?G#t$8X0 ps1+yf!P`E Yf)3)&2fGI6*55jv!KC_L6CwnQ^qYYekLaSZyUEcr||RSV%&_j2r&c z`iFDM?eEiIlLN_nAk9j%xde=hQbyR#KTb`11L~dBNOZyRF3Xs_O}qxTKP>?PvSFKS zd}=((a6g2p?-l8@2|7Ui;?cB|HnYTJW-`ofN$ !!A40Vtq( z>=XrM!E!$6xmTy|?;!mw|7ohF?t$Y&-)!kaf tE0*J@yauw+7?hM$+eD-Rd(6d=dv;{j883Lq{|pMRNVy2^blo@ zTT5>p5NV#No+7n<$ldOB N;jS?@kiIR~&CacclgSbI3?A;ry1*-CQL?=yR-VvBoJ*Q*UQu z*WRS994CH)DD@aL_f# z)bF_;ncm9 IU2Ds)9ltdy26YG3;T_34PaflEbO)T^ILz z?l#V7$o&p#($^ 1YnsBJ2}Je&ByEPuFj#DLTJg8miZXXAU8oEnnpq{P1kcLCf6; MSzJ}v6 z#XS_b-~bwSp(R1frTy&8jZgnl?k>bLR*V$#5e9?(ZW5lwp|{Gw+mkGNE8S}H1{Qq# z3M4NiSZ{sqZ9j75lmlKfOOcwm<6%%Cf7$_k!jIZ|5**pR8ZBDr-Bx&Itp4V|sQsoL zpTAK`+A|t{Ih!=Y0+XjEyn-i1r0QuP;aPVsKdC`8(IM`lYyDWmLcBIw1Kw|=<8!Z- z$C^%!Vsc3(CzT*uGRKv+2gx>PpEY(;3dH!!0MT?W7VNfjW(7JKe5P%ss|YqsKosm{ zoI?V+Q6E30G97u;sXB_Bea71JS^}Tl$trmNTe|fJwB$OP8kkWN{}**z8;8eK=G*%g zfi{NXwK3Qlw?E{wIKl$2%O$Pf_e)i+fju-uXIzF5JB~zWvDBuuez!1JW59+#|1}b$ z*TJv8^BqmXG_)6fhY(61iv=JIuMX9q&j1(xDa|HHiv`hMb{MYDG)d(rBWBD5x`n+}$T5$xh3WO;B7ISApD&@E zGP3XQdB#fLx|SZ4kP*OI=y$PRGN^evWE6$g+TOL`($r348)W+-==ybG{a W=8LtpR%?b)`39t6U9bETn+lHPPv-Z4^ z2yCly4_K^19SRRMFmhm(YvfR>Qxu_A^IVnBveD!9F!8=7b>9jng$5spoFQJ?F=c z0RA>bzq RIYW>Ugp z37p1Mm~?-iZ~EU?CCG(UnaLe`rg LOW}lr?+E}^cJj>gU+x}0xzLZV7Du|C*k*P z12H^kU`=I<4w7gjYT~Yn)|@iDt0BxbDEY&=OJ$1Pl3=QpRqx^7>;2St&}NnP!n8pS zFxGQpLlYHG w?`3PuT+v7CPhpZ-0N_LTcwY0)IPpe$9sFdm_{}nDRjR^0I5D z1VmWGv6Ff$wc6&57grSOXT7%S!XugPZy6S9<$?% S+K>>HIA!7-wo-Bz_0vbOi9-Yz~`RXRgdRzc4! zC3f%)Ph$q 4P9okuejdm1??tJ>dgS@)hmkKu{Anr4J&uKW zYeYajs!|T@aT0Y)+LmIeb0dZ(+MdV)vE(hUZ8M$SRWYNIr^*XwImvJ@3eR>N*&{y8 z-t|DaF`a@PvmLU?ufLuwo7|6T@3Hiaju}dz0E(MefE(}+A19G!jp4i#Ym7xM{h_aV zMEc0jt7)BvGdUvCsX_q2gO%D118ifCc_lYY1v$$ciD7fh{QkADz*9M|uVRm+Bn#gH zB4uyaF9XXZ_j64CHPf<&&tuPFsq!9A6kf7Md3_G?me2=i>|V`p;1m?`nMVH$q{cT2 zErSM;KH(hKy7^f=lddtXI7|&Ynw(sP)(;l!ow)_RxkP*MrA(=bz&reyBscc+vq#f* zH%uH!b _pFbBaXjg`yP~l^7C#rwDAV|vvOJ) z>$KjiLlJIgq^Q3w)9Rl^lilXDf!}RHhrqA+=SI{i^K|z^X^xG(cx{pzEYCo|@QK6y zWl2OsL_+Pmc58p_g$2q|ls#XiK0vzh6h?W#;J=G4V4Um$i&(--l*W4{;$Lxjr|? zM|#|M<{T*}7=nXd`sI+2T6_Lx$Ya>Biyd~<@g{@RzTMw#@Xv3cH^p@2*m#TACS!{T z4EVq69ui$%pexhvnJxp>_JiG3V5h1Q=VYuIe>k*sF<`~U+}V4yJ7HoaJ?Yy*Ob-26 zs)m@21_-j=r-%CNyUC5n8a*teF&*P^; XTg8dBT-x}x$^0Znz%EqLSu_jrt z!2UOXY^0JZkfN7Ps;Y7T0I|2@O#sa{o??`RObyFI^I#Xz=io5*aE1O@?8>zHuP6Q< zEV$5N9bntw$sg(MpZrU)eQ0qIJ0Ljn3BN`!#dH&qm58cZ3DXA^YEG5f&9pzC_OrCc z^QOjmUdSZ>y49Fz)=T3X#Cm*N_{@Y6Hy|V4v7raCQ`ECCEf9l=2STm*9>%S0J>@1w zE@0kC5mSIAwgHUZ6z?dkZ_XO)Bo*HY*7nPh=FM2tM@VxZ?t=w_*9#r3z{{Kbf~U8< z4BJdq{=cW0&K3QX2=UwrDp+IAC+$g1|2bAngqRpgeaaQIw Tc|fC8o?qp)Rx>5DHN`h!b3X}^0S*-7SX z7-j=F1X2;eeQ2~!E7)g7qmR`ZgblK|xJT +oT0X4j0xTXj$80;{c5Xd4!ks?~ z3JfZiV^puf0e%T-8S9dc)0A;=OI0A -18&%s0JdTo%tb z)}lw@U~P^BP_pv&1U1@5KYir>={m8)jUSCjfyRi*9>>ZP6TnDe^Ofj1(rsrIJzG*; z``HzCFS2*D%5@rW!KUR(oKAuYY32+Q#XyfF`T9;0sF}7uv+GfCk%uL9V+eQ_PpBG> zF)RX#PYXrOa%~RSVC`gpBHyV=xo<8P`i0culo#Ay^qQ`@?AhVhacz2umtukjdMEn8 zygpLg8GY>>T)wTq29Q`T_gmX*Q0ep$6iR)8`2aDe|INUMW+yPyiF>ia4}6Qrfi>&D zan_+Gf2v|46cah%EfoS5NJap;F(S{tx6&Gw%2kvC2$y2}$pXvIbOQW((o}tS zC;o#Hu3GcA3skui?xci;f(9&n_a_e-0k!DrQ>G&(mi=hD*260QhY pyf}%Kz>WZ=R z(VMoU^Io*cBoG}cV`qj$5Dj{otksMG63w4oFQ}>X jb-@UyKvP^p!7dPgyr5fdjD;V%hQ0#LsKuS`?GHR|qw)?lv zf48A ^IsNwS}HFS*8dnCD(?_oZf2d~!i_e0z`MvV=r@ zX2XQtRj4`n=8k4u|6Xa1n7`^$_YC&jKL5FT97Gwdpyo5PX#t|HRdqIK+%s)?@n^vC z$}cL QGe_>;bKZ1cng zfSFyk9qVkOh4!%RiqGx30e1+*YZotpSeY}!n2Q*ET=OK5`~opYL#`!bWAKn1PHBrW zwbys_Uc6RJS#A<|d`vj-Aa14@)EnwR8~gMTIVUyaTchC&Vks4p&;0J!YfYI{5 W>&(&u zJ2J@4e%$}vQNBftXGQJJ!aexenNWXsqSuM92BJ5smEk>5?Lx6%BlWC`k3eBBX>o~o zluUQ4c3cwbc*$ANua|Itz6xQq|38TokWf-cpD;E4>QDK+z=i9k4ANYdyi{ar77`%Z zpwCh#-n}j{KutYgci0ZI%p*rG7sd7(`Z_hzk?;lkkiu4^kZgQWo2DV7=5zcY!zix^ z86=S4+qE5k(qWH4{$R0T0sgWD=-YGtdyH}F`bbY$=)F%?BaxCQ=R|GGKwjE8G2|aH zoej`Kx9ruy-F`9E?0 Y- 9V+6%Blz*zdtcjcu;i*`LNVt)Klb(e)>1^sSm^$Ky(Jz|!I#1P-8K2T=;eQX=27CcJ- zjqUyZ**BAmfhLv|fuUuHi$~&YDPOG03{V)~W)81(@1n!x^WHCX^Nmc&8Eo>m tW7 zTYX$g*MM=Y{ 7Dan&aizg5D54v?(Hv9CJ zcGe9NyW_#4CY0r`eveAC PC=VC?G 9#P24ztPWb+}{6zzIr1Pv~7dR%To?AA**xJ0$%Tm z?;CvKAwX8CR^y?I`(Iwoq)yDR6+lOU(QszGk{BJ~OloZCod0|Cg*G7YmRy2tK8+xJ zq_{7HsX(%Onw3^Ao~d%s%&P-@oQi%&B;LMU`hpQTaCpn@V>K)OO>}4PaM}A_D1(Y( z!?%;m^exkvh+{?_*jW5BP&B79wDIa8_nT@%K(Z3%{`kz-28;M#Ib3XB0_X_(yySYB zWSS_ufpEs(BT71CM%vBUn=y}>a09;6=Y &p6 %7oTVZvE=T+M&l|QGHMM zCWKo~xs2^_p>l1`qCtYda&Ezx5GHvZ0AAK3uRwR+POj~mN|klD107g-WfQ`%I&`d$ zI4(ikbL@d?7;@*g6@)z&Os0=@zgJdta+K=>&*^vnm%wPMWj=TQ?${DH7x;~`f5lkB zXRnR?xY~S`a|c123_%;ix4HKH?necxNeWyXjuQ0DjX$rgedx}w91I88xpq4Wooaav z(Z<@K^eMVdV5$r3N;}$Hy-=l{=Q5Q89LxapT^Gc@RV!k 7lEZFS9mh$cAz);x{ItH*?-o!ty;H%8t;&x-7=tQn&k7oX;S zcOv9Hz=I@GO10dtT# C{e?uA~{7ts;vjNfF4 qUstceNiv5TAH(BqGx_F11PU(uhyTqGB z5a4E48N9VmRIQy*82 H)VR?n^_@sWhKpqmI9%D=chc){s-C zL{qN@g%%;~f=&4-U9q%BA-|0I`=;KKF8JLLbz+Q)(9g3LzWH)Z2C~{*2%Ql&I3k_9 zbw~ra2=G(SiWux0E4uaMkj;Rn{NuLj-eKZ`*zSascq+&)-TS*ohQ#zf716Ix+^n3e z*@7Tz3)5v(=5_mXMbU}_Mo?J|mUP2MAQu0U%jPetVLjfY%K_Z{HFBD?QHnjX0~Kw! zupJ73WR)s!&xLgn4~Ky_-rj7~VB7!n`7+V-a~;VlkY=25nPgWA-CC;-bWHW;9m_6T z5!sS}WW}%Mp5@yz_b)w1q)r$BG>2ke#8@%o=M$&1_wxk=Jva?+145Ab>loc-svh%~ zC3LojwilifGsJ)Lz7Hw=d?yrlKOVgDmD-QA+^v+vk-}vD>u$z)kb{Wn`PY!_dP#kq z>@s7%J>Znthvy8Qj3mF+5 A|DQNANF+*A{WpICm$48rq(Ap5_PCf_S?mg#-TxOv zmE^9F_lk>ihX7t1r;lON3$e-5hg&yMn+~I(BP(JzGb+(hW~SEXWZt?iE}Hh36p9pq z4N?%U*7Ns`Erwhmftvo8V=Y*T&RuKC?%sRRS}Pi;v~^jpa&NR|au< fTD(}9OOw`XE+6ON1#+xUvA~pGvv(BRmMd}BEUsk?s zTHudl3sXw}9QPae^}$~51!koGa5IijzgbQVKcAC9Jc$NeVx~SBTLSa#i?dws<$+mE zUAhF7FinkBymoy0r1c}bG_`lTDmk*{e$7bC$vxw%I00)K!^!c-Sq1gzb7AWm=lAaL z$}U&ycqK(j{%oBxxLDT|2sM^y@~lVNchii7u0Z;z4C-TC!55OxP#AAhz}*V)zCi}b zn+Hu)8<{+w@xC)~=O;apN`|7+8bJ@=5ptCGa~(ZyfX6Y5qtln|51E!O$IOg9p1D9B zbK(pO{1F_*?j_}Z{)VuA_|ZdkD^(sl$3IuiXw`9L *B~9 R*A?(lMYOcA6t^*I|}mO zu&tQXV>f4hFMA_`4}_4Lce!e0q1P^+&QiKE)FHrG*iUf$G>(5exIPu=bZYx02!STP zEu1MCA){Wd@-JK)wZh9-GsuXd^({g3oEUHckKu1a2UBOeU^kIArk%QPAE=?u lEa^cE_ogpeC&iRFZAh8gQWu z)lGwy2hwNhbWb%OLNn=hWo`@F>XPV`ud7#SdvIjqt{YQ)=5395wBQOdkUy3dp#bw_ zw3KOisce0MmFtX@TY}}tz(>@~>}8JL5FNnG`;$U3SZ?J0Xo;t9iBD@H`Vihc*0Zs- zxB8tB>S!8DG2c}EOQm-#U{;kk|t+9bC zwXt-t1tj_OCAF_rCRhhNd$>~rJM6a7MRwQuR2TK*OxA&|Q1NkmE1mwhn+vhz3O-Cl zYmr=TcB65;g5G%VSCmb17z$!m#hP>?sa7^i(OO1kIDVst5^`j=1%HOSpt-VhH$rp? z{+gRA=B(*`?M6zV#(<9wL*!TbXUT?~*XO&th_u~5FLr`RKchL|x|DqRr$n=U(8}S* zt=f~ )oJ`f}lznH)DCzq2DA z#M`y$_r*ejt04pBA>5~+4Mi?$m}H# rWts0? zKrZd=-n3Sf=4{gzA$jcYHgF9xua3&YObys9pV&G-^A4o*FZc&=;!RI}h)`2kXi8D+ zl-TG@M&bhqJ+dBp_Nr+qR_uZFpZT8R--?7V6^^{$PlV>NTPWwC^Y6urhISHPMtBQP z>?JUH^z<6uONuGyE9tjE9ZR)Q1ZfFUH0J%;1xDEh$#z?YqLCnUiwLnJH4mR)%`Ls> zQYn^N(^uzRgUuOTIis+C)>am=(bkwO82Yx;;a7|=0i+a&GxF0`;fS Ju(Jj6WCA!S40W`S-QC8~Fg?_+Dxxto3}X>BQKq1CgDX2M zZaVov?hR}fGynV@Um?28O!S|iGm7o7xf?63bfT&Voe|&ALgGF4jutouCI^#lHwax( zwxT!MKEewllmO{GrFW^Kn1{e8c-xK(in(v1J%4o#4ReOr5t(OUku7o0t~&pnX8)%X z0MDm9x%njZ+sfy*p<(}+i4UA7;0D{B{T*V=7q8X}<|E|;{JT24A6HM*G|w$IwtcwH z2QNX}#YN2L3hrVN3Y%YV>5)f(R&-v*_HQA0$x zBVXMwnhFD8Xps!6V@(x=Hhjrl7M*o%Sr;O)N$F63$A?2@@cG~4qjz|4U7>rVqQ#f2 z+Uhd&B{9Zigg{j`)yxJ>G>6UG<*9?-oiZ-u(s}uhd_Q*}WDzh7`c^(7Nwjrg$`S`I z_w`?ItS6V5E=c7~mJ#$cZQL^l?rwC!w0Dif*Z>uxpNr`K7KnZ*=k#iWaC( =9d-sAVZKH2Rlj$y=x?Wn7O_bcIOxSp?7CwBK%ec@3myCxSZ?)%(43H zdDItuA5AmbhBhD6_2_~B9iZZvQs3pMYSiqzf4JCtZ8uNMC2y(w@lnwau$j*sS$(uT zU*;Ekb*a&ke$WB+XCSYGB7x9PL!=uer>iK(-oEAsy^%7Vk`lj5oBdTk0oe=(f44IV z#3k!g0}=JJn{@wMn+WX8<1KnR7ke6b;NU__7Psqm(MEy83rQ5GHSppL0G8&mFT6Y{ zKg5n;U5U^IW__;)P^pxf@(*7czpb%Wr|^$a+U;-nkj5uf9V2N+N|Tkj&lbQ9%qNwr znp29YVFcTJdh*3BSS*Z{UWlhfwrDqF6{WT;N;C0CG0J0Kl(q+g XGN412O{v#OuvivraRlP<4f^H=DXHKD0y4C0*pAHCKgqp^+Q^ z?$oEX)kP{le2=}^an1f{^iztZ5fYs>V<8}DsAFWXB{zPuhuQhQswqBjUFr(~4U6*G z9H+CK&-`G>sVi%boCJ+DaRAZNPAXKk^oq6MxsH_Bm2hE`@v&)hKap%v(*~<2FHC=K zV=uu~OGw`C0fQx!;Op(T!Cx_|06y|ra9y9}63>8UQpx(ejz$J7&BXvWAVu#C6INXF zQb!si6~*!O413YoG!x7|G?#zIk5mVAooty$p;@sST8`|4|5L(QTj*#n3=!nwbfFjS zB5!O#?4p9CdF*e(KCjUI0Pz{^Ftmit!876n+&=h9S!1^>&YLC} qAKJTL-?<_A?KsB(6oGQ8PQk7dk)K zTMHGVZqvWdlc@zd-xLM1Z{LbccqyVM5W_1C-T)*8x*-XXPrOJyvzXF5T}}coV-$+n zdm&btiKsJ%JKFKDOiqd|!Weo+8>PaOlRkI*w8(7)INIiAj+g!;>68>)|48=#4M=og z_85sa2p%p$Gvf(Ff*N6e5WmWId+J!)O+axJmPsO?@$>v|qs4X)-_kZpKIskj&1NbU z^IXq=-#y*;)$9$iD=hxDEmxVmy=~b(`fq4EH5U7XvQ4_%W>^vwq*LSrj@c7>m7 w^&M^LhFnQa-vlMW$ds&4Yrbpl z9fJ8*Mk;-{9bF(5_)?5ZI@=}sxO55*jV4G kU zf>#$#7{MF=?cE}d;L+*$hl$*MSA!zp4(`>kHkjor9|@1TphM*fg`KP3If!1?zvH6_ ziM{ EFd804ElM3Vy4Zpwlll^!+5^ zwEw~A)dxrMM`3`5YjD&Haam;0d2imm*?VaA9+X~E=GylCr}^Z8fvHq}f0Y+0$nk`f z$h54*_2ai5-`GWOL`Od?6@tcfju^vmwL`OATztJXuzuad +zRCG@%GB~#|M{=NYkN1IO^LBkn8AC#HilR}{_5) et{aiz3DKpe&J4H_J4Li-JU`$uK`U_ zm~c!+#}B#~^ziSehGjtzrHFUs_pyf^11ih$tODVQ&Ighp_2#Q1cNKBwRK|C-SnO&P zMtpuh7iqwCt|{92(O`iV<-De81JX0d?yknZ0hhBm>s;P%us1|>$>z;a1xm4p^g9 d&|yWzTl{CTCN$ zXknM&M=@8%?<4l(6SdMN2LG!{Hf{PKqa@R}btjB7UPEgO;R4K<7E6^u8scHsQqNBf z&}|O5|JI7D$i{9_l3gj-O%BMouKm?J@LjJc8K3B-p`QqW$<=>BP=MPsYD VXni%UxKS9a zf@}dzqJO}ya-}2w_svyT$*J=9V#^?210rFv)}Ob(O5@g)hh|1OsKLa8@p^2_b+2F$ zilVtssoLvXa44hn{@i=h=`~R2e8N$n1yD6TGyTM&5KG=0+2_e6|MSbe0uoyaU!b;t zhCHrRmS8O%?s~lRgsJ@p6$F*vJ|V?1b&tMTk)D=#-@cTtz)PMhc?u`M$6nWXj 4u}rv7TIjc~Xg%`$SF3CPg%{L0z( NCqai_v1i4KU6N@g<1xrkB`Nr=EZE;2}0@JFd?@)R8cc z68rBuP&I`K#6|~gvkzipyH^VVzMK4CwSiCW{f2BgrxLncj-*$%rh=nebPc6 deXnSr%{k=bAU?l$-tb4cN@P4ch#)VL?D0q-_kE)ku9A_ z>weEr{iOVl_20G>%3Q!QHOJr54(8-Z$r3R)g0CWbl}g{WD8+ b*t+)io~3&40x6FX>r}% z4pP&4n(zF8jkqU!_T-8Vh?riu<_Na@j#cH{o-b**JcG4sDww3EPPSDAn$4jLP;%2m zQ9jwi{e;I=dy$;<2Y?E{^dM7tRzFf@M3BCF$Zt50ls%F`7@ZV~J=z@4|6+Lw%AuN5 zN1Vx6r#ls_IC7$P{a+c%bO>qFs%X@kI^5k_SwnI*Gr22(&b~Y8N6YD@auqz^VBF@; z+2{z_i*D22X5aszl&H1S%z^ZDe-d3L7^G~X+Ud%0P8spQ3vp!?OtX4l^&EvENXQoV z1mq9Sv%SQe?C1oH)j7t1VAdZXLX7rj*Kyfci`1Aj@9Q_U2DKSq0aX!qJWcOvawq27 z2x3t^f$zGcgqK}I=+56)=>i`@zFvKd0^Ph`ZaIwgrHG*!9#%=WKo{aiGlXsDU(**o z%3Olchm3+KSJ9YFgnx>fC&Wz2k6)Rjl}6Yp?#zrCV;-6w@56ZQyZ(Mpd~)CWu36^h z&c0hskTNg-mOHf`J6QU6xmBg3(9+wd=H*2=7g$K?l5T)p_Ww;{^sYogq!>xPM7i=* zX-P1>vCvg$=5e#9#qe$N^fNhWI@!>00pbYCsMiQ)$&L?!Q^=XIiBlQQ)%{BcxlUUO zwY+~hQMbL<|2(((jp*{VOGVdm7~7`iTiDl+jW=P81!F7c A#{%iw}-_<58o fj6teFmA+0tk%@ +D64;}gYet{feHSOIXzoqbcLx( @BAS(bk>ccar$-aB1;b zsKK|^dd5qNLw*NW@Gu;P59R9tL#;U Sb5q<%5o6N~~S zRp_3k`FwX2AfT6V_f?ezv&o}G=Vf|0b(-%hKg13Lb9HxCXp!U|D*wxMJ!dR?dxd{D z hY(`Fg-$)fMe6~3g~t0rNf#gm}9M)y^|)84uf>VMF3(Y7 St;IB2wPJdna# zZ$JTvkBsw1hG#v10Z7)>k2T-}t{wXoOa^4y6hTIIm%&)(QnRP*0{4|t@3vdie=ef& z4+G&br!Yk5t?VNNz!u?J#xGdZ#zs;1@ I^jN^;eC(L-DnI(2T(d~}{#iRn zwSs^Bt?XWn%mdD-FJ>R+W5JixbY~^b$u*x!s-I2n!d^kex#I|9ub5bO55I@`|0Y!( zZb#h~KTL|EeW@x726<^#8Jx>aYHSzI;@91p!cg!I`Vzakz!m1{)oHFXi-!Hr--lzW z5#pno$ flyCuI<$m#!EShep=<=LLcUx=E%|L4;V5N9b|?5WGi0Ex9g*n&ycUoePy0 zqom~D-1A3G?_F&fNi()1g$JRgS^LY9Zi#HUQa}Un{fyo|b)KO(jYSzxIGwlh%#`36 z!J1{lkKzkj!I~AwzSl7QDNQ>@2L-*V4^szJiU2!N!{K*kE4YKlCNDM_%D8bM0#}uK za#MW~9jVn7c%NHR*PzHhgM;opuqv*3FnVe#zckn{Ce`5;xdNsU@QZKsOuzGmvz?n7 z5`1Oqv+k*Exb7J5ow ndsD8$ zgHV}uyAt?IO>wa4{i^#90Qf;8U3W5%kb}w+TZ0SO$Fdvd&XB6!zAY`X1CV=)eQ~28 zcbbAx7V-HMidAFUWPC7?EIMreR>1;3hcq*sv)179OQVk9OUd}VYX{85pv6CfmAW3z z!^EH4xPojV^i;5OvBnB9M_oRl39Dbt_a6N)_azJ p!4T0Sr4yf4LlZ*39?^AD9Om|xrTvc3|%yVZe zp+8W~M{_s~2e`rpucScVGx4^=U`yDo(>NOwW$0eu5|&74P>;uQXDlFQgVk%DuGPu; ziZs-(I@(b1Kylq%F|Qf=+fYaA9W=xM5jH4EsM$KNiKrQn<{HAj9ogRiYT&EXXMsW- zeg;*}kBcS+q4gcsqAT05?kK`^CXgaG0(ocDmp^9V> Rk88yrk<}7bq{5`k| zdnv5h(~tGKbx;^UU5Wn;L%CSimuzWIU6$SxratGMUc=gPc`#Uq6IG~dl$f-4Gs6Ry z={02lK<3fpu*odN1KK;*47sdT>5}QG(8SEWb>{ 0A92W3ISCkK!mbN ((eBNvKbiPSp7b#%VlW#D>YgL%!qae9aTy zwy$lx8~_{odzT;y9Da;3>M&=QE9f6BuLuZEz!m}eu&UfnablC3^#LB3kB(}J*p1qB zyWFiS@Kyi9Bky+=RM^YcZ(oKa{Et-RP0ODrI9}-m*9wBNfALx0Q@L$=`wG**`V|n` z< 9xOiY?-FFlpV*^jy4qrj)DpIiL&kd#u&G5qeYP5oe~$>MA$guEC0WxSih zapeJbBeywfwkH*!8lQILcB(0*i@g4epXUbu0kY~D4vf~$UJ%V+Aac$q*?j~)!qI)a zsJc6-ehA}3zXxY3=B80GX~|JL92^H*o}llbQ`c7A&89G;Y~F$!ZKk#3c3_+iEl<@q z2Z2fcmf=F;SnzhTNfb4$aIq8gk8*+{6^M~7Er;Bo#JY87Cvo(+?)Pj1^*v&E76yXP zm7j4(B{_!Edj-PC@1*QEF{lok$Fj18lOk7H50j$~jRa3~;oMs%SL3b$M11QD@6QVO z_g{qPL)Rjn%<);G9$@ok`7(Cl@F~vVU&_U$k{=dCC=N*gxJg#4J2|D_UwIFo{{6{I zn6d%|Tdz8aeJOk#FR)$w52OjUe~iH< ygffL*4=k#ERx#E zSQ|D7-U+G zFl=%C)Q5$V_l!GD{WR4?C4At$3ZPT+2uk?!G;tl*7eqXg)^9?-1xcbt$;s)5+D5B- zl6g*q{ s*Zfj2ooZ@q?n<|?A8-0?~RRRJJ29(8Tq zIiZef_~G@vf)J}}vO;Lpz04PBiJgA{RoCcaKK6*~GBB6Vd`Y|HIC?+oUWN X%dTXdAz^n_aU(sT&nCVo_*MDir%XGD&e}KR+SvGs@e0% zuHp%H2={pEs3Pj_Oq~Y>w6AF3C6{M>k&hT+?Mu8F4EjvXSwE1*V*Yhm{uR=Xtv!E| zv`t&Dc*38#!MG(WsG)Vl@_RkKVc3idUN-xV>VAYmH>)#V2_U2WxQ-siicj)$T;0?q z@ajNnTSofMCK6%`!Ag1z6_&e_o}cD>eyj-F#7_Sfchpaofo>#4E9kuq#EW>tF?H(A z=1Vr_Z{96f3u3ky(L(UHDLRySCXOBXy67L4^b?9-oM2`CEmiF8S_H@M|0MTC8>{ zRNH2f-98f%TufxCo;V7Di#fgVAp^I_IeM?n8Aa@?$qT sTfnL$1dHXTIZO5bT67NHfR&Z^&55ua3P8-#dFgRTgr`IGJ3*4mO 3r20&TtiQvt$({#?I3capDCNE0oFu-beEKYpg@WlQKC(|Hlmz+Ns>Zk4eM z>;V1FsbfDTKrtiesF(m)kSb!HjFs;Cc68`_-cDa2+~xl6IqDpMq; zYwtcF1%7Q6#KAo(bB$d!!2_`QUkR5^V0EVEenm7DNmmb>Q~kshG+2|Kv@TS 9%g!z}!&$urbn_|O+*u-1&@Ua1Nb?ch%I#Fa&m87lJ0!+}CX zEKEr7hc!h%cO)CTP{1=!yb|_C!F-zvMVKyuRoEbS=8;#9&ke=hjtv~BqPY^r$6f$$ z46Zm+Tu^0c_>Q %z}py^Is1`7wRE27)25?iB2=Z(lAPX%X%YQ`!E?Lj!Ws z`F0@GK%S=E$-gY^Kc%!E66OF7Tvj4lk6V;{WinwLl+o$Y7h&O}#JQ%5!D@-MTKxg; zQul`-d3=uxkZMbNPHVHg685j%4Ki|}hG+g--?k02O>oSsds>FIh(e{!@WyqpUHVIU zN@lp~DR@`Pqlgn*k7y1!gf^-@ N>EL>^x$S7|)RiyS z<<-7Q`QvyaRUMf-0g5ExYFyHo;h67YA2EuDc35=<&T0UO=&O*wd`+dnA^r>?1p-!o zV+VeV1j7C`x&Dj^95E`>7B5C?d&dKE@;CoM75ympU{9}+mpU8iwO|I3vqWM06!)Wu z5Sz4c3dQ1#6;+XpHO%HoaOsa<=Ef7(n#3=D5|zO1)E)gP?xtV1MU)^wcI-6V6Z^m; zD2x}j?w7f44RG2-wV{HaHNqR=KyP&|dJPKzez@6Oy=IZm>KW%T7Jj?VXDgi$da+kj zAqctAOqidi7z%#So39K2vzd6_JU1hjam3;*-_H(bJSHz!mUU!asM2b!iI)r8S#V;s z#-uY$+_kh|%pY1PCsI$M5vDXP-NxIG4RgTGC8_37zL#nrMOK>NM$KPP0_#2!=EIZG zhfQM&L=%!drA3-$rV2bbXpo5CFa}WGhjTF^Xx*ta@tUcw@F!DN#76oWygko<#jR~N zFz&E%rPja>2Ru-rg8Bh=k4Jz%sVdrGhG ?d2S7wi&VbepPQG&MvO6meYk`j^9bfN@EN)KU%+*` zd%Uzt0@c
&yQ(c8>D)7TE6XTSECyXf&~pn}ESk z85HcTC=I%1Jj57*k}*pfp`z^vUR+a8oO6F~&Vk13K;!sbzq%A0t_1Z&H6an2zyYx} zsd8`$!7A=bvn7turZ{mxavDC+#)p_csW{Jub||96t8DPjaH>F+AY^4qq_WT-xtyuy zqlT>&E5KB>AI#EY{rnG>Y50%mxF4xVJ%7I?t)2$% CPCQ!% zS|#6}!qWQh9@AO^1BlrXwcpkkZW;Fezkyy6FG3b8_{h_FEWa<^0iB?*7*F#m6W*A9 z6B4fnhl7kO6oUUWreNB6z<+0|+>q6^ueII`84kwI|Bcmph=Cb3z5T^U`Z@m-@b7RB zCgD)X;f_CN2K_G{zSX);*tA%Q%6mMscqv)p73#6nOAN1$9ne0Qx(Tut#B^>R2?Lrt z1Ti~LWMi0q6rE>!dYqYLV?ed}kMD+e#^>lVV}|3gH_ChGY=7|E{RI}mqg3nvofjn; zRPGr_JM3Gwk?k*Ik;Z3S#|CCK!!l31{5DpTCdn+D%77af3eOSNi2e0%ej@JI#<1SO zMkpcK_qe;DT9QK=IFDdb*FpJHT#@<;SMI}qyQnYsYdv6puIVPnwKZkL-0?NRLu{Q? zHZ=jVWZ EWd@#u{fg7z`gD`J1icK z)g@;>dDf@~@j5k59HuD_Xu#)}4?bi{y)BlhJ)#Ap2Vc%8q)QDnq9c)Jb8lbJf)7Ch zfTBpD8%Or7n8^>b#-iok&{w%X+f>0NgY3Eeqog&s^vw?z6|o$0>$c=ut)8mcIagCR z0AA@WG~+t;QM^+sbj8SK<%I}v?_TPP{1TrnWyNqwr qso$8(1nL 17eNm6+7>bJO@j0_Y*C#O2Mc Ca?q z^=QnIp>6vAk@e+)P_FI&54}=UTBJpcHj+>zSx2jil5AP0l0BwE$~HPFrxZyDS)x+b zERl6OBq2%mbrNIOjD5x|&+mGMbKdiPfB%-}y6^j1Ki6{K^Wi2|I81yb`t-{Si)lT3 zqV^u_D(V@z_|^<@!X*2xbMXSLl{Rv5Uc3BKHuWoR4Y|JHA8pg8#t*=I+`h9#xKw=6 z0;!cSO%YM~LO7b?HE{5)-q&()I!&^NE_zN~6CcV{bH8D;kr(?N>z9^xA2haX@y&G~ zZN(;xA^4t8If*158(N-rrzrLMGTPONwHWG&Ic=3Bvf`a4F(mAa^Lr4MOoW?#r31`% z)M{b3zh={E&ckhm#b3oD)9O}zBb)tA%*lKWbA#mzr_ms4y5|C|&2{ne&YXQpM@~rY z82Fu$3A%PDZj!uZMSnzm!-SRrT#!pFW%U%@qXm7M<5w2x;FSwtXENL1_n8|dYO>tY zwv_X2P{dO3mnR_wKauxU#b+X1B4dG64uPoQGLa`q;1#*XyAv&{8)jaJpPzVSzw7t+ zF|7E2QOimHvqU!T=Bb%$BX|WHX&`pu4mKv4+i#UyRTdOotY!f-esVLL^u1h%Gu$j- znlS!1sK|jY)^bbaUk%2-U vOx^}tb{Ap6bG$-B{AmvO(7asI=P@A#p#aHWu#I2c_ypR z_)c&X=E%-DjvTIjJJn#a$NRuOFOQOK@RJYh*u%!}JYqV2V#UtO!Q16L30rT4L>qKr zL!g+d^@;^o6Cy%ovNUY`e*Jod!C%qM Bp!C%!f5=M%E8zVSCzf#3p*WH?gdCtk@x@Lek5O zgH3Lp(wfX6Oqqujpi|fgLPznNaFY0fhhDcGX-nPXd5F5#rk{-= W(z6$T#=KfUSS=%Bih1Gv^mtbT)dqzwvRMZ8SFkV&wM{`LROah z+BGkm`E!9Azog5VdUkIdZ?%o(hAIbXS4ZE0Ux<9M>XwOYyp58%U%Vj}TSK>;=DK2V z8x#gx86iG 9UEoYG2wG z`?zZu4@4|t*qv}k_tOxeW(mUl<7k|rCqH?FCr+qJ0wCt97nP5>XTe(vlCmz#_&ye- zJ@CCC8*im#o>BV+b2deem_}e2hvSN%eMY-!;}@-{3lwBNYo`>miY9h$`OzAEBq3hb zbp^bpGqd6~v%gQT2JQ?$#0I6MgH@OXP&{cMHwhxm{sSci_tHYS38fmh!(S@U@LbJi zt*YNST~ZGmJxVX_mlR$m{2#-|tg{y 4rD=4Q-8g2nF-k zZvErk82 &~{o9*cpXFd*;P5)FIJJ2Gc|GgZn7-Exam1|H$b>?i z3G){Q9X@`Tf$KQk^DBr-^^eas=p;!AeC+SLlKg;M9pNytf&DbM*L1kLaET7tS(Lj( zC_sJ6#howll3BgtF|t>uVUacmE9=Yzrf@bCRFOt>JE)S!=YD??d4)Xl{;673F#2P( zXEmpUIJgSoIGQp dx_$H1aWrAKyMwfBp^8lBp?C`>qh8#~-$exmw4C zW*t&z3nYY5J^`JB?`4@J#f|wxT5?gZH3}AX^L7)q8;{!8H}%s5bQsHYP?{yp`W(A{ z1y&s1v8 GT6`q!ldM@fZHi|Lhjrc#yuTtbY zudHBM&+X|I#?`!g3pj8^crU7`8OS|7Q_L|!`ZW@~M~5fSYbXturJj5BR*Wh-It*0s z&xFu{Ui^;^B14z&@%47mP^VYO-s~L8jYIoIOIg3~cxqO>22(Y8Qclw0drb2k!7tG< z)eS4*J}}cAo%jEZd>>7%Abpt3N?pDo&Vh22@2rFW_-^E@ A*mu$t=GvdgZbSpcl2?h8L8cm&k zRQZ_`KNtFGz9$dIX`R9-8IRVWO@5+Cojm0}|HrTXtMA9pWbAD4QpS2BQtNujqE#d+ zfooSv$DPI49LWDO=+b kmh=I^?N32cQ)j&fE)P% zYP5d6D~g*k0?~p4LYShJO}(A?{bQ#HiWUvp`wcquyy+CQ2PW%1iJv7r;+==SA|Qc5 zX%R2;Jnx} ie9urEY&Tvrc$JO-{W8&UF(;Q1Jv$|9}z=ni@Xb=24oO=KPs^(3<=B{J _gM+9AML{lhq8eLeyKUCyCN9H)J}@c#+G_|6A3{! zrv;)H%?GN!U!{_V7qzFF|EI3>d=Y4m7j?qc`#NmMDT0pg@5RS2LzTvVpgV*Dx}xgc z#beuUtmn|#TGWy(j(whN#Q@mG8TBb|5w!Db1v!t$tCB%mTW*5z=YdgHCSJB9tSXe} zw`5KiPZDPGNJ0Ud`ev{4t=68bM|%`-hH8VcLC45n-^n7#v+(i=)b*HorZXu UJ zygvVi_E52s_4HFDD~edHjIDI5uBzNi^^_sy!^p!Svs>I}@y|7oyw0zx>~+zcCkrRC z;``Z4xqSL^5!;f`;6t@~qzrenk%8w%3hf`V9w{8GBD2?-SU;O%@W@Hd7&R7@3~9{2 za(CAz^Z29jYB^Zq$A{N^QV}Wk66A5EY}B(LI114f`wyMbsqCvE+vlSjw5Exsk}2Yo zT%I;NMmf=D34Kmz^De~xVW%>@J%fWD^%-+2_y}@cXadpA3}fZ>XQAzWhKEQrFipyp zMVV-ftw0ZK;vO6Qy+juKdfnpJhZ$xf=(X4i@V(!E`F_ohX)jDZ$M{+EO1&jyfrBM> zD;IWKYy&S|zz=jKt>xPK#8%GA`0wb>=*EZgCkkZik|M-|Q;9{tn#Wlu`Y@*T%Lbw= zCAr(vygNvO_+;&w92M{!@1{a>FwUPC57blrZMM;degp5%%}!vAwVb+eCYV3*6*GNm zJuBQK>qlBA^X+lWioetvW1F<#+#`u1!%?UAq4rS*1&?Gh*&CL@oBuD@X0r8U{flvq zl#;0$ynv2Zi*mE^75!s)&2ueYSyrjBoy=Ts*WbwF*bzF7qVQuxm7R>7AYXaFR4w-H zbJbkKwG}}rJ3$cNzb|jCWUasPrPE|AG==BhHAdTSZi`2$vl9~&s(#G($@nXC2BR6^ zp3d0cBQ 37M>y2Ng&tH%0Ud4MN&VHGvR4B>}yY+EaGO;H3Y#cGd6zI+4zt6aHc*fI5UbdPkp=1>p#t?PLb0(U+o}$7#SN9jGNEa+6O$W z$fIZF;zvMO&Ry~H2*$X}VY@Mvhj03qYhFkt&Hf^eHpkr@Az>S{Fs9X@qCx?w*L-pi zI$cqcTN?;2<;Tr-li2vZS(>QC%D?wn_&dKDb?>EzCkZPO*1C@NhyI?2xMbpl1@yBj zZuL+RflqS|&ZIJyUu*9fcF-dI)NK-2i36RBn|c1eLyT2VFi~(tr(Ei7=sGDRZ2=^p zEb;)hJCnXyQ_S9YlJ@vvcSC2tD7lgBYnzI3!oxw!AtRq-aA-y(%lB1J?_h=m!*Vzd zq@#D^9%+J3oWVAU?E!pk4cVKqp&XAOvd=vpNhI3N&iN<$B`3^(HQ?y*1T?cdR_k?G z{M5(o-V@!#mI=4?CD=yx%d>08RM}~FdA!?&q^E0+gW)wvmy_5cTq@0h7gxPn+z017 zZlE;Xmv3n1p2zdvio*{ez)s{|my>TYTHmH{99B**D)3mXWjoDgJI0oC(Iu0#UP?|7 zgu+CPQFC(>IaXn-ip6*GhmnW|_#NIVFHdmNPZo3+s2CyBhVWLPApC6FYOb&(x6gi2 z5TeS4r7{PY;Vw3>ygd6nq00uY>w-OFLxy()m_>r &?B_Fn6@p)M z6)>T 5Bg1zVtw4rQMAZ?GnNz@D2%_T^yN>fcrucS{<4q^&Bs=5p +f2of8ELiinv~x-SXd1>=Y|(;v`%CkF=&uaL`OHkU0>OH} zT?jJ$+^LtK#SWJKowf^ksVj_#pr0c!0}<+_+_Ss;p!ASE#waN=GcOxqyba|Rh|jj9 zwQfm%b;d2^cfAA>vv)n_cMRj?P$QrqD2!mLY5v^zeGq!hr=aP>B>pb%b6c&tE7rz; z_UzMCKufQ`4e`8g DUYX6v;#vBO D6ox?mzMd?%-@Sn<4qvi*0VjVMEW!jCBzzNk2+cIi8KhQnlBrz50M=1Z?ZhZ zha|eJ<%!F!J(XH~4ta)~HztNX!NS#vi@$2fL8Q|-3 QzcH=+g zWT$odN-UoH>yM%0tec*Bnc+s?Fpm);+>5qKa#eWPWjHd!qAXcJ=fk98j_KD5G-^4J z+Yd1-G&pXs>SrsXu>M3#6(mrq3HGgxU-Mb!qdTcTX4kjIm;Stc=8USMC|s4^ZGxTt zhrH!`-zuSi`zf3(m2fJh_zd|N_<_VSBZb_Qws&!I*`@i>Je&u#THJTDMMOp))EYdR zS7NJbcp;88#*7W1alAx=$K;R&m!Py)i>joyOY+Iwo66JH%!I?3#^huUCI+JRm}$NZ zL=8pIiBA!v3?7*Bs5O @n^t)EsQ?bo(Z*>!cI p*JcP(m5{(`o^K{!IUoKKFGlq_2R zk93Ef>{x%(&;43=)^ZyGQpUgoAP`qp4#s FI_}8(=A(E^(OdOW z_t1IFw)U^U+;l}@iVfIBmk`fSY`V!H*Z6Ng;FA>{M5@LwE U{cB#=|Bc?mO7JGXw~N?JmJ|7$7B`r=>B z#VfBcvH*WM9`|I3m~r3t$Z!mi{m*?yFu@frAlKW&%M%JxHXI-Gdp%im 2)zcMEX!1p8`p)pb-+gLz}YmNMnSzU{eBw-X7Osl*)I+6CB>K2f9;T5u+iL6 z_C70SltDyIXOCC+kM5<~Yy*g8`;#FbFEB!O;9n2^!v*w75c !hcGy4>%EA&|GLaDW9j0b#y7lOkT)(axtDZ_=Zbpq zR!jqNE7`wg?V!L5FE1TlJ6K&bz?lKGkicNEj?EP0l=HIUPv+|0V^okY>Gqh8IDgxY zA>PLPMKg&BLXFJYlMZHDG4Z91y#3m0=U3`$zdE8WgSjp!7<|GAG(FcHv2)RUEiVvY zo_-t)^Xo-W8BzoMdT1OisH>6P *{z5pMc1$3*vsygI(^D zz~PB!U07gxU36ggI&g)Ky8=-cO?GHI>om2=4a=GmBbaUWB51;vb6O~rTSUCBtN5%0 z4`vLQ#hVcd5CHyWK=YiUW#7I+codTa0d9&;`n6soepCB*W;f3f=1yhTm5s@KuJz{5 zIOv9YTwm|A258({sM;)S$1C<_#{p%@aLWbtD?P<1a5(Nf80*PX-MX(3;~^snC<07< zQXe$r`-R017WK6hg55XOY$KB*o*z%2+RAP{3_LU3$yS7@<-;hjHejVdf`28h$|G+< zH+w+7*>f!Odf6Y_c??&=iJ(b1oMJU=Iob$5|BaIc<`5V3;(^_$=4;ypSUs)D#*rel z(k_U7^Yi9` 1EZ<4Zdq+t zM3L&L<(TD*te^fvj<8; doFzcUHUF$sU8CiQ8 z$0MFU;=eH9dnMU?nihy&*#$+b^hHbm`eK7{02GRN=>JzQ8VEo mm2h1D2(5w(5p+^{QzKUv z@phCjs;f9KPeNTU-?s5!E^o-vnAk43TmacCIKBdkmK1w(FHS(Ge2e#61ge<7dP(cC zNL8fCPGIk3Wqgp@@TOfZl`v(%_x;Fd+tpS14aV9^2MFl!(sB}Dx&SqM3(Rra&FaBw zYX`o|Eozr^1^E^uY7?fDLoYnj@$*Zw8QV2Z#d4YVa_4riRqq4mj@SeIrs7?7ULiw| z7A34vLAD;MYVCXZS)6N#On+CG&SEb`i& llO@c`1jj(SwE1=-_v{v<|zU887oxVpxe;vj@ zmP|>y>m3Xk%XjrNgx;0X^H~Sd(Zh^-5#aGh(2eK_&<&|^Y>WAeTa@G)SliVrLRbs4 z73cY%pq6V 9%ehI%Kc zyyO$aveC40>>6(Hh@q$-J=JWaZ=3+{kntlMbrz!Hb>`C0>e2;&5g&wxn}(F?+ &sMxz_64FRX72cp%x^6x`G9|4^4bRT?=e $V_^;ka2vw1rQhN=h}sfPVuH=$}Z zms2tWBQ^}8DzI1wtPlRsv5rC%3XqN>(w|u^guY>5G2Yi^N7$A|eQZBPWg(+}&DsZv zFZ>;;*NR?nT+|A{#VwHvL 6GQ7h)zP )nRVI^w79TS$cSC(4a7TnGuI4%3!U{|Gw8 z5L+^JJ-1?96p@W|wFdz?Ee7n4qZk*jx$%}_sGF9f3{B>j8JT0^on+HDpc&IIc=eH& z=kudMm!;ho9P;~94E(1G^ky0FyMFbKteq_)59^~sVXt>!ugWt#uz0E6J`(t=zhD56 zL!kq~p9y;`O3q$dz; 6d zPwMyRL@0ullcGQvewQ3D9Ae5-gT=F*G(q4wg1Oj8lxLyV#aOYRAfK0HmySBZxAzq` zi@zsrXM5oUkne)LVnS$n1gYT@#abvpwDv%*@13gsUD7<)npQG^3fy@27Tm EOS%jwmxkT>|OGYe7u9F&UhjQ{*_1xN22S_9q>pp8$< zwQcNC0mB_QORSv1!Am%SE^DQ$vssFx+v2=C08NcBrN5;a3Fzo!KqX@}m*yKLap_WT zH#hXG6A{y>Ndhp9mIOaH+w_&LXfcxnHPoi5)6dOhgut;cly$O|*|B~fMbh=u*I+w- z-r6u`xK0EWV2Z$}FW}R&8FZXm3i3sp@(CUZhNfEwc@2hVE<+K2VrogtUzj-ht2EhZ zfQSC1Qy?1-kPPRw^2V^WG#0cS6cBwx$v>i!6RduVN)i(O!mfFm>I!paOnn_otlA z{?Qszb`S|TO76pC>1e$S4I5_Z&NZOtZ#{JT-GAfI0Z`RY$A2yJUp=o9{!CcA9vn&A zT9L;RA{aYsB^wTwUGPZY?6#IYFg4C*V @aW%5CPk=4YrPCB zBeHy%qP=7?Sg*v7U6_mhdzZ@pQu>mbkp1t2*`0U(`~9$5`<+YkJrb7vjjCLHIf 8aqU@(J5tPUwxNV*Q8le;(jj-@4K0V@B?i^epdq(dow4 z=dUe`OILnZ2cdNXIt7mdUfuKm&@$H!B+bwXSXTc1#7;J0yceHOk3lOJLLnwS&oj`8 z-NqK#3{>L4lN=pn9dZq8;WZsT!>_G}$BaI`af=txRCv8N=@#YSJ+KK}aQudqYq)}t z8+=!2#*(9`rNe|>h?3$0C->K4`Nav>-E6&f?Vs6br8y61U~Aqu6Nugh-<((Rm5$3H zJ~$TAE?P!)Fj3sv=%d8g> ;P{TX88S}C#pfN15pEt^{p7Y>m*;s?I8l@&+LwMkJ4v}9W^ z#mFbLTA#g3k >uh8QrEBtGVc0KSnJ 4=aF>oIr70Y ~QsJEc1RccoaOhIBc3OCMRdw+0p7?DzGW1wf~C z2eI6N%OVW!M0fJe!azFS3p{DYLZ28|#7o~cE|W7o@6o7t1t%W4VV*XVy|&uWe@dA> z=Wl?H<6;VZ?MUC7mY30#j~;kCgfdkLbNk#L93z+cDVlrD{iWVBK91yBE*1m+RT5yS`HS?r?OLAwima4}pu!%iWbTs)sbeH6v+x(4? z%N=48m~Yad2xn14w`=T@3?;nS9QT{t7R+h&!HEpr^$v9@L*87nFB_x`vBFrspIjc; z6{<@%;L>|9Z(g!H5UmP+6}3S~l6%ZwW4vlh$}ygD?o*L@Png%9>;^eNlHhoJ89L{~ zP^5X+ktA L3&jHKs0dL@*Nh)d8%xQ3!qlP`H*Nyzu+;W2jlzEd6C@-YMJVaqkEYf z;76!7&MA_{+K1dtBkRdy>*uH3Bm7p(cbePZePk9H5^>n$MM9b;e)ONyUWA@g{w0c^ za3HGo5KLlQ$p9%Um5ygN6+m&23THjmDHO1p+gt%a`nLbNo-Se*r~j-nOBl7&)>i6H zZqM#8L-hS!#Li^Wj2l8Lr>1KQBzA^Q+20=0g)H!qgm@;q{_m6Sq{wg*Vlvwth#bvc zk{kGpA2Hq)$S`Ro!{# zo;*M(CHuOHdT7N8Ig?e#Yb%Sf?s!A*X~F$aqgk1Ds_O004fEugK^4}%DkomBk`1Ke zoTf8NaZ!rC1CKzw-~&!<=cTc{wXZ88nrtZU58>AtFiEo?+LTl@YDuGB2}Nmh!U1n( z&$m(7#>epDY5u>dRW &t`ie7=6E?`HDe`(|Tv zH*eEJg&-7!z4c;ct%o$;fPDx?bRaZsYvoUb0YBINUR03KL|ntY&0XE&aizPgFR1d| z%>o)Obe2QQ3!NH`;=eGsZJna `9MMJCFz=xps)L^Qjape}Nl@2T zI7*wLObrI5u #zU!q>S^L!p0=xLd-(l=+5Cd9p=&;GjI@ zIW5YEK1|}w*_oxPq6*X+d@2O-lhO&Zis4Yq{ANVq$CB2UU1Eh;6+BVVq#Tvj&^q9g zK--WIEvhqLfV9ozAf&FH6=CpG%h~hc5vkNI2XNo>?qiT%-kO&$700WXb^G^{ywG>I zN^SD*(L*-@qOsti^w#@w=%d4mi-(I84ybNr>sqJ}3KF(Ju-8dg#`jV*>dX{}CJ@2N z+ClSY6(ViSy}8+6`a8vrCG1JH_MEDnxtMTW 1~ _~A<#dX tz!y}@oJg&ygrrVpVK z{%4>Eu;MT@Mn4}{HkUicJ?i9tai%ro;eq#MH+0k^=;X?f*0vlT7%CoBbB%yV#P!qM zEw>y!0aZ6+=x_K#I?KX_VK#Rq+yIS98s-m3;Vj`)*IR^IX>otG3E^faqemM5^O#Q# z*=-<5zbH9N%leVz@9a_BReMsi11uqI=GD5qjn+TOM&xLos&`x0zin1w6&{`cHu=u# zoBxs-aPLN`738n}9kK#C^R5k7ee%+fpTIqe`mf_Yr?yn0BR)Mw#(9qi_ALQhUukD* z+Q{;Yx^e%MM>SV`CPgl4l8byH>|_)3)){9MV(7rbOY2omJtH~@CCjk40}7UUwuxK8 zclC1!R7*Jdjvur-43SS(Ou_kxpvT>xFR=vCN|MV<^_bafcOcq5vb&^VJZ<@Ue)vhd z3Zd8 !& zz0U14{=~^VQYL!|XDGckonBj7>)`YfH%aN^ ;7 zse2?HlErl+_7(hnP9Du)M3@3~^oQ$vBz5dcpZPb_P{mCRoh@6EV=WW-24b*Yv$n1! z4;PwYjih>?*EVI7x71t4J&&M?$j2@dMW`4ilpS0YO1}vLEpB=q2@tpr-lC*tK!oN- zGtDJWU(nbBzSMEADb gv!3whl$o&cVLq|{hJ z%(va~1f8VJq`d5jGK~%w`1tKu`WVWL#xrsbA5v`p5X7a!tYOK_ri*7e*+FQ6R<=iu zbFc6H@%EK?p1)X?Ie3&Ym({b6Xq9!o@Tna71$?l3{X=>J7SeYpw9fD avT^BaISx1b$oD&? ze W5$W682egnc0oj8)fL2y I@ZIJqLHQY6?? R#CakKy>)$wOfWz=UpFJnO ztUEqla-K>w&U-ht3Zlp)DA2tJu6Ll_et9