From b4073796708193a2d0c8742455bf1ac612b4cafe Mon Sep 17 00:00:00 2001 From: Andy LoPresto Date: Fri, 5 Feb 2016 12:04:01 -0800 Subject: [PATCH] NIFI-1257 Resolved legacy compatibility issue with NiFi legacy KDF salt length dependent on cipher block size. Replaced screenshot for NiFiLegacy salt encoding. Added description of legacy salt length determination in admin guide. Added logic for NiFiLegacyCipherProvider to generate and validate salts of the length determined by the cipher block size. Changed EncryptContent to default to Bcrypt KDF. Signed-off-by: Aldrin Piri --- .../main/asciidoc/administration-guide.adoc | 6 +- .../main/asciidoc/images/nifi-legacy-salt.png | Bin 112990 -> 110571 bytes .../processors/standard/EncryptContent.java | 2 +- .../standard/util/crypto/CipherUtility.java | 11 ++- .../util/crypto/NiFiLegacyCipherProvider.java | 45 ++++++++++++- .../crypto/OpenSSLPKCS5CipherProvider.java | 12 ++-- .../util/crypto/PasswordBasedEncryptor.java | 15 ++++- .../NiFiLegacyCipherProviderGroovyTest.groovy | 52 ++++++++------- .../PasswordBasedEncryptorGroovyTest.groovy | 63 +++++++++++++++++- .../standard/TestEncryptContent.java | 6 +- 10 files changed, 172 insertions(+), 40 deletions(-) diff --git a/nifi-docs/src/main/asciidoc/administration-guide.adoc b/nifi-docs/src/main/asciidoc/administration-guide.adoc index 5151667bf6..95049b4687 100644 --- a/nifi-docs/src/main/asciidoc/administration-guide.adoc +++ b/nifi-docs/src/main/asciidoc/administration-guide.adoc @@ -383,7 +383,7 @@ Currently, KDFs are ingested by `CipherProvider` implementations and return a fu Here are the KDFs currently supported by NiFi (primarily in the `EncryptContent` processor for password-based encryption (PBE)) and relevant notes: * NiFi Legacy KDF -** The original KDF used by NiFi for internal key derivation for PBE, this is 1000 iterations of the MD5 digest over the concatenation of the password and 16 bytes of random salt. +** The original KDF used by NiFi for internal key derivation for PBE, this is 1000 iterations of the MD5 digest over the concatenation of the password and 8 or 16 bytes of random salt (the salt length depends on the selected cipher block size). ** This KDF is *deprecated as of NiFi 0.5.0* and should only be used for backwards compatibility to decrypt data that was previously encrypted by a legacy version of NiFi. * OpenSSL PKCS#5 v1.5 EVP_BytesToKey ** This KDF was added in v0.4.0. @@ -405,7 +405,7 @@ Here are the KDFs currently supported by NiFi (primarily in the `EncryptContent` *** `s0` - the version of the format. NiFi currently uses `s0` for all salts generated internally. *** `e0101` - the cost parameters. This is actually a hexadecimal encoding of `N`, `r`, `p` using shifts. This can be formed/parsed using `Scrypt#encodeParams()` and `Scrypt#parseParameters()`. **** Some external libraries encode `N`, `r`, and `p` separately in the form `$400$1$1$`. A utility method is available at `ScryptCipherProvider#translateSalt()` which will convert the external form to the internal form. -*** `ABCDEFGHIJKLMNOPQRSTUV` - the 11-44 character, Base64-encoded, unpadded, raw salt value. This decodes to a 8-32 byte salt used in the key derivation. +*** `ABCDEFGHIJKLMNOPQRSTUV` - the 12-44 character, Base64-encoded, unpadded, raw salt value. This decodes to a 8-32 byte salt used in the key derivation. * PBKDF2 ** This KDF was added in v0.5.0. ** https://en.wikipedia.org/wiki/PBKDF2[Password-Based Key Derivation Function 2] is an adaptive derivation function which uses an internal pseudorandom function (PRF) and iterates it many times over a password and salt (at least 16 bytes). @@ -442,7 +442,7 @@ For the existing KDFs, the salt format has not changed. NiFi Legacy ^^^^^^^^^^^ -The first 16 bytes of the input are the salt. On decryption, the salt is read in and combined with the password to derive the encryption key and IV. +The first 8 or 16 bytes of the input are the salt. The salt length is determined based on the selected algorithm's cipher block length. If the cipher block size cannot be determined (such as with a stream cipher like `RC4`), the default value of 8 bytes is used. On decryption, the salt is read in and combined with the password to derive the encryption key and IV. image:nifi-legacy-salt.png["NiFi Legacy Salt Encoding"] diff --git a/nifi-docs/src/main/asciidoc/images/nifi-legacy-salt.png b/nifi-docs/src/main/asciidoc/images/nifi-legacy-salt.png index 9d2ee361f23e01ccb8812ffb728c54eb17ce9916..b2920e560e874b27b35a5b2ff0f5721124345f2d 100644 GIT binary patch literal 110571 zcmeFXWmsEV(=betwm`8$p~a;Xic?&JySt~jLvc+gh2m05ad(H}4lQ2X1HoFH;1VR* zo1SyO&vT!i_viQX%e8Z5XYVy@&CHsaH5RU>B8!7XiiLuLf+H^{rGbKiUW0=2;O6l| z=Kd2!&ml%{n}m=M zGaIM#-s!Ni+r~!M!J_$2{~o9uJw)h+B4$Qi@yD%*USCe&Y! z4F^bR8SznQ_4`t=W)oamKJ2e^9#=p3g!X`1bKXJy6^gq)Scisza5D#+W&yLw|H1mm zr*;8-2R4h>>zqD5Q`BW@G=}*BNerjX0#mZCHS;NS<Sfga~E-_4xCDYkbiG{vUu@bGzNaJqkr}tu$ZIWj4 zGdl6V3Zf!^_@a{g?5(Eu3NjRs^!Rk6<)9<3>o-$84pk6tK zF!JjV1lewchxUJ*cbz-wsH46nw&)FIf|~shc5z+*`jCyCLoVmR+6g+QB$T76<;FY| znuz6Q9^B9)m=7JOQB&SOatIObX8pX*gL)Z-CjC=YPMDg~c8k4gBT!=d z{>`eku%lQ=TZ7s%?IYp9^w8a(%S{ZFm{}cP`F}b!UB44b9DG;RLv2RQ`Q^D%9r?uf zz*09;f(Lh<$I{>U@M2U7r8$H{oUb0MJ~j>x4Yo&r{fk%*J$6GsB)9M+QX0T$9e6B; zRf~Za%|@}g_af%|NVc8zBGttQM2=^A_$~_BB4$hv-bJ9fTgdX^GXyY|BlCPJ6ie|v6$M);hR1w=PW?q} zd2s(p0>`3Zxsf66a5q&g$`><#|agsgrv$q9ZG!0bZ$Z+`p6v09+b6(-)l~ z3-%Z&vO)q+)pNQ+hbYm-9x%PLwm}2EeZulHnfyKW5qbyp8D$=RD}uJM?sP>+jOzn3aJ-?;PEONV4(T(9j-#_=Hc| zC00j()jaYLtgR?!2?=xD?02r*L+m{SO;-f95AkXKz?0#^5dce zCAG+a{W@Vpj+PeMjO568buk$%R3`g)+k%^LL^g8#srw6qkF&Y0<1%M2eF@q_6edV) z01r7VqrzX9@g|cIzn3;I(R=u+Ytzh9k6tHo|GUA@01!sJS^J!9dKlL`Vkb0+HDl&` zw|lh*jMs(O<+Tf)3;Qv8b>wB(oGNWxo&4-eb`9=uWhUx`&$Dr!aWV01 z@h$RH1A`W5HE06K=?cW3B7Y>TXRMpA53LuiKcLs9*QCcQu%WM>QH=~mTiG3#;19aDEU5M_JnvRtQ9KuK=C zS?Oxg8|ebM0*#ILgY*d|+Vt97Gbq{(Fryi}neI|Pt?QZRcIS2zc0P8BGoGaxx_*T! z8hn~~8e64F#m?G*g1fLl&Zrj;p5U6(n3JtN$ukTpHmxKmjH^(utTxP(%v04go|5NM zcMGwq-&9wAO=zCV*`3@xyfJ(`ygRI#cP4Wcy&7%s#%`>5C~w(5diG>y)i%L)f2O4n zE}vFFk)M&*uF)!gorzm%Uce=8-J%jb`XXa_f;3M=)=efUdKrLdU@NsRAS)A6^eS^| zb?VIQFbT_4bIw?P-EIOZ?5F}a+}YilBSaoPL32jy_-+@p_Hax;l?9-~Rue=T)0eke4t0?2OwQi95&mxPdY3Yntnk1e-tqIVa9%YkCnzl`)haxcC&`7+TC)oDUlf2@kgow0*y+#2D%7r(MaNT`i@bm>hZ2@0w>>^vrIy2HR|N zu1+3ztE(_t*ZH-{HM`Z+&6e-*khBoPs0EEiw*z#qfD4}k*+qbFlQ)s~-o@q6R3BHr zThUgn%jTN*T0^woy5)NBIdqjCZsk+t<9wcoc#ilAvI9{fNUvQ%jn|^^+Owhag^i2J zl~Le&z`#A|z3jL2_k@9ZZ{^NxS)RVctO#cckAJ#LxWa(( zO8cdJeE+L4`Htk=_%2mj75ai#g-)vbSefriRRjdJ zEt&jaf!q=X8qm?Yu{|44)>eQB3rNzJis5~2;^~LoA>)z#Up~i7-l|+}ZTKZa6 z4(|Op`B6Fy+jw*YIR#pVS~(Abvj{UZlem)8zO?eirY9wO>1DGG5Ts`o0v!A5*mCN> zYB7#n3;^R-7$Wc;N$6I8tZt&>cu(6V>B)gV3p1Xvm9yP&h`1mEU)XV>b3v^QMvUH^ z+N!^sV6Q#WPuH)g#j$2jzI_|BlFsTD*SzCqxb@S#Q1BX3ET;Gr*<)X+QmLqCe|eqA_D5a}~>d+n3t2 zuCa4~?yYbWi@AQkYtjY}a~Lx^b7j?;esi8gMQ-uxMCoxEscx-KQU$ox3YL1BppuX_ zt1+uEt58N;mI_HJH>^H5MU=xKrMG1lPUA~oExNCx7o(Hx{q4^kCKt3icBZWEHq#6x z8n|auXLOwComdwU7KW=04ZuZk$x3ByyZ?2Ppm>J6>|V?iyb=x<^6+AF79)F!Bhvb6 zAGS!*)anyElF90q;x}{=2>J{f3sAm>Bksa(D;_Q4?g`lVzU!vx%c+sccd;@DYU;$- z2^2K%zPtQ2OFWh+**Slwj+)@K`W_oh*H`XhLY$YA-6ehF{Z8jA77eSMNR}y^xbE40 zIn9gA_$6F;9766)ulh|&BG0yizCGHG3&Rt-d_oI{3^`$B>|klQ|1;^Y+YV zXev6r>e*Ui4`zSpt9Y+>%%5=Mj?*f!+D&XFD zxi#>@lBy1{ce#CDy{|c0RD?DKh!@obRo_gW@T~4GeQ*0NPGi`UNQJ?nHy-r_#RT#| zOfk^s13iFk z^J|1CrT^N_9+3Xn_`ECh`*%KHlurgIm$anhNt7^v@OXZLj}xta{6v4D8%%?zYpX!ULGN%h)i28J$F52B|&p%M>bOn zXERGSZ^w7Y(I_aw-h#+mM@x58YHvpeCpSTF5!$~-2qN!)KW3+;{%eT4y$G$IvKqCd zv#TXF4;wcd2dyX;H8r)ctA&-IhLp^Iz>)t%Xl>lx-wCp_dwF@Wd2z8hyIQkz3J3_W zbG%`H^M(~Ug4NB($=%eO)ya+S?@9jeJW`f!=B~Ey+-;qmsDICEYUb?WE<#KDd!hgN z{Eerjx9$I~H$;QF{KXW5Ng?~R4RI~NAbkLKsb+mMHL#`pp`G(_- z@LvG`diB3c{uikJ|AO*x@c%dDf4%t+q%iw$3jT|tzuEQIQzXAcv4q+Ghxejb^@}p7 z$n7Avl~UD0{{FuI{kcPa8UOQ(yoV{xLQ9WPP{dH=rNp(oAM9m3dT%T}(?3?I`&5Ja zz_@_8d5ruEvNqJ2owFvCWk)wWq#;c zOWKIl1<38d&)REwZ_#fn5#o8TdzhBOWos zE%R;?D2yIFIVNr&j$&U@Km4*14P6Z79~YJ+3ay@LQ$vXfjc8rTPK-yj9$od<9D>L1 zQT};}DWT%GnSHRw9--E#`>2oGDN`QwPUh&}#50OK2s0|k3i>RA@*pq&GE$U(vvqrb zllq_2A!ipOcr5ml33c7|Ick@Tz_5g=*|$aF5N2PDe+gCb6IA?0Ci6^MY0PT6r6Wzr(MWl zo!n3KKM{GRlwA=i=y;2WtZ}DdBcgOOe7i_oS$)KeLH8$<#C93RiF+~|-bK?Jmf%xk zg?7|eJ32x%n^I)Q{$K&}ugl{)-Ur3?#;WN8%I!Ek;nQ&%1zZ(pms45lXOI8Hf?7=h zHG%E1w(m_r`Zck+WSvdm%Z8k%`Z{LA)eMhu#Q!Oy$gMEI2~;2oW#ZhdG33C1^I27% zp0hk(FMdqP#TR92^<5w1KM)#EeJnOE7r@ILZcE>rdZ$FcN5J>%_<;^;t3ntj>`7gp zeZ(Nj-9JE(yZY%>;4EXgRu_-9M3il1trp?~BR++BGZ*v4Ww3Wa&+B8_e@o^7gW78e zrRIM9gX4`c-*82I!bOH`BmD$(qmAeB*Gk=l|B@+cR@4o~$uH(g!>vYZ3ihn|lX&Q% z@1iyaipkBGLZ5e8<5B*J7z*l!LNlQ zI+Hr}YtP|cN_HEoq1TDo{E<439%R$QT;FPxKab#1Q5*J)@1wiQcO_Eg1G_q-iKnI>(&R{eFb|)UAM&4}kUM4?~3fi=~{cm8+Q3&+2~9 zcB+BP+0>)2M)mlKep|t&+Q2dPd}9ZHBu|X!tCN2-C_yq?PeO^N|Fy*m8<#%p*w~Dv z7_aA1uErb2>A8=vBocF)YZbR@U4?X86D|bmpIB#z6@*cKjH*=wk(2^KcQ+>m1iBeXx@180@8zkHCV>0^`162AWk<8yFKuv`4v zgk`Xz)B8cg*bBN=I1fw(VX#8Yq6vx6VE?9ll1`09oPNY*axYT8a4Bnd?~9!g&0z53OUkn~`QP6k7hUh7DJSY2yctM{AHc(3u!APfId=+5trNa57 z-7)dkeeTh$9-R%Ik|uk*%5H7k2!%X6{b1X3dXS9r5KTxiXE)V9ra>Y%7$_zXMrGUg zNd{pO znY)iMNi^A;v|1{q*({cXzCp`>;lq2iJ$ohdwtUc+miA`;_&)P<-Ixueq1hOq;0*k4 zaTKE`uz}MCrAF0NaoPqHIF0Rc**;N+cvtsFk^*V(XThh&!@G*+HM)BajrAvTyTYpXH%{!Qiw|yq}9W?TVO^0e+HS*agj>d^}j;edX|{ zN{pvs5*h5tK?Bmy)fc4TNpSo|ibmB*ojx!5zc3948Kg0)MeWK9%1obsJl~Qg@`!43 zydic-KfXnL_&3ej@6acSq*u?hqj=T(!(h&%DwF3{0S&I4eP5%~S}J%jANMvTzBHF| zG?crSICnJ6SMRTd6ZGor9q0Bu1paBA7+(dNVLzAekA#Xw1P}o;^CYf!cd21|zJ?Hg z&OYRU(*U$@{>9$s(L+IJ*UEUe@w1G*gYkHK|K`N@Vv7%V?@w}3P_NJ@iA7e=NeYYw zF5mPrx@=FcHB4PU9wIT1`uhCoOyk3x>~YAa{Ch@6>|cgqqL$yKcMPF&sreOW1U#(0 z$?E38fImHymo#cvakM{@)fZ%rz2F}3HJ{gCssy&w`#2X`zF;qPDn6+OG2L!FT#rc4ZfYJXtR{ zi_O3POL?)xv$f2mKD*>KcpQ5jo8J9ipc3>Wz4iR{-RC|>hW(&PiE|2Wr_~mP_7rya zMVD(Y$E3n6MWF4~(FeDkA){m$XfjAnV5B2oHUCdWk0)a0zqaey8LE$t1agABN1CEY zddG}HD{s^GjfRl2$b)O$sqhQ~>xEZ(M_!%FG0rJw*%pSH5|#ctHuH$8%s$7W3j%uJ z|64A?B(mouq!y2J>)ei66IBh?2GU#37&<=p+0r?7|HhivvmBw&mcy~ihlxV1{M zNvJaxNj=P9+s;z=72KmbS$sFCqB^xLd5Gupr_`YYvIKIYM;C*d5TRG}71pS|+mf>e zb9$@Rg)R#zx5*n4aQm2eh32Op10{OMi^dooyZo`$t1e2mMm`d1F?6tr?(M=DkZPaT z*toIQW4in359jRxez801NBq~TXFJfoUiJams;SdAvAk*1E(Y5OM)RGH&v=olH@W#A zx48x{iz}M z`SMT&D%<>xr?RAw52AkPe=Eqp_t6`I~y?n#6Ra?SY(J+UBf^-N-YeL9@w`7gG zShQFL@$MLtOcpVz2?4`-E3YKZ_emv-f%Hr1Buul#w=KWsgA9vc;hFlMj;eDW9{d15xL90f1?56zlC<={%Q9sK8itCrKazUZo6+jz?x%J zi7Q|;`bDD#9<%Ew4v};=7||syPl#HLVDq7|UtMZUMzYjz(+nSOVa+%n6%*JqZ-jK> zyY%f$)hmAjs!^x{)!Km+3qr-Uk%E31{wF_#sKA%Mt`FNzM_V0Q_Zw!6TRkbt_m*bD z{}tOHS!BQ*7+qgqA1Qi&b2=u9*v`W%Qc5{F3@2m&=d*cM2=bMw^P-A4pr=@^xKn! z!{J$FyGz9?1hqF#F}HhB%udF7hLu}%#rNg1Lu34o2IrrhUrS|O(Y<8k8T0(0g0;xK z|9tIiYx31FL-BIe=-B8$L5y@cWhlApKn%plZ6vlo>V?~IBCBC>PR@72YAj*CZDbkh zU#|6F3`(T_{z79BE`{LuBP#!+FD<~ktgTExrw}anAVK}%RXVw^$7QFrq3|t@Ls&N$ zK|mCLu$8LX3V^s|+(2Hd>4aI#~V{aK<}Wb&PMc5@_+ z=54~;95cCpYvc*tw+}i+DjC9@_A8)^cJcjTgYw*UFYDu>pBqPnPB(jtmG~Z}$8zng zI1&AuR91?uonMdBcRkd5n$_dTr(#&`0@&_MMaAJ@k4n$;-TcwJcm`F`i*IOnH?Jf0 z`2S5V^2rJ2*JSvlBKwk04}t7ro?T*DymPj4bsvi&gZlpBXqB>Fmd4>^=mA;(ii2}v zcjfmpc7=IW?$?7qX@c@845#n9Zq{b6>m$vqfp^4Rl>JlzH<^t~o(phTsH@RqRjofA z>ff<$8oipX?!{d%3Gk-&HvkSsAQfj6LOBH7rJ~h390(MG_#Ve|mjjO7l&22HJQl?O zfa8~6)d`rUVwe>I*g8x_!EoETg4h^4N`xqUS`#qu+WUfTa`2C(_PK@u#iA-170SucyI0j+-;wK`Q!F?(EcjkJ$GD z;G0WKrk~OPm-pWXQ7^sPUPj{$kj3SHqg63`x@=1J z8;kAn9ERfE)S^*k*m^%Uyj%5a^}HkR0duKHadginq-Z+LRx6;kU0)_8@OpIcVWpi5*kM&v5A3XSoT{~d@j#fX`k(;dGyOU$- zH`qf)g{COcZvWR;6${67Am@1dEs!Zh0JiSTZV}k`YVu`u30no|;e0m?Y3yVH4v=h! z?2n>(-7hYNm(bwP#46I<`7czzbaeR#!ERv==XDN?c#*nv37_D0Ih#c;2S#@O*Q|Co zmvnYF{;w@(D^5d7p?1u6jr%BejZ>r3PB#bBPM1d#AMxj$yHoYQ=-)l$sZ3SDAtP3| zI)ys;XZWgLQwEh7XSrz21gP4r_-VZbd@N0G1{2>}&ybysrtZ{bTX9yDjP*fU&DlvO z9r5>P{mA#HtW}{o*0!t6(;j(9&n?g$^XvPW@o}+w3PFuRH0M6nn+YdH3Xl1k6lkL} z9%tE66DR8bb)CfGFd1p=oq5)aV2i~n#@Q36Pqm@E2as9oac>QhS)GeWn0*7!kT_>r z2L|gxaKZ=N?I|Cqi_{MLFyC(@W)*8+TfZiY?ISx|Os|-D(;sT<;I?+-GkuiwWBO=? zuNXLXFkN3pT52w<;l({KI)n3U2BPWch*P2083zrJ50{oDm){S;jTEu^5)!?;sn%T- zZ!**x}c>gX{h6zi-y>j1UyHGkj~`s zANO`}aHBuKXT%I-HEbweX{?`a(gq5yGXwKw?kKkQ-|Gq$x(c)_?Q4O|&o5{e<`+&i zsrKg%p4G@y>C8iY!1EEmO)$X3FCJQ9SOUKHqGuzyu_-S?gq*{&NMmRa>Q#5jc2##7 z5fDLyx6On9d-AHyqd&wYZ;EaCpbuN8(7)OG?30`ut#5VzlDG5xX=sIW3ATONwKSY( z0Xk?}JrB*ds||lyg8Oq$KNZP&=KpZst6KWl6u2D6V|TpTd%rs{_oL#tH$eS1FW%1BEL4VQjIxz4R(R1|U*P=rXin93G~IbO6A zeeh%o`*!)J&Szi7piRNnSSVe5Ka`T#%cjUPK>y^)Ei#e(Wd{=H%LLXI1cYl^rAq4F z%rb+unPEGN1lHpOXq_9}xamlH4aI#xY&%;*QN53Nk}cU;BLv@tRArNNn)PD&o_o}j zdCh1*752aF58Tt_y_dZ`*>NA6xtL(Ei!zRFdJn#Y$Fa(43K?vTrb;U6mO}IxjVmBu zIqOcdGY6|O3ssv#5B!$xl>zNnO7%lLA?Y(si6#LDmIj4-7xTv`2pBGm>IM1#xWN^P z-?GJnI!f7MKC*yh6Bnz0c%)f2r191|oF3O={72Jq4bwG9c$90aip~A*ToozGTq2?; zqq^&>I6AX^I|b90>QXHGY@l6(H@Yp2boLXu(j}PsIPnacV_SDBB8>;i)7l~(v_o8U zFUG?()V?J(_Mhr$v!}dSirk5)(k%mKW=$BAEW*Oy?j7~USLIUq z`-o*$Y34XRxIO=n7MAxMG;Db`bsNIZ6GZqw2E_8|b7AkVkM$cU^fxK2^ipVgjtRW2 z467FqGrLBxUVzP$V;AMAy&;cbVL1>ic*6I2*jY_{RJV66QnQ9G^pV5!~&e9Ev}3^uLcY99mKr{CRW z@yXpvUMg~h$pAfysB4`V9 zH4RU$w@uPpMEoV;R(BJK8MBHyd=uQbNRrEUiy5drS}eP5|)a8(Iw-*}|i zE`Ly-HXRe17OD-oHqzrh-HXne&_7hpW|Q<)x8CeG-KoCnO_uCumhLGR>~)^{P=D5H ze3-r8sw<0)zKkTY;`95*`q3iS<6h@Wk<&x+?YrdeOHNuseiS^FD@qx%uj7CeWGhB8 zOPx*1njKT0DC>Up_QnOX!0Bnv&ZZ&7O9*Xgf|}_DCWE6N!lg^OlrPBNq&Mu(w;>gM zM#z16?Ea@Q9_ZM+<<~l>IO%x(?NTWQx1Thths{c4h;t_^Pva=B8$wHBwwust6iZ(g zs9-HV;M(<&;Xm$iu@>rIZkEovUFvzGlBr_8M+spCT*K2;KT z1=y(1?iXF-Br8+ITRFEqM$pGA#LU8;i=$O5qviR=lwTbO4o%rFh}Q&ft!PdRXeJt; zU6zDEkvNRRhwUc)tyZTi4l5Z?D)fH6Xf=V+(fi^dwD9=8xYjqHgAB;lw-_5kQh8;b zFY(lIB#+)Ku?A8i`y{D;AqX1qYf#EXeyz-EQLd`qFV+`65A{=ii%phm)TbJ8Sfw{s_>nErxP5Lk=%zH`%MyD2P8avLb^UNw>ep@#b=M>m|7cy zpcLq;tw{U*BZ-MO%xS9i2l!cp22t{a?>RauhVGG%EbRn8vu zsT|WU&E{7%bKVgi{?rPlo3UAD7%I8dJ;*5yUa`2`=@U2$@)|90^n9M%;#|aLj6qxd zE;Vu{l8a29mz}G&Y=5 za%k<}?3;$S$MKdMNTz8k7ag>h$XdfGB0R`!MhYK7xxJW{yzjA1(wuLOums=QkU+~3 zgn-H;e?H%e60a=Eq|4%Mm`px*lAMb zSyR39O1SU&zADMv!ocYuI@i-Yk#FJOvTD@LO~0PHJNvpJRp;Q3)>d50i@ovxlv zdyvr+9X}prItM`d^}wSqq5rw3ZQdYWkAP1LoND{h{v$J|Ih*j1LHE?7lp9 zndZZN2@lm3uadfb^b~Q5&92cHGIAi1=(~ehB3U}PWSWyO)bMFhff7kn+`+_c{(MU()^`h&;4mr(?{!QrwzE)dsnEg#x&bm$8Ng_? zpkft5AK9}%%mYiv?(wBMNIL5s1)P0j#q)C*_FNI%wXPfL z+uBK#zwu-5;r$zW(K4E{Z-aT5kr<=psx;36Sh7J zy0JI&ZI+^iU%EtNR*mdw3{}PcTpn8?*9C<{B=A;b>8$6vqdi&!3{VIAvw-0Q8$)!l z1(D7o@gaIr6l0v*-A^TJ{V3Xnu5f*SZX|XY)y59)dtfd3-cb6O%|hqzbIT5V1;<7@ z-}V6|orPUrC}Vv@c(iODIBQZ>tRco$3KpEb-%HRIio~?OSD9~x+BcuCbxvqs+)WL| zil~fqFSBAy;baNR>fUTp1&W#!ToA;k@sf;yuGWX^^A}f*T2&7@{?4q_nW1)v;4G*b zQ)26bg=)^yltjj~J`9R`G&F!4_&uGvLtjYFrrz(Y#;;> zZ#^g2v@UC$PY$!?8!C*|r_%DQu!qJaXbsr49r=?^YPV;n19J~b*z70_!_1-`Zv{$`0@roq1+JOEu-61!@A*u3E3eNNtVnr{8i0j7MTQ?%2Xj)AB+beBL_iHjQGHGKDHrTyok^a2g^~LPcN_1p89J z_}Yt-x`*4inxr1_HqJ^Bja9GaODWhdU~#<7Gx}aMwR9#LyHm3#a)_vAxM_HTpZKnm z#zI{Z4aDn3SHEztY85HB5p?hO1pa&?3EH@ujlVI++4xc-F`_xg1=}&X_H*X_q-NY| zAQv*$*rlVEn2msrxOe?p$=#QA0FFndi}>-1oS$(`SJ@ZINz6*s)9os=*QmRn!vQ%N zQP!iPe#cg>aT@g9bxZ zutzR5u9q%WQ>bRT)0WfAV%~gCjD6W1Ls@_CqcVeuC-c6oaKCP&7^X_&CVG*&>_jwR zKFOEyLYT%ny(TNJ-r8>v4CeKqy@ieG+gaVfnMDh?Os&FF!LPO@+C!cvK|G>>gFR}kZP5(40YH3(WWZZkv@+`jnilAEt;eEpD?(DRs zpE);xlQ8blnTqE8P?kcL@7BWkkmAv#HJCJu%yu`Bsxhi2aTVwXK4bhleOCuYotc@r zE-Rb%ve;OE>&pxYC+wafZwN8QFtX~5+3 zsrpzBK&S6t0sTW;=vhrB9|$g(Bs}zH8R;sFW?VZTupE4sm>m~K!=|+u0k*w-Mq_{Z z*h5hbg~t9M9jD~6zDT345H1$AMMYLSs)Wws$7oOL@rcJ^pXwbzIH1F@!|`JEJS<<2 zTC0&<+4~c2$EjLFZkpZP1!PxeUWX55hTl8I>S(X$#;&LFCVS?wZN>Uu&3@5Bc*iP* z;k>dYXNvR|8<7HwFCyRY0e+0FL>ELl$x~a*o9SJ1F5R47w^8T@b@<>K`ySa)PV$rP zRD=_56X1&Xa)|e;Ej4E@gH~yMIU0|5{F0U@B~VTUZH<&vm6`+^YnkkBvZi{nmbW>b zHw$};J69AgZn?_ZC)m^uvZ6Ptw^Eyf(hhZbi9>o=*HukUQ>#vQm{!`_xi2ru+uj53qOMK$YVVCVnQqQZVIyoz zXO;uxh*n$<)78giv9sn_=VKbANJ9IN@r$K6(jNE1(r#4*5pqz|Pzo$k$Z!hRc5DCw z8wWNel=z8f7GLb;T;B}Ucm?EUneb!kM-uHaOcEbYZEZW6G8GW#5q+cbsBstAeXvCG zhi1TfF26Qe$QI!Ku_fOdBvMHV127%gs^tJoksXnu#z)5P3qQDfP7d6cG2q{UP6aD| z(YMHGloiaZGXbl&FVWc_EGt=%OXGFORo+dSyuUr=2`Un;1P1sXS%GQCJhvP_eYND{_f%!M_-;gTNx?{~O``c;Gz;oLxuiq#t0}dr#CDtK+9L{J=_C8hgC@tjfcimwgU{J^y zfz)9n81K4we)XSX6g8EHe(Fwj9A18CnP#ipGxw7_M+o*o zq)RS)l{Xlz9kTvTcHsKz)T*K9gDr`lfvuca5r3y$Dw4m25zt8uOd>;m38l}%@u&9A zv-5+zY0FfQUD-v!9lGN7%cerx^9`Xww&Y8}0}lyLSh(gA zGgV9I<6psv!2yMdiBhwdm5+^uG*c|K9GkBS-$w3ezgV(DZ5faL{a zml+#dE`5eWcH_G;IvYc(4eL?Gi}5AZ(*S%Oq2jtr$f$2-WyjWh+r-0?eue9E zn6yaiMWGY?bQ@UZA~aJI?vufLAbwU0q>#Dw?;F|GW9F^|$Fen@i;vOXIwhY9-|iha zu&kuKqod#`FUT(Th~smfXtI>%S}@wat(}{hWVou|iVpm{JR(;1>g(Vqv+z)T;7jQo}n_OXD(6JT84XC!@ZMe92^?VwKArc6&~9OGfRvsoSJ@HU=Oqs#Kq z;wmB|em_bcBRAFweE4&j&*ryAb{7F#Q(q@wo8Na0JrW7Snhe>EVn&Fwu%x*w%8PqL z9P)g!Sc>{Yrumr8$w!xZM6Dph1zdn+v4uSjspy%?t2FFpS#~z~_j|t8+HgH`GHm_7 z(-ZsZ<_E}B8+|1E`Ntd@q&qT?k598Z<%7L_rm2$4X^zEg0Xq8r=qyzBPL3`VC-76f z8m6uCVN^@H%8I>VzlXYP)oU8&Ynxxxh+p+db>3H?hP?W-8&=(^+GXYncN)d|PTBe~ zm{#54#b{oT7n%6d38m^y`knV3d)jhb!ZSR$i|m9CU#2A82OfqY`1CmQg^_r?&z^Yb zWONd_l3Qlm$Af_ApeMu|`L!)`i&}U(aSFbp1v**Wl}pbbN&l6B3)E2*Bdl3H7w;(0>76(9)KgY3ld51On)V3Ov^OJTYzlzgTS=8pLa{_wk! z=Q%}OP<{>b=>Wf0EM2%cDP&J-r_j#=BX&BQ)IaAff$k;IwuTF1KyIy>sahoU54#g{ zNc7o+b*!iFcXcas=wXKSqycAZFHL#s9WQ>da({(Uz!rTzv`|=}1`KzI*_O<(c>owbsOBKATUbV>?@kvph9b@3PVb9mf<8Ir$8>F4M8KefN@`WmWZ|D|6;o`bsxMEIC5n zvNZ^tDkA?r;5-H2BL4}Z%OUx6rw)|$fL#FUcjYpKP6F&{4Ng`7ldQ2WMvG?*?xPRr z+S=~axen=DPDVR7l+07tstn}X5kNN3_SOMa4xcdVVztmb{jc@cZ`z#whE zCSyO54#e`A+v^4YxxP?Q6=b;nLW^X!p*iWuXpaAv2*3ByzI$~{zIk&4-pOeh*S=NC zixl4WbWhQ8z#a4aLR>+IF;n#?=}2PrYqF}M92kgkxAM___KyunkxK7P2d>sOB_(gH!0Mp88tGYq~IJZ_sX|~>w z;MRFFV;oYX7yO0n0ddW2DG4Zm`;-tdkzzgGgls}1MfNdG?R2cHs0tl&r23Zh&k1@A z-Y(;iYGY!@f4Te#^2&Z%qjKs~Hx45l=LHU|%3`-Rgqi)YkKax#YKu$2cQ@FR#jdDU zr)U@1d6PP@RAyd9$d+&3VbON47_OrFdSa)({E@NGHRpW))$FJmd*gk@#T(B`=*2qr zj?h}8y>H_*)aSlnW$8*!Qv_fzM-;GzaIOR904?U^2Y3K7AAl>AkTzd#c!-{MYu6`*5U{2`EWiw z`76ULX8$U?1H&M=oDnG=Lah?(FPfLDlmczJhQMI6t?8=h1H#@h2L?-sOAkP2u<@!_ z@N>)tba{+DV(AQrsdais)YQkY-FB^}kxmg)|6a))b)o%D0zwHK;d`!YrW1-g&z9E1 z!j`(Ljx8@$&T43Ld-ALfHegvn z!{Q%n;s;=USuNmaBSAbf6+qP#Oc@^|yRT^NZ;uCCsV8*QyL;X4f3K-*?z(W}vb(ci z#Fi7TZ#lAy$R-5K0m&y~d8@9|m;J7&&Z-Kl`zKYMgrjBZ#vkqOh|Kg$8c=b|?aQ_D z2gpKUc=rmBB>)du2ecjDZO@iZ;b-}*acs^@O18QPMeBRDG||S#7>Rt;BYL$SPhvJv$8C4f*r~pfWRjg} z$Xs1)?`a*k^~x-6UIv{d=Bp=R1+YRY7p+4)dgZQRCq|)+Wl0`9K{r-S2=;>0bU)@nr zr*L#g@71hCeHkop=ynZwz6{td43*>+!xIdyZ2C#oH#DKy6~2#f%BcvOSu7uOSsh0&iQYq(}xv!7p`&+GITJ15=@e%r(h>qRQ7oI{6wIE6;jd7;avzZ=1A z>d|FlDQ|H+Txczhu~9F_4_WBhOH7<=ci_IuW4afdr+<55EV$qh)6t5TE z4us7tjfgn1KATVOEdSZxDrDv;N{l^pV{KZIOx{w7%}-($83Jk&)-;`-+gaspxFLJoKItvEWxp^lO>vwIAAHtiK)nzp$2ZgHnU)|a?uKU z>x4&8v92gt?)G=8{?!>J#)Yf_Ecj@16JK*~ZvtFy%x$`& zi+C~h7wbIdpZNYt>6~JwTE`RI{5G|HS>>#F-?5u?mRnlWZ=}d|r+b@r2GMm@=VqYm z^nVUI&2G1uo6SgzwyJb_A>wg7LP-esWI;^STTc~JUa3UyT1|9A{tsdA8P!zVbqgzk zfT(~dC@lg4A|*) z^L_6aXAB1UnSHH2uesV>E3@%F@nZ>FgChvv*kPla9&%=OzH2gD0>kX{6>FwUe_j70 z()DjGH)|u>+}^&c`Z31o!B;T?6#T%pE_!MZ1%{KIjPS?`Gl{H8gGnqz(gRicX;P** zS`XWCgMlu40Hp|$g!sA$)>#d8d!~Vn{sqeZlVn#jAiwu$uW@iK&@GRcERaYknDvF> z>_4 zzI8;sDMkk_bc(2D6mG$Pt%7(J_#rHNyX5^ zeOYqxXP*tBe4!!-7zKk`m#mwQ8V{cO-UykazB8AbM4NB)O3`TT)EqbaK5Hb4q3tuc zDJO#ipbb)z;exp;d|08-totXP+Er%zc=q#_h;4{)`lEf+7aW{dGY`e^&JWTd!D#r> zKEfJ3Qjl6PJ$S+%>Nc0pJ7r(DAvo#OFD}khz;b?8lAhJ*dSzr(DF6Is^r;Zj!@cMG zASw~pnULD&)vdLYy7~5B(dS`VKUS4yJe}=4w_=}aWhII3gV`#yuWt+t4RTet3C8YOXa&-S?zOyP9nJ%*bDx|^f^|Fn!H(V1b;kyc8VFc8)bjn{*yOz zf356}xK}=d+?3kl*MZ^3uJq=CajQ8?YiP9~0eg))7tqUGi_f=8hWpqcBKfImGgs9Y zwM2*FW*0wuhILHB@W*+$(OjWXl=7DSQ82Zwu7Y)y+2Y!WF(>V``K8c}QofA|C$Z3V zt)!!nFIQTC_^*xDYM}GJ?-*c0LiB{>p#-v8b;I#FtZ%qSF{xc#HO0wng*=dX0 z%T(ZuEVnYTYnbubF=g?jLxiGTr+AVazXQGr5c!zCNuI?@TpcMv5P?t%;rLjPMGxa* zcwIyzLR^dEz$DkD06o-0#A&t6ZvT^SXo*OVcrdn#K|zm(kKzl_UvVE1+qWSVQHIRG z2nHxuW$>?sq<8+g_P3MaC3Zr)`YX~udgFBC7AJEU5G!{*4Pv|jV}x=r|20O?K9#0@ zfm104;+ZzEYOV*#=k74V_LN)6jmm+12$?u@h+uXXee!gA(%*~rToxmF?JY+>Q2mvb zEr9V2KdtXA$nA)@U}XRq?tu(fyxiVG*u>lbJ2nY7!`W+7V)2;e2w+{!W}Yg95lGV{E4CjlL;$Azv>-N!`Y5zMGK}SF4a~d zElhm%*`&{sAY|+3+llOmI9B_!L`E-bahC$9tU+LCj!$DPdFb?2W-X?~Ec-vv;UERT z1Q~Ca9$XYepYK?7(a@L;t$o@tcG2$-`Vz}+E@3MuVbqXX5I*sP>m<}3C;JHY;#OW{ zmeXLP!6fnVI9A`LR+ZKR)1q`Q%gTv+H;hZQ1NXay{Cr**$8F5CNNPh9?^fc#Ugy!cP?;XRXC={WO8#le`Y z-)qvqw97)tlyHBLwZW+9oJ5Dk0e7QCez^T;O-yuURTvXSiV$?U449{(sSxPhP*wYUZP8V52LFlqrmid8#lA9`VuNmGsqb z5Bd`S-`0N)J_#*4k?Dg)+^Wft{*>)gS6+48T7lVESh3w`jk9%gJeHQn3jqL)%X5!mhBAv~deFf@`|HD6zpilNd} znVg-h3g#T`^8bP{C~{y<0Y+oD5x29I*w`S|8x}`s&)C1K@fpC-SnY zbto7!4iNnd+y9#IET<(10{K?+T;Pb^C@UCTIcz~@oi(=R0SJ?G$C5pGb~6smIZq}& zuInQ}0LP^oK~(5ajY;dwDg5`;ds;D56`^oA(98Gs0L&1yY`ZThnCB$_$-AdEmjOyf z!{aT|_EfQ<0EhD|=?ByrUKqBsE=QN);on&uGJuZwaIiC)-3!xjIJ=f}^dBSuT9IGt zW&H;{`~FlazXt);rI%He-OLU}$DFG5XyNvHxcEUr{K6JOOzDE+G$}shD8}E~N?Vxo zLc$aVAI2M3ZhP^{Z%UjTY@9HRpls!+$-5U|B#(jfMZ5Ck^|JqSI=u;t=;|633H*93 zIojZK&((2qb)(3G@xw1O^|0_G1zJRC`M$EO@V3hfHA;kiyr3YwTCl-DXI2Yj z7A>NOeQSzeFE~-0@G4i^==c~B`#Lfc2oL{#r7=mD{0r6lFZ}?X>EWFZyp%{Co5<*w z2_B{Lj~2e9VLi6V6l`6L1si62rn=;9rwt{RXkGMlAS%hSoVgB5 zJ2)H3nyEY;Q>ri}>`@k4MBnzK5tq@PJN0SDaguN!J@VP%7WVD{lO2j@!v?}5I3x#L zAy`QwFZ0k3^W@&W5ud&KBaC3*Zl@^nc>x2|&lvGe{JvT2TF-r+e`({xJElua1^N~Q z7b(~6x)W@Wez=`e zXS*$Ws*2=6<4sD=g#+|pUw`{Q75)WI4wi`eY=EaRd1;5%rn>{SmGzA*1^!Z6SBeZ8 z{o{%k;HOvjQGMn6?nG9fMmGG&%EDn z@Yu=lAtX$`UGAjI&=1nxJn`kYWc^rG#1E-<-;9*>AMI%9KSsV|ZO~y7DeF%yegnDd zoYUZTNa4!SVFE-%B&$^hEn^g5N*<)XIyYqe-rCO=~3R1tv| z1ipbE;HEFWAqM#D)V)u)FIfLk==UgAMP7xTE}O}64h?N>bZWAYeV>f@$kmW9zPJjb zns?@bs*Uk|Ga9=ME)^ojhRIts%V)`3ZOe@*TLa6!2AgxohK8GK$Bagshs$U1ic14T zGVByH&zuPd?l>1o?hy~L2;WJSawb!8QU0`>>E@7c&6Fave~V|T{7z*6hF9Mx_P1tl zGz0y!!7Lr0qfpbytQeQMZ}r1+0FGYT)Rv^7+gixHV{Vn6r8pC0m6xO*GN&HG+AG+m zhVp1qWkmBqL;blZg+s_$Nqz0EeNDvk0+8Z9thKDbNX<}JLt`=LFOQeeb#FEt8kW#+ zmjVR8XPN95J;MX#lWREa9)*I9E_ev;+oUQ*yh`a&UW~5jh6;c~!0V z35)=rhn0Z07RO>QU`8Exd4Y8*pmFwg`s7ln)1Xy>mRFJ5ktulW0wB57H{$Q)R!t zSG7cF*8)m|JZnw8gVs@u2G<6s8E|H8NKtJH!(A;-h24hxyktoYsB&J2A3lw?JDas5 zx`Pz#bq}uHbbdROFwrBwH(L9dKTTjW;>rb5I`#s!{vyR_m4MXog$QI)`v6AReYp{=3)c|ucATqME-v*DkGUSL#iA$VfiIsu z(C#lS@m*b9J$QJ`j|=8CBr~FhMx_}~jo~XBCMr8HQ>%L$E-7PGbC{_evx2lUoeUey z5QsCT$Pal(t@3J@mgIy;#}vtOsnmqY8;JVD@H<`9vQsPp^%XDuvcKuZ1{FAYxrAw; zU$%J{I`owX?J~00p9GNWK}LnqZ9UtQra?jUJBvNLpx%8(POjms0Q(u2YP?COqP?$q z;!vM%d5Mj$N;Lg1|Gz|WS+OPW5$5QP(ZpK6RV1OX@!y-%$iGA>>0zeE$TSS%T&f>$ zQ=P>4{HgWC%B1^;Q}2XvH6m8LtQ*^l`%+spA05u)6O4bd1bVB2_JT832{NgI?e2?w zT)mdb*TE84OU)F17n>ANY`#hxl;^iP8LTY2Jp^suOU%ZRSAmZsf5;Mk*!k4$>cqSE zd7=JkB<{glbP4zx^dZvS?1|$eG9~JiGea)JnEGetr8{M%wZW`Xaa^t*m81I&IwSe0 zc`SWKUnF+=RjM3~Mn{t8TurakD8|haVzcdA?2(8l5pSH3Bh>{4eP67^A?CQ#BPzI@ zcB|O}#5m2CyB2x;M(5pxC$$A7f;etEH{rDp@a(Cm?``vHiO$~TCF}d>Z!!c1kN-{jg^n={_Z)p#GJbv7WTC7H=)*nn}1ByZ|Bba zmklV6(D zpSfsN%$YiyqXKeaI`wyZXLJOax^I`tbS!{Kj^`;T75xj}z7i61+aVu2z|!aRfxniy zON|!hB{~T(t(|FGE|WobXM6MuM!KtLJ*7tTP`&lq_krfTyruc=pmmRHH)H?OiX{&v36za8=7LtPT|^syfx|6D zJ?EuepyAKe2#%M#ew=2|%GDTO^%;tc41o6y25?c90goOdKr}!jV^47^IrcyX@w0-= zVCZMXO%37!fm_Le3y3NJK85oS#9z_mh({S-sv`ercEvjR{e31yxK7_%G!IOYnizq6 zV@BDT870ex&Et}Kscqn9+L;-js>5v7IVx+=nyL-#xCGQcxOCvU$uf%+zRQCPkUTZ!`PMaFtZ)Ww;%$^G#T z!NF}3{1@Sf3U%qx5{T!FiLR(G^BUA?)*A`^D#CBnk;J$0vS{$IPjZ zT|y3Gd;9GT4L1Jb0bQ$t$47;QAH+7C;YR}s82*}vYfa|tX0s@g%i%S!fa%Q$Vb`;c z1ur0!TR5?6BrefnpNl^E3|#?Ox5PdK>RX4@kp_xhj&A0OwSmPRtGdB?(c|T}lUJBM zmDF@|idi=ElHv}6>D(zO8v3q|_}i<5K^#-Y*k8dNG+N(HgtpZoWm*^75M)rKi<)1j zDDe69_}*mtj1CvTF0YDqTAa`%u_3_%3d?S4Xm=Mz?Lr1{?Fr4;s4v2Mux4LE4;kBv5ZSPxxKH zDWMFY%od$qNTnx=dsjSa6={$<))9!NCCuZAH(3&rY$AchwyQ}&c|i%DpYsso{4@s9 zq+RVJpN4b(SmyeLWeDw6zCavt{_hOoHqcAB%!mMHGCAs~jZ!J7e?1kajZj=YNuRlp zRs}X(_3Scjh6-irQ4sJ|Vc?1gfsJ|2WSK(gaFjTo_@Q#3lcA5Wy_^7= z3Q0xqi>Q8aq(Q*`=0E_KMo+%hzIR9htLn>6mcW%_u0}Ks6HKT)IDwVUP)3M?fvKyQ z%b<*cL3&J3X-0ZXMya87Si>d>R@_Oryoi;&rfL;l{eigYmk6CwY2vTm&jakra5bMy z^PQ(7G_ny9ZEy4D?6@eAQR_bzKopRIk*E5pEbkB`P%e{DEp!-m+8|Yy3MrHDb}~{x zu7PE(1;N)Y)F8C>v!`V!$>OuK-g>B{C@mCve&=Q+{t85eu!NIZsxON{<4EPQkDhQQAwxB$Qjf2@DV2&bVr$J zN5^=0MyKT!$a{yp{{XuLdPoU4l}YIdm4~BYg#k{vv_Q8a(qk`kMedp^>J;Pw_Ja$& z@{=3Ak*Ez(IAnkxhm#u?8*ZohEsceDi`8*`W!&HlH9E6-4qh%H@A1p&1(G{hqsflm z10a3bZ%1)%p}~FvGT?vXv$>ED5zBH{U4dzbQI&LmsZmm_Z_-wtYzOi)^qrAm5niX~ z7L%f1>*F`tajOJ>eCp+`u0arZ81&>egOoGr0EbM~&x-2?i$5#K4XB>%-%8G1K%o3F zf`uEcPhXWC5tAqE1y9N8h@w1)7y)V41PdC`=#gx?D+O-a;ZSbDNw zE&NakovWNI7M_$u3pPOcHpHu>iA^X1nh8VjjT3ha?#k+S__-+B^{Mj7(QT}j5uCFC zKD4YlRDA_(i(M&1Kyv07dy`%tJOi>6_T9TeZGXX2z4m5}f?6GoGt`da_>D zkWZ!Z>*SG(pb13A7RSZ@DBZye_Of& zOU7hoo2X1B5|%A$E*!s?O>8yO3UasaW4Q?Ud3G6=KK%{MB&}O=c>V_b=Anegum40U zM&BpjN8GtY{OW>Sk}k-F>W&UIQt+z=4WdVEm%Jcy>LJ|+E+4LP8_>m`%m8LGM8Qty^uq9h7}Gd zbl^<)IACKYI4bR-lJnS^fY_mL!)x0rIbMCUu<~9VnPkhMRP?lrLi>(?p}1;IQe&0q zR{8@4Q@PRHd*m<2QdRbGPUpfYxkWh6jXXhzOds=IC%97``(K`z&<>~*_^R#zH~Crj}tzjRJtiQY0Z-Ycu^LZ>ONtF;rH2qv=zpF=mRL-@*qFowr-t;=4m zJ-7Xu(+6i@M+;&=-bgey7p*kbP#s(>@|q$8IC;0Sp4_)_-8#KhO6zA<09ScOXOp6# zs&XA5*cg0n6NNO`iJG)gM?WnfmjFpf3~d5?0w89EHhIgIIzHXhP{nCi-&5JjH3G#L z?{UQzyrG~)V}g>O<30Q9Q5t>&iDv}-r)_U`ko+DVw1^!k0gonH)M~2G{cR4gsm6)t z3&TM+u8$DY3&wzaa{-as^Jr zE<3PQS9LTG79S;|sxGB9t2j!gn|5fiqPwAYja>Y6vnOcfsBAC38I<(YteGV-(Ftu~ z(WkU#zSYeu6mEUS`tG<4MlkF5)%(!?AZHh0hUNPcm`?pa1Jhr!>PbL$WNBD)?9dqb zMg;6PipPcjsxGSlY za!2BnRjKN8=4DLdqm)5L&&Mx!jGy73VZZNx{#6f=$1P!^^HnRkE?s1aW&{2{dKo-G z?AAsWt7=$Y?=IU4BoWl5&P)XtrG#j|XGg;UTxXJlvW2OyJidq=YFau5aIxwt`{Cjf zrCpw^W!CX&%q2!93fZfyq~=BQX*15@l>^rgJJ$I4oHTADu{6q^U#xMTtj~Km3)WE- zZ6c?Q(Me~*EFzq{ee~reX1+t#<`#=NIuf>Cr>3Xn8^@}+6VMv*8ha-SZoGzgAf>gj z_oWs#bf%(ye7e{A)&Z4VhW zJ10M+jo2*UsVfg+REqJwOF@-=6S}h^vl^YPng+?^o!~uA>G~K!#7y>_I--V7(G?gl zi2GW|Y?3HN4YrwxG!Fra4tCWdw#-@)5iai}-Cifw71i(5_Y76R)4&#(=D0Z2L8nz( zaBObG{&sd*()lkDF?@K@q$<0>Nr9hCarGu~uX#E7scFUZ(To7MOilUO?zl}W&T486 zw1%(+O1pFCIube(*sb#QIf^G|z9f1Qtdz*nhS;b2#qxuvTU|0|@zkgM=NZP`AHqWw z%5HckLC4<}#fG~U0ojs@7HaGhkVKM$a#Rd@7Q7Cy(@&LhnE$aAwY>!;6U+q=JL&L! zBZcNBu!{Jv-pbSnw#%@-muU~g#>D}vw4d|f!Nr+~+?!OnQ!)eZos9xA|JaIxf{HQT zr8-K8T?+odXU9z4JnHEPyAd@Zm;%a$beFkvCstF2%eOotfa~QekC!_HcbF7iO#yl} zXypwkoX=-~0V%jOvH9G~RM9*qOP9^ezEUh6DWZ7aY&+|V6YqKTdDo>UYezjZ(Fl)l zG2}lcTwh*H^8Z@K=2LijZLixmu13Y{_V)Xh=UG0R;Ufx5ZiAnOPT3|q!}fb%tVoA2kEu)Mcr)kuZwL>tF_Z+{SF zbQSK+XpvX3W7XLAAJ74{9Pj?#!&z@~J1XRnFHo;27|A1p0x|Z~VgO)K-|xB~>x(;X zBXvGeh)eB}jz0PuR#5#(Yf_JBq*HC6V^KZbO9x=p_M5JOo-t|ywTyihg* z$ep=7_3&muzkWiL~e=@{R6#Janx^olgt z6p#bLzo___lQ{1f&BKx1LAc$b7|;wGHK`&RnZQw;r}Nv1mZ(xck79H@`BqUj@c^Qi z3dm5hr$^(+k@BhBBeumJ2hkb}k;rVDL#m=yIaS$?1$%Dq1iJXO%RpDi@~Y#X@j@W$ zk0JXIMG9RexOCAdDu)uVQX?%me)~#MlX0(f?zU#qfGko;_>5f}Y;_E=pVakI?S^)5 zu>eyc-M)hTPXkfqWjU3lw!T_)Fc$gnYM=4R37cE+A{CpcN$-7;PQ|XXC~}~wW;3(_ zxM~ofOK6tirbN2SjY@k{E_*)fcr=zMssBH1`(>$1Qd%`VgbP5k^P%8H8CXJXjJBLb zk&xs0tp|pm@3Wjmy%X&O<`(wE#uTCI$;#M0&3;9?8H<&DFIhc!kp?3K^a#)V;vsDlPz2x$V1MEE>i?uGfYy)fiEK ztLBoT-sRgP0zK7}Wm}))CYq+Jyd*W~T7nyc)4>oj1%<_+W*XF3Dm@aKsl=wknuS9h5Ny39)z3@md@ zA173JXqK8^JYp^v7yO*L9+1?eQ6{+#<;L53BrE@j7tsTZRzIs%<&;L=VAyYIoeWHh z^!O$L&2wX)3BBb)uCNE}^IlENuKggUEY$o>1;G5^np<1z!9q)P!?U+x#BLYYS$^5J5EP9~FH<^;tjmf~_1U?~>y?@Sr*J760c$%XU0&h=d{7`0 zxNiR2lLc0=su55iA2}~j2m+!-lM4*lh$3}fm!^6b0g6nrouRcovBQjbK!{fhAA9B_ zQ-SeG@;QoaSy%7RYt5Rn@z9pgn_^@7p^JHQ`w4r`Oj|$Di5~K?@t{dQ8dnDp)647h zI(cJBggW!++eqEy9?%@_aMezOk4L^r+x__UKVS|5z`T=4CPM&#S^uKaqoS>yNteh-KRESCZ|VAi`->L6bUGHtqm}{4 z0$#1QGT8tbcI!WthOojLSTo9yfLLL~Tk6TaJ<>;OE>UhkO6)5*W4BV%6QukGIf0z* zh4VmsPlXO|MVSsfz|2nu!Qg;$!D1BPg+@rH;@dL$)U+R+fFM4m)LBn0?bLiMj(fQh z7gl&uBU!@;y!q4h+H;OE#sA`;`)U*fsH5ZX247X-c|!2UOkGvH>)I%{eLavlm(*MI z(t>@~OWW&j`$;StOI-%8-A9sg`=b;fZ4LI@a_kDqe#z5f6Wuw!9|P=x^O`x>m^!>3 z3(TN*7C%D8h`NY-&;v>=9tA^hAb&~Tw7xjZjr88QeY-Q~?d>&GO?-sDYmUEgfM(r) z8?+@JfLCw1V&agnhZO?Bn`;M49&@Y$8*A~%qDbi;h`9D8Pj{^w*Od6xp0c3G; z99mDP020{8347?#RcdxU>U<$_XWH>I)4Ap`oT*CvGRaRG4G?x z1S(lCR4$UQaUcUlJTTvu-HAeSubZjWhC^3GX4pLB_dQFAawdzQyLj_So8`xJW8EA+3ed@r`#DoX9nu{p3;+F2?ohms z7`etq8GoTkgFQZvd45!@X<;a$`3=6YQUM$C*n z1@^JeZ)xfdX1Q+MN|LaDI+FKL#Ci4EhNxTark<^`kJo<2%~$(|Hb9^KU{E<(&?B$D zP}8td$YaN>pAl`IqbFE|h~b&s#Jead(Q_YVSKj;WrRGeDWozQ25j^6KUu(B=XT#nunC6!KnL^E(P%%`c zJ06@f!a0`jQsC?4w*FlF|jr9!XTq50{`H5WO<4yczBX&*$56Q=O z7JcE=dAfEZsg&PqOY^kN=Zym$)DvLEK6OrMKOn@uL!Bn9{4RebV?!C#VAD-JksYQ1 z5eBrOnpKG&@w_L$nNBVKsa)g)0Q-5+Ib0zR#Pv@|c3|q3IIKAk28{vuvIRC>YxcuR ztj2tRV1!R&Q?>PBnSCWpd1t};pvBdr{BdH$$hQzf?>$mazZ|UNkS;AQbZaPbk=XNt zzYl+5sneg%!JW>aUsfP2Z8PKTCE#p*Y}mOya|OD*++5M^D$adI;fP8)v5&43 zr=0w*!}s5Ed|wMdG>ee$@byhJ5^Ln6M z4ztp&lGzFREUQS~kdjt?z&lwdqVzLF_u}md!UWgzD2?)S7;4?hg@YEVr zSVe>i9(S~cNd$fY13faC9SR>Rww#tn__-u(Mwmc0@rZ`AtbQY_v2$uqza20JS67ld zX0s+JB<+>@j@{s}Z1;`a?&0s;3Fj@Mv7ha4Hv~>`k%MEh(mz=& zfal*a`g&CRhNzAB7i;kx}0HRYV|D;{#^O{FV?U3ACl7E-`+geMWM+S7uSSF<#1J`PFgd2H*R>ir>G6K`jMG+z;i_hB_S`y+47QViKc&bzJIq3agfS zk$;+XfLcnMbFOGUl#pe(y{b>X%h@&GM!mP_B)Tf<*5Zx&dI7Q_IGSgOWEb&#|6$caSQ2_o??2Z47IKh z4S(l6gkM3&gXPf<(gKCaklOb(`zhIV_d4FnDBHA6k$pFTJqlxQD}}$md)2hV+%VUx zCMNJpv@wRA@n)HIrlWqyz4KKu-n7LB%JI9`_+}o^@$+1R$2gu6Mzl73%$;wiVN*fJ z8XuG?x|pIiv5uZ%0j$c0#H3ENhCH!NWQ99XOun@f%+@zqZ!J%jmNGKp2f)TT6q|ay zcPzZQ&&ihJgy0`K-6WVE^v;_0C0`eUyV*29)1ni5XKbHPJDp;A)5U?P9*^&Bq>5NR z^uFBqGLopZ@#Oc^@92TkcTqdc{?XxjXVp6sy3W48dGYSQTpw9Q<27sC8n@YaDCo9&j;Nr{>>P|;~^-FZ+aicoS=qJ<+Um~A)V&9$3j zUIRt2Uk9Jj1<^YcJ9bhWs!zf`2qZpH3nisdNIx~*N13G=LY_)V4WHeRGPP zOHc2&oyN0t2CYi`I74U|k-D%(R4g}ye%qo9%9Y@Goyx}K9*u;7_~;CQ;YVB|#^%$Z z#3a?txzxf)idEn21r?p0t-0@IPqz|eA1{8ECBh45Iup~48wmWYq4ga+bpOSI*)pgl z;-QP#`n1$nQfNnrWJ^EDmW{iqM!CA^Mod&}MmzjkvL!11bX}cxz2DvG64y$kH(L_V z)*XvlCDp-k@b2rR&Kq5pQ7#{7P0gM$UlBPTKRs%0l{ds7@J|ctBp00TT~pK@e%#GE z&%1huyaVSp;8l>F4q1Vr2WeV~!HtviezULD>EE7>%2HW;|2ibs{66cX`K;lRt`_7*?3jwY zpMlaC1y8;wgM|VAW2!+0{D3gmNmgV?!xE*=>6(2L+F8p~xUgO%lFSIeQldgS>8U1v zhW4|<$i?}yWB<;`(EGbpRqxaVX4Y=BQ z_%^0~L&iWF2+Qb3nE?{i9bR-+THD zJ;EI^YyNDMxWD=3r}j(fBa37biG=MN4cC6`GbB|?(e8@soc@gcIZ=Pt4t4ADkFnA@ z`|rM68k+_J*u_JwX1JdVpHga>Oy0s$`)nZc<>~FD8#*^0Kku=ucGkf^AhfB);Cbxu=^ar-kOkC4Rw$Hpm6qX&qupTjwdF z#6AZ8OLxWpLw7q05+k2lYUv)R#AiI7;{tmK_l5uX9vu_^?il|-l?Ks*zrB(Zkimr% z96KlSJ?NH=2rN>!;`G}gfa=ZpPubPejn=6nnud+Oe7bzqX^lZoNP6vj<4S{Bvlq+C`7*wWOC5q;S0fL7i7qByw=E>z;_8cU_nT z7mv9g7YC!LZ9g5-8GWpg5Tn_2Yf8EG)fe6WxYZU>y<^wJ?74s`S)RbW*>|#J+hR^A z!-E`VxApy){YX?*cmhBBbzl!>m*L;d+v~2Wbul!auTo8P8_(;Jw{Q@A&CCg5PkV)3 zkv=`&3i0qvInZWrrULoiDW;nxu5_uLSav@c-+H`S29oxWk1^_BkS^a@i>|zNU6g4w zx{E4o?o58~TzF$_<`hMhwDvZmY_8KGWnj>hE=(Emxsy!@(5y9v>YpFgO}?_2qv z5*?k|K1vX4!1=6aRojWVxJW6QUMWA`(>9s963@|iez^TR6r(t3LVGuv?fEfX$?4)D zs=6OM@>J#giu*aJEPZbQIUUY;&t-)exv&f>z?YuD-QXD7`(!6``$tSzM;^H+J>Ey2 zZ)&M7n|T}2hH8D$1|bO>pKx4x%sjO!diEJasAB$Mrf){`{Gq;^T^@n&TsR6t?FuHuN>3M>O@7V}1(Zd(HH0Dl0>-*+ia^{G5000NaNhW@5JK zE#jAsOi-KZ^(u?scsMz0fdb^4k5@^2x89}Nr6d8sUTGH;j-j#-(a z$c=1_u9wj?#4#^jLC(q?*BKmNc37OzF#gtWagBiibAv2;mIcQFvz$9Q)=a- zX5wp^lc^2KERA4Zu{VC)HRg!-lPW~Su&2B@Y2P}py~$*DvYcoBsI~xyD&+z-ki@4t z-qtc==jel0E&c9~ zOGrEE`_|&ug*Qy9_tq?%-b;HmOQ|4+<#B%WyC3jj#-W2um4D0Am4Ll zkEpnIxP32rqP=~JS+VM7Q;0cRON|y+-dk(Gg)ZyP&#%AjkX`Ow<3`;$6Y&5g{3fP; z_#Bo-+m;z*+GF?r^IaQ%Vz3y!UANK$gtomDjO1$FLRYe4EdR(?iImnaE#~qVf4Hv$wSoO-IY|c^S3=J4nQjB~}|%l)R$K&VrK;oG&j=Uy=~m&rorBXO4V z>nyy~J_;!oMXXUnO(7@e0o1oo#Tm7j+6`&wSqTV?OBNXIJGnN32hKk4q1^lJZ!Nax z6ZbWR%PIbT95Fa6ia@QFUoSlI*8sDFmD84ULB0hJY>Ha;QlISp%vInfv zX?-Vg^>&k+eFIT37x#xVVx$1K1VbI-#PO6~czb$ny32@v?Nx$+YcO3UW5I`Pf#27B z-$+R8X3TgoMmrbJL>rP5AW3wLABW(N?XH&ZY$qG(2bc%Ci^SZ7db#5LhTDaBnUfdopeF=8R}swHFJU%0ibRPQtfD6$Po`*khdji+r0 zJb`%Jdw@N8!J);Ps2;c_@rKe>XO!7y&!C!k*e#I5Wma8?Oodh>_ow>h*+XS3x@p8i z=aV%m;Lfwy5gJb;(h@z~{6HX;Q z9CYhV@LtcBG61yv%9)c#7wLdq*8Kt0U3gVufPn|XC9=!=~nRjr^&!z|az^AH@+vDQB z$~~^+y~G)56F~D+YFz}T-PX4qs`A=ZbS{<5_?Du#lI6|Z(z#J+da=82l_eJYMWj;L;T=$>BZQS@dm<8mAqP;;5#ct*5cS4-US_7l4!dGO~= zMvB1b65as2AFT2SOSXph$tjKa#fD#+Pd;>3**q$)hq^U&gJjPZuj2FFwGIk0=gyQ3 zG2OkB%G6J{&KF(p`fl6ab7Y|Ck%-)l7m9!MG{5TX&dfYU#eM;!vdK2AdpRZtdRK^2 zC^$9WmV&PK{Qmd*;aB@H@JTBng-Bj6{Im6o7$X|~#(%BR`L6RqnlyaM%Wu5Jz7hWH zIHxgZgyPvfp8aZ?NkH_NQIXO{g7@xr5JZgneLz{T{A40;`i&zodF1t2cke)Z67u7SMKVjRAFQRuaV0Ps z>xWeGy-3d%yQD9l7-?UIf>2f0&Tzl_=X1OE)caC=IS=mPHw{J{dfU+7BR3g?o=(@% z7_W67(c#VAKF@D{a~s$k`7T~knf%+w^C3!gtC@ zxh1^+wq@qa$OoyX>nkv!ZOTy0;QsC!Fa4mv^KmS0(((r%ZaC1MUlNedQ6Kfid9 zM8;J#r12yLu+xQY1hC&_Tx9eTT^RLi#(zfSRy&=4rHcB!Q^RqK)%`fDvzzqFdy9?N zD(YGJ`=d=U8@;M6cMvhvCsRwhQmwILA<+&$RnJ3YTYueCJ8b55sD9#CdhE^yIeg*q ziu?mE+(bFzMBvB>sBqB40u_#6L`8#G#*GgX1w+Q(m-Abq?ID^f^j`+g9!2D6`?a!~ zJ9M(o{^Bc7T7UVo|k* z^JA}{noC%FO7`Wz*SN>Yu;qA$1pG3WoT>Jk?*5+?RZM%<&Tfr42^F6W(Y+ zU%cHrP|ZDWbN4OH4Z!;G8lccxJF=K_$K{qwP~#J$_)E|?^G`^*#i#=@6`vWLDcFY6 zx(o1qE0<%u?6_?@T^VnDMcu1=54TO9+^Di1mJ()e~j%ZvF;5mm&|CJ4Knat>z=t%r?N%u8uOTgI-&>(wo}b z(e#E=6BR{6@hrQ+bs+<- zikJ&^MY)|b-Yh@hHIdzFXS8KbvEy=V>);2qXlpPz;J|a?ny`>*DPiQK z5xmEf19jIz%p2rwxkvGurRYJ|xh(DRGlR^BaHk32ch6c4a}ILY2QTQM&}jHzH{Ue= zz^}ZoZhbu3;JYY7=?&A#q%>~)gFe%Ht~MOocQgDAvHMHUs5rN!Tihi9f+a|Ty9cKUfe@_GU_k=}3+~of zfZ*;B+}&M*)3^th#@)T?+u8e^d-nP79sgJl{n8I>d{s49)vQ@--AVkNBI2fIe2}}e zOWvB}XZ6eQt^hoqqlj#gLCjdwKQFwbY&2v9HRckdkN>*nb-IC;gt27Wq*p%d_s+K3 zlJDx=pj=WVc-`<&*{d`@w!GQ0MytNe3m|ZPBi?uNRZoTRY|k*?uJva^aQT$LFneCs zgW%x~SYU7Gk~aMDJVr#Gf5NYa3%?0u{!uI^1Cazy)qMHC&LZv*eh?OQz^x}0Aglf;!PF z$^zMnZ0{p^PE{IRRJc5y`y+@9Uus#cUkx&3Ekm0M%7`Cjj~;z{lh zVueMimSfoX#om)$V3dM(Kc6;{*dLHz6AeW-qYuK3<$K`Ide>iiBso<-M3N z8-r(vPOf~d5t(`Ybcv31%1^H`jG6R%49VGWv^{?cPOQB-T||rkSlL3z>nXc zd@L6y7`jfj0~z~-+n`z!PMISZsqri@blvuYM6ez;wVana!q+v#7my`nW=||KA!gtM z!vriF(4jUXaRo>&Uv*%)%f5s)p2OiJcd;C)8sYS2Vu^ql3$=W3(NPZHu<>;U#9&8kJq1!i%xwHLLGfDTWYkTy4IqV!7KoW-T zFV<=`>d;Mh2>aaUXLUk1DOBA71(*KQ?I#)5zVV^kU5EQ~KTu!w`||W9cGEHBHT19( zMO}$$cj7Q$Ck^vqyesX0-gCb2`wN?WiVI7cM2G+>EWF!`vjSX*MY0uJ~ic|M0A4GauqKft^E~F_`1L(8Q;-=9qq!;cR+uV)h6U6WOQsq<8}Lzj5T|f>W^7++P8U3 zGEd=iPtRIlWcviCcXWdimjF@tnex{9$!^O9ms;)s+5SWVr5}pNH9_k#m3fczIkaxM z_NAj!9Up>|#^P<;OW)FiDyG%02cuTZ@7%r`^yG+qb~f^F7;w|+yXgT_k2mBevwVIt^Xn##8lIOQ{8H6`Bg9D`X1p%9;gTs#E+PQ(20g+bTR=`AL+I7 zV~6ChTM!5K!x1JD;(Jb&Ex8XB~nNehb)Hn)jyJkREg22;J)bBpfZ z61EX@%##4{PW={$_CHab#I3*FHnT%m9xv_!q*^L>Xl3f*)tLlHF3o?E_j7)jedUj%;! zKpJ0_U-ZpJmm|JqkUEZEy6gv*Ke0~1#~$2*-SzsQovl47&aGSQBd(R?PmzZ&Rq zc#2JYmZz~c3ZIQus=Kn}bhGREb}Tl3#rHwguiesS(Wthpai5kD`l(~$d86vup5Ne* z4<7VA=fy<&Vi-KV<-b2kTbx3kv0}4(_@0s8tLSWfOEA4~E0U%n5`C|I-DYwa!>kXlr+uz)n;Nn*A4vB z(^$pMnjtp=9h^MXavzos9%3}gYJT87dk?g5(w)?6uH(5HSpu`u=2I+B@I6K8lOfg3 z_tED9>lu-RpmwqH#92AB`RXS;vs9PYVS{nOz)H7Od{y`21pkp5FtN|NK=p2HJdJ2Ah2b?;@*R5b1J+TAgIG zozH}}VI?4l>OHie{#b%75qXMGj&VGp(a*z-5otR&(T#gY0Og*OP{sYsg9Ku*P8pyT zZQArUyXD!y{bM;V~|CJWmsf z#6+(hoRIvzxi3OQA6iN{TlV>eMV58+#W(ZUovGfxRIy1+ZhD!M@3C(ee5OZ-n&wY5 zv2VOi3Ql2In8xb_p>~Zu2lMjBO$mUe-Y?*D58L-QA#}-WysqwdFUCu1XbAh9*r`Nt zcS7<)?jxmi?$kbTfvKeRP?bXrM#0|QZqkDaX51F1j?;;aWMdFLZYgy0C4uK{s0`WP zW&-uwH2{t#eatN7tqGr|4RoMGp2EU*($9TFucO?TF!1$U1(xbXMi{S%nqUKT)Jcb# zT)pE;BT&+^pDRUv5ELK{Lr^Q1J%cvq&rNO459Z!lc2qDAGbZ)8IwH9l*zbn3-SgO* zv2O$C0MUIZfeilQo52MZ3!&?o1N-}85*G~j!hhL1+1<$qhM%j&s_%@+aW$p=s$kdh z2VP+Ir|kZ*sM=9~%uoaPjc?p>vc9o?*bkl4!#qN}fjjFbQ_`r+dXD+7M>fO!YA~Ms zC^=ryj@v`pSy=6>EzPZe*}fX8_{k5R7<*kVMcw0!d4jOxh+hyq9yg^_(jB+k8ogA2iQ5A;8`n z=H2Q_OLb8h7G|XVjB=ZAa7bW}KaU0C1w~2uyJ=z?GG*?b1RmjaR^W{=nhOnrJpe`YCbKt-oNclmm)j#!$ zwrXT$Ms;Yo0J25QBDJRz{*d+Reo^lcmmoW96e|?|05XkE}>G-AKJi2eBR$CSUl)H=n#wNsJ~+&|maUq!ce7fClXpE=;X$o7>zF6JZF zUYUiVkBUhcGKpt~_5sG8NGfIXcM`?dB=7aD$^4MCsxILDZIp+Ma#U>NJ@UOQ!zLoa zP&0myldPj!Y!W$2*P4=Vk1NPNrIA%b&lu@^nUJ)0-@-|O>c-5tO_S!}zVk^FP`+CL zT{?6!9wa+Nbe)~oRD+PDp$X=RbQIK=;kolaPd3(#>LVqK8t{=9a|Zl5>){H30#B19 zs9yPIqR2aFPr(IuxbEnC^r9c-Q<@)|d)_AoCz?4<@$W)fCf`{0H=CTck>MNF?+uX* z#K>XelcF{(=^@o}b1+fM-A&>_p3@eAeQ0%rY%~Dr;8fMVxXvjXC|SEJb-9W~j~D2J z9vcnvZOwVltAfX~t(jn=%qK@VN*GqrxgMe2C&e%3N}a*24XxgLem#9N-ccf(Jvg=* zbsA^1g<_0_vn(HFdt#3OlPQ+Z`goNt8%R3$TR4axqFyT`+ah}2{Q7V^c!$g>VbyVZ zq)4_6e;bvmw<0i)o#rOib?XFvVMoqhYHI1mYyUZ^;&q1IRQiCc`gGKnD7wA`%=2azU6y{vtp~6|myTj$ekS7Pll3b>bcn945Ep)f9+Cv_mpZ*Z2zDi{x`k z2oWzN5%+JYEo9+#PK{QK{8fz1mHDUiqO}$ zl%$-mPkjYt;u(q@Ym24u=s!`W0#E79v_vR?6dtD9nW=9H(H}pm}fUs&{Aw&)mv6W}nTWPC+o3>FU9imdH zWm{SSyX&bnU(NHKZptcfWc&}7j7k4y zL)z$kz}Z_Jm%yf@2G7dp*J7JW5K4{wk(I=;bhOo^r&KlIrS!7LhxCDfM3>m`Z5at~ zX~(OBTSYY4MdHJv$RX07Ox4}-B8qF z_n*7IuzYxMDG%xx^*}@m6Qe?Nmse94b!H1ojCM(o$X2r8nVN~0>5g4+^(eLPN zT0~>7Fu4yvBDoI;AqG7km+Ei2<@3=B5I_977+b>b_qyZ_V`7%!=tn~NwIcCMzQ#Cu z!(K&R?%7XWJIXjOre+Z~-^a(ri6KP~`Q9RL_sC*LTwy!>c&;xz*4Yv5>n^qzjRXSQ zQF`M|PCSn%`$DeUkvG4Vy?>*?MQQk+T&SeQgjMev?QY##eXr|@Z!NcMxbICA64r9< z5z{tOR{G<29CMmvb~&8L*JFda+vXCwnBFUXe}A(m9AMe@urOu&kfh=Q<6>S9+rKef zI=#G@y3=cY>X$QH?dP!TzLR@pVlRWL2HS1n-2I_<`gGtOqz`2Fm0pT{K#(6Qe$xQ( zGfsT{@dGt-9rSn17gFb?Guv^*Tbyz&%utXPR)@)HBA7lwD&OyxA^6-uyO||pUP5bL z(hBCN6}tyhUaSy)0L%bdT=bs*JawZ;gT>dZHReQqN51Li+R3S_+^FdAn@pXLiK11r zl$d#gor4a!^?t^-u#CddR1g%Svn}i8BaV>NU0zb(EiY15S({n#!oJU!K+ak%N+q0oudSoorx$5W3|g2%M6fgS5IP z9rtoT<|`6|_I!2zKcNsISFN(bk`_4%zj_HzMMh8c)x>TDig8(AEV^k(EIL|&0+HjP*aaUoyX)Ovz~EzcA_wjT{!+sIYPZaeUb-SFB(K$C zaE(I;<%R>!R@%1ee0ip^0_gXwlG#=CqXXTIxLQzz371t2P1bVi!G^4vL*@8S$Z+$H zvFlQ$BKl7(opZ0}fWYBFrPpib4!@svn2r>22IKSxnF*t;R0XIH;N*MfUaZ= zEb^}$s_03Jnq|tM9WR1vjKde3l#xLXgl2*!f0en-0JjEC6|5(KjB_fkkKFfCn0Roqy~U63Ox4MNaD0VX3b6NV!) zb_i^r*~=j33#1>v`07rSXuO;Kcz1rT+8Xv39ufljW#Gr}ANA}%DkJX0t%7D-9nwTM zt)E@;Mt~NfND``x19o2}Zd|MbkymefpNCuDqe-T=1yv7dhYn$Qr)Yinaqe3lYujX) zT)$*Hv~R-cvE5y{Koihj5FQY$@e>*SNnbjIMuu7rJy9eiGkVJ7@>}sEQk?p1!G?T+ zrnv-ZPn-H^Uz2z3f)dhNzhRZI;pyzdFdO zqD)bNaLQkbax#1%kZ1s~LmO?DdTm{t?geAaWne!rZ{FSE&UK5=5h(V>0FuuSir%hQ z_to$Wk^770xMSUQD=z}l?W>`HZx2qUFvS^|f1=_38b=9(4Y?X{HfzedksxBKAAc&* z;5ER^7&FabG|zSg)yQB#89kVExupJmqPB4_IRFzQI;hfO1L#3s_V(_c=u$!04amWP0d$JPt#hY(l z3^^vxh4!84kl=YVy}JuLM@jlm_09dNZ>$wm&IFts7~|gyg&wAuy((xSNP8nl_Ej%? zBCp>rNyohnAJ>YnPz_o6Rbw6>twBqU-ERN=xXJJ{jGqtav3d6;8nZp`LkV$ zFH9ePU!N@9zb<`PZOFPyZ!qlkV6)B;y#M`<({(^e;Jnj7e=L^S+pzW^+5+Fgo89pD zwNcYY>%)7Ot^_BA)9ugUD|cF2(uvvhv3XuGP5O!>gsc zD>c;lU>TM1%`ueE61=|dr` z;dGYYgTY6tLqR-&3ZIXy*JIGGRlYlt9wHCQzk}DIh59==oVse(6+;|AFv?$D286hO zR3jI63TJT6FoqtQ`x0wtQ8Jc0CefE6Ke`kM5y+mBGEA4o9~xO?(H4neUR5eyYRMke_I{ZK3d1wQB9!dX~)IN`-+kaTJ@pPIu5l8 zYaZq8(XuM?vRQPmxO&vc3RzV4hc6u{Sp$lW&9uusB^R6>!K1v+!E>9YDT5=@f648x zv!AE4vl|I*Lg8@Eh5BD-`sfaSFVD!PY)XcHWKLzPOd@wFvJyA&=HU!1a6UDX+V+_` zwAPvf{>lEceACsCi3hs6sb|Z+_ir!ZG>mA)nD=tK+CkgK0X^Jznj-P1&a9R$ z?21=^MpoI^b*Uq_w4u3UL`nI?qNL|$Adt8{^vZ~xAGA)d2;m1^36PEM?6}6J!oR%J zUky1SU9}8q4J9!nZIt|fAVb>N*x8{9#k`F@d~oBy5E#0v$A9q=0UVmR2WsVxcy#=; z-*5kOzdC>R>yL8`LkeTs@t0%|0?dpBL`yrq2nnDVSRSUrFKgQ5CAHgjvz?tcg%`ht z=naRPx+BD^7McC#2K~e?$NP|e&rs;~uIT;is`+wc9%nCv2hGUzV`B;llI*>8o(|$HVgH7vzkd(e$>C!j$CH!wKh=@dk(<$)pAV#bH*v#0DRZrHdeMSX zJ+KJxQ|HP*1ANWd?B*8I4O9SSPe`3RZaL6J{s~D=-87I;?$cFhY}&iK+^_=%TiW9n za4Gd)tmishDm%8LvK%aZz6VlGGC7Aw)HM%jubTt><@FhJqWsXk3@L!kwKe?fSR7LQ zBZT1yn63&BiUq;Nk%R?{P7CUGGOv8@OGC^>bj+=C=zu;nb zU6*(uMbyK2>B(%X?7y9!8CS<;*{SFpbdkC$--J%-Y5-m~&G3qIuatU#zswPr4LghU zmT$U-$|%SFh5v_==R*Aj}wd4w1 z?>IOqfqN=01~~8bR_NHO4?{_v=sf=En1{f>%sstOU;fA3D#)TJ18<(mA}LQQ`h-%_ zr-0Dc4armx|JPjrd>QR3{%a4Ub3JmrGCP&WF?dcX8k&A8G5w)Hkv~{>5_EIcvOuW? z2RHS)e@1Jkb>5#?RUffpv4qDeHShR{xH=7Sz|BC6c--ZIc&tVmiEg4PLcgRbx%m%h zjQ-?2Rc}1^--fkIo_u{(p`W&i^Oqpkm-c_z4|xElZMIyWj1n_d`c@v!-Cn&ovH2`~ zmhYcSxCxClsxFp4ldb(vv>M}H8c>Js8zU9S^CFozHYbW83v9YC)3QJWhRfys%?))1 z4|e7tjPfKq8F)qB&<$EsB{3$*J?6(?57fVOfdx~>0vQ>Q?#7t8F-5z31)*tkq67q@ zfW1j`R?}>ci64I)Ug+q5I{fE94&Ssmmay{2;hWLi8Kb1Av6qDewxo=NnEXtV>AMf- z?vh5!!^Yqq%vrt(*Bip2D-^uvbk{4Boaw33cg54VLGZ@)&nV%aHWBxq;|RWAIS?6r z9p}iVdvB@_W30%8e5+7+_huhb^+JO+;sRrB-4$f|Ic^5@aK~U38Lv~}+PxdpcAb5{ z*(SC;f%m!I6UC~m?DWi8Xm`CPsqfeLPUU;U4tW9!3W_4f{~(TAjmpY5oAs^$Cifdw zw!`n?mZ=6K9-k|5gilx7$8UZ^3_G(P3czXu04pl%@3GfU__>frSbHH;VJwT&r#i&1L4o z6*YCJ&kKsiNqE0M+YLTTzmYd2_o45=lY96Hjz4FATW=`oznnl>hT%TQzHli@dHaUtc%=P!x#A*! zmnDl{;1)+40*i(R1NT~O73Xn?!&>JU5yrqmJvj(8f^RS*7Ub{#Gg5s`?Uc}!svYI# z(SiVH9Ar251W~>{>ls>)cK6pAYf?J5^3WJVy*ERwC zRgnkmxTCj(=ei*-KwmiiA_2pA1qYc z%!4XW#{>WIv;=vWIe6K7##orY{JV!uGgdw+RW|R*ts5@q&SzvEzq6}Epc#$G)dki2 z!MN2zRQN+N8mvBx*3BsQ^b`7Fg1N!#2a)4)Do0dXcimqq^hL1CGwP7=03tBL+rbBf zL=E*W4F@4ZH7LW(6GC*KO(|@@z&ePE)fF3W4(QLrcfnBT^S=EOxzTcx3{&xU_Wqcf zY<}G@NP}Xal#L;2zb}VE@pqY=d%N6*mtP+{)d&tc;?#G~kORJiuP&}7FWUGpPb=3y zKu(4jZauz3v&NKRs8BI)R?qd?=bWAf`bMcF#V}3kp_b5NEH2B8WK@2&iN;hnMUTu^ zK+)PxfRbQHDF1P7SsE%jPRHwX3uU@*ASZ(Ft~0|-;dGj~m49-8Y&?aIlvZhCL>8gb z+#m%J$qV?M3_Ws*iD6-}Al(Q^cB4w)-?=5b+<%?^;&lIg`u|b9ougxVoN=Z5GT^1^ z04U+f+vW$j+;Kg5k^UFqfj{pZLgU$S5ocq=CN52+eOrHLSjJEMAQ16UT1@?b#b->C zSDdei2RH8SL$m6gxYC%P#q(2kJV(=Y&!`}hQlGI3#O&@-bo$XM$3pz8lnSK#kY(d9 zn1knInYcMZP9|$GAIPvC_8#g+vMNS2+Qf(bBaY1?P~WpHqa*4^IPGdZmbFMG#<_W= znKs`v^sr_)Ru{1MbZ2v#fEGD7SvA4$gDUf^00a@`o%2p9U-VXipYQka|6B z11zK|VxFY+`t`o`amTzdf4c}ep77BE>#uGNzb&^(HpQfSk4x`E4}ee`#__PTo5QHo zR$li0bODn^t4A86j}>ndfC`;W7>&Zoril$}s+<88iUl2bZTf zAQI`mY<*G+BdqVm1pfZAhtINRSLU_n$`J!^a9F z?Vg;O?mNLgz2X0Ok*NM|sGBg;M(FvCP1b!RYPHUblNd^`rLtnnUKhDD742PZ22QwB zq#&acnSd_jiZibUG53SO5_7-uJBBO_7*MJ)e6kj?b2nT8lopDE{h;(?lI_O-pcwez zKW7kO<$p9Re`WDOc61zf3hSJ_8zyVPQ#?%|5%*U?gW)K~P?K|7&05sVlS-cT;Vg!C zFdBS+A>$ZLB)e zKkezBp^hcJ9oggD3!{leudXlq&f<<6B;EK;s#j?#2)VfhGojOM{IntCS7(@s++y)6 zB=YQ&Ulj`R^yv5J(g@QWS_nqv&7XoxmLH90y9Rk|hWm}b@PQC($C^;MwTzmrI4yS( zZIOXpq5X>fHr`wEj6zj_OTkQ%+V&bGkjrA8?J7aE*Pe)(*X?I94(yWkzOh#YNV1Gm z5!~}4QtpB)jOUAMXP9kkDkP#zej%tg-TWV3;ij%=B5m#HAUzWE^-|_d^ z6ukZA&`!+=G+=g%RMO)DkcO-$w+C@9;BR6EKEu!wK;)#g4o(i9urwLJXTNVDBnZt| z>Y(Gc{h8Zi=eLbG z*H-a3(lr&fF_ZS<7Lr8=Q$X`Hya73YVt9+84|};F;bQl6I~>lFMe< zlyMSNS%(SocQO}0ac~|Q%MGt$q-@yrbupzl(@NYr3!Zev_3$*SXXM>cLZ7^`yWtR6?;6WSNu;Y!*0AGq9`_L z0bNS19X|Xcw}B8Z?iKy62clNR-iIOA$j%3x){c-HS{?0Ol#V$e7K@(_7W$tduWS0W z1dK{~z78i1i%w`QFiz=19<63^OlKc=(&lDAHlOmdyL=5Zx#Jo&aba~#SphA&U5xOn z-jr0d?~g;ryq|cS05?kxc*}Eo9#;F#etJhvz@mq!L;Y#~dg82m!EiV_dSXH_t8m(OpnF043e4Kf z!rp>8w8n|0+}?AVdJ=!_%Cft4!)~!+xu}TIfti@qL8Jv?Pw`TD-8udeK)A;7R z9iBLbFW~U9_GvI6bic3I`|;Z4i>P;ms{W^x8N-1c=JqE@o%i9{%SD}8?}co4(~Cgj zg1p`b^#_}2U~EEY1wi#FHN7}y*i|X+=s^!6UV7FolL_l{2UR|SjFMzTvC3wWhnl;% zN>%RctX#CoEz-=vCoabiQd#%-9q4Sj&C^+_tBK?Qcp)8n}P7Bz2uNj+8@gO4HEo4n1mM_Y!sIpQ~EJIAS=TWt!?*5iQYwt;cp<~SBcrhNLoRCxZyKA z(uf9m73RT-*VQ<%GN8y0q2J{GDZvh5-IT=%d=vt{H{{R>+NEb5kbFOT+$JBuJ@LqF zsS;5xUZhjxI8VAHzGSfEvy{2ixwN)~Sjc1BzZ)!0EUJWwpoL_6j?}s0I!d;Kq-B&A zWbsl|oa3a{f-2?E&rrW@A7uK81VO9rUT472{R)Y|XDqPm61gL`u&s+1K7^nY_n% z-cn+VxNFyZ1UOo$2O;^$In4MhjkFNgpCPfEEE{TX%=104iQt>kL*&X=69>z*eK2cB zMLY7$atCad*{i&VOH@Md3QO{4QeV1;N8$3U8dYI?bKwAW92YoIOU|P&Y4PhIa_ig@ z);N~IoduufKK(uY>HfyTds+_eT~kq46~*{xkmpq$jbBhF^}Aco_Er%PK@eeo2p?V# zIbaEV>+yJRbGXAWPP+X`jADTM@(Fil#9g$BR zZ{ecj%LYPS>XISWYKdW~xWwBHtlF{33cLdCsvol6d+Zg1wiX-{V07K+II;DVg3oN2 zE3YbIq^scA!KO{yV67WyG9v$#h=rRe`!;8gg@Z?moUqy1hTyshgp_Ov*W ztGT!i`nD4PgFGirc^7|AOHRC2NNp!k)*9@9X9A3!qsjeV~{8MU_&q#ISFX( z=X6j;M$o#oRAmyAT&J{?RSDP!;C$o~@AZjCttPrUsrB8qFjsh0zuH&m><5WBU(A6y zJJt%n)J{pKug$laf3}e)@?oab%oVpbJKj_Ey=rlKN=nMamz5nUX3z6zx<53v!?zU6 zskD|T@q}7%HL+IV;c=^cW_)nHFoITVY1A=I=pL!-1JZ`TR87Hrn)*3R6e=b!3!8H>QWesxXtlV+7qu4H{)5%!^wcjnqk^kAj^X^+QI$JzlI`C!$zV%U_3VJ_t7@+&k$ zEOM!xOsN_bv&QekzbF&W?q{{V(_LuF6jYR&Ub+ZEYA}4tm4Eeaaf~)KyAGUJb3ZA6 z==U-uJz>P6AS#xn0`nX5QKu9C%_=V63*Y;E(`6({*F8nVxpPed8Lu_h&>`$tx2ofi zdttW)eO+zRr#n^09K{cw3k4;YCo@kGv7NW!SFu+bi3xXVV!nl&S3wD}U05ZJ_Q|UK zvsz-rT2+0K)b6Ky9l;_1-+oS2L%7L8q)e;2S1SeTB(C78L{*@RLW3^*P&XUR@a*H@ zoamrkKZdc>H)o6D{4IoiDF{pYcaU?e2G}}jV>{5oR9nV*Pq2;TEW99B*y$w!Xbi6i zvWzmYA0#xFNTN-R9Y2|#h*`@$;mkl?0(d*XX6v_vzs`sSc6FH*=z*OGN< z$D&Wdw2Z{SB$r<(5;%Gs$@g_wa>oYd)?$jNb?cX2w~N4lZZOeKoD;F^yHclvaYn#a zhVEEGUcm)=zbtYUkohgT8W0m_Nf1lSm>lY%ScISigywSI=L|InWA|Y%Xa4Ndn8{Z? zF|*AN9(=K<0R36^LIQt-_Dkz{OLIrU=qs*Q*|^=?&+?(e<_$s@vU%42Y|F8+CB{Ci zGxq@x6}7cKXDeP)It`C%04Nj31l^NIK9gK(B|xDB*k@lle&u4z(D-;nbpns0UW&PM z{_v?6_cxZ_NVi`iS2Y#2VCO0H1#N9J=2lj{UVKQ5uhHZt?^W;LXj7=*M>gkv-tTdF z9Qf=Fdn$<&+`oNp`8bMiTsIwO>V1Pt^*y&d<`6(U0A6fzwm{pu>j!OJ`Eu{cGT-$* zE~`y;MYg2YL6zcNwx>OGigL(!>2*a@^$>8U$6~4aw;uBLE3{_`sO!2a9eLm(WTAbe z#u&=lg>nzE@-1Czt5ITG_DB|IAsj){8icp55vpf}u2?M67ZzTOhP+@&+u~Cctoa&7 zn4pRAA-t_$t7?|&);^Kut9V&T@!^VQt>I(oj-H&aWSUg^GtwDJ=P-$z zcRzzl%g|dtFa9laBBS-}%56d(SKi-(+Hnnz2uMym}32A7y{}MBuVO_;qfRNksJPV7oo9y2=myeZIhTkZC`J8htH`9&-a_iChB8D{w3zSOHw?7Fx zIn|9K)#gH~LYIs0l`?)3PL-loAAUXgjoz}w?W<0o0;lk>q5_6sn}Nsks#rX;YJ^nw zE1cRoZpfeOBEfXQMrn36Kjn_fq^Q-`eOc2EISQREENr_E_AR<~4}h`@sl-3teNOKw zA@qM!K)$m^fxGdY_${i2UiJ*{<#XM;iMhnnOs98MPyQU;0>3Vyf)j5g^`hoc3cseH zbbHc2*lkr+m*HZ2?sKkaZ8tR}mKQlTf~=jp?Zuz5-o_|9xc^kk!}Y(RqHAkBDxgik z<2BPC31LYfYaFH(Y&uWxWOl+|^q$!YbV${v5JJTDb`v?to@DNC(RL*cJ^+g6AlefILIe0H_u zgjhJ6wc~QQ8|(Gh-<ePou|x`(Bkb$WYrt<~7O3daEQcs!tIYxU=4b?w~j>)`qd-qoT-F3opFK&3hxScJBKf_qa z?o!@!(6hIGIT5lW;m$UVe|H;Q*|)f&o2bCtN{Fn*n@AOQL)~f~q4;1p)&9E{@b)NH zVG)PI-^IK2VcqIxK&6UCP3A_AejF@WBd)H9SUp>2r_S2TaVnQ61i$ap>FIhpr?HmP zW71$&;s9tW^>bw90QOc6v8wOQ54y4@XJYD-*F06fq?zi{B7;t^-K%P&7=U0oM@?#R zyt^YHVaoOF?2O>mm6O?XF8oB|{Z527O~s)*KflVzYU%ju?@AB%eVJ*)g6$%CvxjOw zMh;b*r^L&$xtHF*8~OdJ%c~Cjy|k8-6T2su*@}^#BO5;4xJ&qYR2cYRM{eFAH7`z) zX!hpEi;p&Mk~;~N^NtN4Y>sK8I))Q+O#C0RDvbP9bzheq$a|Jtb%`q7O7P=qiIZN3l?+ynGPbc+DC;BJal#OacCs1qz&U#L zZ}NlC-ys2Y1LvA=8|&=?E_TzIGx@H6cDPyJK4~k&V|^J(I??`e_N1kYZ2UqvlwAAt z_bPEgud9u1V$ddnDlhtPr83Q^fvJ&cs-xjKoGm&b)@M;L^vs;P!DM~~)Y=fR<&sdY z$~YVYGw>hp)#*!d?60@Gh&I54QR?~amx*eu_WPD~;rp1RU`ws(bu~r8tpNMpF6xfH zH@1vcq^&TNK_;b#;O}qE3XF;4*#_$L2p;uT{$;a@G?Z*UIkel7Qof^rfFtII*X;4Q z)vH?1pjPFn2ixJ0yov05B>uB*}Y4m(%{7+zH)p%u%kY z5$t6?`G=if4T(M9*20{FM`tKbr#S)w)1{2$JGDQNdU(q=ga9<(LNcANCO4h%YXaWY zo(V!i1{ZoXq6I!k9>L-FeC`lP#j*;YMC3*m4=6F&w38;1@nQhl{Cb@opy4$d!qP%X z`aED>w9VCZhW8Al7H?V+anH z+tK}^cwwuQh+ixxSBPTac{~(IPNk@}SZKbk9?i>e`67-*$5y1m4h z1SMWcP6p1%yA^fwMdi#cvLRazDq%x{J8w8+t(ES+sH=Q39c3oso4=Q~`a=sGvRq0n z7htFVf!QYI$M?X9gyH>{VGyT%Led`nNE{8>BFC+I6P+`OSezse^gBMyEavNDqp z3Qb?sjt_my{!{OerC4gb83cuPq-Hf+skr~(JRT^0L0wWfxzq68Yjl_e*%&;V(THYC z1tvHHCEK`})-09N?t8oolf6`;4&7ekB`G)p4Gi=kX))_{3q%a^8NQ<@FRt_8P|cF( zRi#VL_tzv!peDW}>v@y-j@2Iiy^ zneIFKW+HV)Xh+4S=O=JI8Zb&8$qO%Gv4jYx(5|xy1hsxu9518>cs98(c%GX`vf6Nk zubv+W#BCkZ7{u6_hcLND*JKKQZcMS)IyMJdy+>wOEFD|=Kg_)aP@G?rFHEo`5Zpbu zdvFaJ+=9CYhakZvxVr@l9vlXD3-0a`2<|R}+=u)v@7~?}?pNQ|ty@ghFcdZCw0EDU ze|@%R5(>k0M}JaCrK_D@E88_)+xd+zBG~aDw^1eV){RWEtZ#`so~>k=(L{Yi=k5~> zVh>9#kpt(Be|Nr#L3tQx)nJ)Z^`OiG9{cRJR>$v>ja+TK^Yj@$EB;p9F3*22;S+(F z4`p*PzxqBT7olb2J&cEN@RWc#nDQ7%!XPE+?5O=7WDYXEUmq+qkSIRWw;O5UUWcH7 zHgJa8l{4cob|3ou; z;Jp-?z8S2{r)Peu**sokmzoblj0J^954X_xz&L!2*8^DlZTEQbD=S|acUU;~B6FV| zT#fTi8{69=^<}Oguhb0nlkM!i6~r8>mg`Ijdq)=)-(@JRhOo{_G2;i5{NdZ?9|w2R z@kU=HxG;Mqv)jf=q@IJUZQIF_UQ;XHJ)HtQd#^mzMC@Ixn#v=(nAG<`iGRuY8ve>a zQ4kxqoK?5nUQWsMwdgu<1cG8>dB$^^g7T-@KG>lZz~X!H{Cv-P|-AlNY9O^1<^WEYwo1fX8mW zk9B^C;|2gM1z+R>*LGJXA0)z7@<3lcNUr31>Il9bh--Z^G8mjIHo{g@<-9ba-jHQ4 zWB%wKq+FZpaD9p{*k>SHl!{Xx)!pp?&Ad1a4ZjCNA39OrMjb(SKPs8;LUj-{EMYt> zSTMb(-~)Mn5pPzxM@c%g>W7XGf(vdcOP|R&q|Dl7iRv1zu|{@)5woy&^d#%ZEU3hW zDDXzP;eihL-F{O{5r!XS)S`j|XpWW#-cz9sy_d*Kj?1PU)iBB>VlazVW_m59p~d%p zVH;At8cD{9zM?xU`H*g;630Cf3S_&VF#WEn2PtW=DL&EIwtu!zBGau^q}DWoy1R!J zX4^T9FbQlQlc~plcM&nZ+T3_PanI@Dg>`k+e@D|5uc~8oT=m^#1a8$N!yq}-j6{vH z#0~N=^JlVlQjoV5Hbo!4PUIyif7kfS?!XMP4Wop+aiOw@q73VG4lbvkQWZA3%lxM=}aif~4T>-;|yGUyNOh;mPpLgl1ICag(r;i(q)TBy<9Iz|upd8Ge)5PcW~k_OHU9DHnTm{4 z0*hL8&2%zDamAs_Asg1}Dd=uDSTLbM0NqDAx7*leD762(h}eEK>I-Nyr+$BR$G9>) z^M~9+em%HrC5@d)>H#>`0r=n==_TY8x$t0GV1CnRa7cQq8NF;hV^ppz)u~K6Z)Gql z$~S~;veft!a{=*6n!al2!90|1N?m*pN1Shmp7*Mi-N$pJp^*hWb_g<4{>pmZAuhX& z-o*`cDEJ;`R#9Y4E(X&ACSb}F!116OTb@qKP>6wXi9~^;O(NjnPSe?-4T?364`h3H z&>zptd``JA4b*(+$Z8BGkGT`p8?fKcQ6zNH2Sv~D1t7!qQ$r35TY2)3=q4Zf3C;4L zl+KOfZL1z8(gancgbA!&b@$#>ec#(=C&(p5r;Cb9kB5ZC{uH-Dgj7VpomQcy<{N+$ z7*nXKxI=XtjIv#NN>>!M5Os~OK_b9yun+_bvroOwiNdfC8VNq{f-4rtH6<-@}3pjy$2wHhGQel+OQe87%x-DrP zOm=|w^)W*TvtSLj8FdptR-MwXp(2T1hUtRB^m`)T-+OeIyWh4yQ%mKAi!iIa`XX6< zAK#1zKkEg|7~Hi@Q2quclr2JJ4_0=xnozjVe_>^9OEVyuwr0Q`XXG=ncE)NFH5_HI z&E;b!eskX*sdT$+hqt>){TdUxhBH!uQB++bH=7KXbaZHAtgVlPSCrSZ?{#_rtpGQa z#^?sovzRiVAD%7>1E!axjru=n2}uEZXg878P@PTJSjT`N(S5lSSaO1G+x!kt+6P6C zkg+BVLd(lc`-}GaKl>gL#0i$4U+z_7xi>gMy}3KHVFCwhM62jtKP<6+{r2h0WXmN^ z()k3Xh`Y`90@mt!B#gwF=eZYU$K*oUcT&PnIR-WVNk^>dNP61Gvxm7F)Y5G>d_oE4 z1VQb+Sf;SytXIw@UYp{!Ka+SW7jrS>uO=+MZujbpDn8=h?H8h6%XqNkCc<>o!j7s# zI#atC)_r>s0v;t!OwsE@B^GINh^PM?q3h1)==uz1L1p+eRKP^cJ_)w2C!hOzQ>ET2 zvv@~4`08^6(oDyx|5ay_g>faO@K8V()2_Vt@P%CaF{#w+G%04fg(mFbulDSGrONiD z-dPqC8XZ`0&c;J7$7zPy12eTFKE!TifeV3zFKa^zF(b?T8okbCI3HGAA3W-wT z5?3TW=lpp<0GVFMub|UGveaaod#ze7Qv{bDi2-#g{)c(;_3=& zk_tbsqq_x7jR)&FPwgv;uwAUi$2`z%4IITe&F7W68-0$9##f#WCs=w%!|cw@n<&^` zJ8{wixohv+O)R~33+*n%)ql0P-0#>XX{x}Prt%^qE_m6@qG4s!Hr>9tTdf*+d(Qi< zcnKm_wkwdbk5=~Hu-5BtOO60bo*C%z2wP9AfS)!z(j0|utuyj2YUjL_%eprVU$LUq zpM2J-G$N@WffLqPj4eyx42l1_)t=~0sb7z$C)Z-4M^yPRxqRb|1ZOEqR0AmYlf&fUZLm^e{xkk{Qhk&^Z5RlcR- zwOcvdN^S_tkz#U?!CkXX@uQ9uvF}Qrp?nCLV+Sj6%|P7DunWTRaV@N5-rWPXtE|DI zLdGKr6)n+oVS&iN*7Y&X$HsFc+dZ4Ob~G<9j`brO?{-$PX7pV0_=uPfVS-3hBa*;) zZO;;CS{epl(N8)El;_K6{OY>!PmL!{tUq=U>WtB45ARALC-<7KmVHOuH(3SO3F{py z_EgdNWE0<_E1F99yFAS0%Vn^THThquG(95Opz0;w<&|R%MGl*7*fS5jPmhty?_&aI z|J@WulRdM6MQQx`R3cgAo8Q6Ey6SW;Ti&GhX7nD%g|3R5#l2Prd!ku9^#EvX zH}Z6bp1bK*C$}9a^N41`wY-M1#)|f7w11U%paKi;hxN;}u<^BRf#6Fy`uh-WPYX(} z0@sB5gga*qOW|#z#3pUph=)^hhKWm1ZwRX=8MCJXK^DJ2!7Z&}(yiss2_$tR<@oJ` zeT?oE-R671uV3?h*cs17T)JzSoSoh7P1zaj`FOKuy~;F2d9ElaJp-s!DOo}O^;n&f zmI5u#=NrRq^#}yd_4Jh^lccTIrg^vZ;MD%^Z;3G~KyVK3esLajTD9&jUfpnR{s@A( zXs6Nib_LFRETaAIL7EItXRgP|V}NPwh0jn$VWC^{I zmE~NrCjpt|53cii$-qwnU}3 zne`B!+sd2F9%LNt+F0=+^@OzGLCP3tp~~6)8m3R&W22!#<@xF3eCxMfY8>6o_w?WF z!i3*F10z8xzLICwBY#VG`qU8;vA~hKP?$a(){4PxOF+k$A`9FzKhpd-ji^%~I#ZeM zCA)%j+*m;PS?~HF_fz<3J*QKRn{t~kVY80;XCPYV;qpz|_fNc6%B2URAE>@rR)2rQ zY|5;{f8(nDdH_A_H*24bF*28an>!25tucaN*y7fN_Gtx_QoadK2t~VYJ zKb8i55?Fk7aF7PUeCb1aONh{uVT+I7Ks5h?(&2}hL_wUB9-#wyO%+qT28$Qa zu`9fEnz$-pQxbR(_j3!;8x0mIP^py{8nM5a;vEHLvLvN@UCqk}-A>K&+vZQ1)fo2O z#)%7;hX_6COxP_ByNO>{-X=R5DHiwK@aW&;IUXw>cm0uy7X9Po;DZcv+=vQYSETll6P+zi1PI_`+C_O_~XUgtg7-mJ~%iG6V1 zLr?=BKKGvMsG--iojTw8@pB^d$DscGVs4Yf9u>=Ewh>!-5&kkza*r0k5-<3t(C$l>`_qDX;fMJJBVWu&sc17ZkampmBCBNCB3 zX=$U=%K@!7X@W<$ZijR5mjc_bXL)wr>?d7!G~{Rq_?Eu?AXHAbD!&Y$(Z9Hj{4v@B z?hyM3M(}%kT}s$6hgzDbt+5RmIyrG3IR(t9`3+N{!1Wtg2G-<10+9H_XkGej;M~TN z1cCd-i1;04Y?V+v_$7TU}aPHbbJ(M=9&U zEd2Z(n&adOAgwI&ZG<$RmhlO~-F_yBNuYg6y$nqzq-mQ&~@3j7cMVab#lZzZf{|9u) z-=_6SY^RB$0l1z521MfUp4Q+u7^WWEC>k38A4{L5sgZs{t!QTg(3$!+i~`NiYOl`U zefg>H1)zYg|3H!%O9f80dfLUX{=&uoPg9E3MB*ql8sbAJ5zD(Dxh9G82S};TawqC` zhEew8A5$)UaQ?hb<8KVue=1o_KzS5Of__sO0DB`h=?y%aH7J^8dBQC@_&>F4epbz~ zeyPDcN@^Ap_*=hbB0Yg30N9fl{sZ^IwEmysUVv%*-FI)bV6z=`(6saIW+By4xC=2V zaLa%D*$xI&Q$@}aLzCi3he}6*J!l<=Owzxlg>@y9IW7N3s%xNJ;op$L|4mELd`&AP zUQO~l=12vKPXU1Y>;{(@3>X389>w_6JQ~P9bO}c0NDy9%+vSG+0kL}&aN8o%m~!bp z$=}A0ACGfN_|g#1u*bbS&#d3YyelxDrSz`AaJNlpYtfd4`RjJ^Hi^2#OjSbvu3(N~ zM71%iJQdYo$0m{DZJ^f+di(bQq*a>Q!f9y|v3YYY!xwIc_UTPqd|S)k**86Pdp$f` zw-!gZ5)KBMx7HTT6&~1BD$|s~`_h}jNqwj?oXS^07yjn_rt2(37h=T+$^z(E8>6~i zLSd)PnN1_ac~Mi}!~0QCUqAcvl@tL@WhB#6)L~EZ4E6fW3;Evu@3dW3qO>pg*iGG5 zISdb^2d~(|9e@0PUn{*rX!_7&~GBn=X+$ zkl|R0o3FRu+FTyr7)YGB_C?}?KVJPYblf3O6m0|^#BY_AQ*kDEWq^QN4)s%s!(JQ+iB7x z+B!0a?a4Yl{M}u5LM<^}cPwOTUwVq4C-$bAha5iTW8opn9{iO1aJMo4Zn)Y)ktY>H ze`aflKlX;3uuF!pG;vXZX1p-4mp@-j_W;knc+U8lia?Sb?;r!u&4X3p@F6jae_u#d z+An0ve4=`$(8G!1jCjx}7&cYR)bKv@%g9{apm;Nih1(QTmnhe{Y6Wt(yA9QmeGs(~ zn{75I9{Qd4pRYXDXK?BhH@nA+z@JJffDg&exkc!f(x(Hrh7g)>Bs_ij|MHRf45qjqD3X$mxw9&VhE*Mk&;=Xu3oI-e%L*E+9R zhJak@46F3?_Vx#JaWOGP9$wy54c=mOq=mhsBe^qCB-)M6WhGvB;=irK2e6Kzw$T1s zK)CY35dOu|O^Q0m<$4~&-Nz{vP86HqFWqX!SxV{zU}sG;#EvkcOS>t4fqXm5ns1wD z6|>V%78G`ySw|K4K!a%zcZ9Ivfq0^f3<~%;InWxpO+*k)K!(hjf}=R(*{0r6g$?mN{AUOyOrjT#HY z&}66PMBvKT7;%uslk27|j=7bZdG^s+Dsr;Xev0mcCP>0{dYRT0bSI(`;E(v1#z4IM z`LvH8dVpDs3IRMbUW?ap{6}Hd?`bM7w`tH)pCs8)Hm3f9^~ab-jilU|`!7Z*8!kL= zMJZ~oSpjEqe+&l%=}GY?w_IW)Y?j=HMBHNOe-0zGOpha5Z4-`t!7fSrcdguUqNr3f0eeI({B1lY&R(1{& zZu?x#wI}@3Y|;S9Vrs^}*<8UzYcjA&qcy)I{$@-aL#baSK7EwX*k05zqYO72NoC}v zXD>-0e|WU-lL-Oh7Y;k+d-AL4z}?)!T+0jO;>sT87HIX(3NG(5qu3l&Tx-v@QHth` z*IRlv9&YT%lh3<6H1_cJ2op1SZF&5Qxrtr>5o;7Fu(LqlXD_1!;ZdF(2_MbktUxn- zKXA2|fRQj4BRU)IUV6iw7QLnyebEfhnT`Wumb7OMVf@ry8d@`GE~{ZgHGJ%Okty_w z#@>3d^6T+jHqEP+5-`qW2;D8Q*jx)JwM;HKip}=)s{@e)zfSxIHN}bYIN_(gJ^-l# z*O$v6y4d@`>0Sg?k|dw?5y`8u`O3;et$LZ7vO5-ky0%R6zl`JcGjVUB1gMTEKn;yw zNV5`4b)nsZe}-ImezUfBUD~HJ7sb3c_lO*F(T()UwQpcT0yeeaIb=wz%f_%POgMcM z>W-nwS!5t-89znIiZ|aVIehh+0puE?5jsW8a?_$_*+uU5YEUgy=fF3zA(HLLoP>EeMGQ z_?j=hemH;vOux28c%e>{=l7jD!?*7JWSPs|PM5#UR#c_q(43mb;OirL6L)@e3)#f9 zmtEmMtFQ+C+-a7?Z#(^9X@9JLfp3L$TCSm*`7ZG&v`a+`RGFj@>M>U2aXhwVIG9No zk}uec8~0$v^K&*{PQUt-Q(rd6gR<+zgnAzhDv0cAN+`N(@6$j4`KKJ#olv*s=}w;X zguuhP^o-s@v@G#|w$BAv{6|h~z(ZFd```dK(<`4FB*L*Go30AS3GMIkcej{3&T$+3 zMAn2~xqO|EIWWVf%NEENVq(d+85ogxS@aH7)A*uqFyOK@=8O+_0pDGXPkh0bw|JVE z^NG_iQ~;;Hb+v4FRk%lnGn?8ciCd2gP1mnCkEifsOUap4@Y;RwbvJ53RiiQr_L^<% z&6-*;nmBC~?S}o?8)3~ATt-z>mY{o}^TqQbs#W7#YW?4V>zy76V0>uFOu~S7zU^r{R?2in56wP#~BkJ5lIs0;!0ae zKF%zTonxbe%!_X%|B*mCgg>2}A2VQ^MZbc)B68yEW%Mpr3;AA}o99^_62Np?_V;Cf zbJy!P?*7u_|G-^Tp=lT{kX>TxB&&o9ID}!x^Jn^G8L+b@VW|9^S}=?YW!gDoXwF_A z(EuOENX(c5oO(K<;XmQC9N?rn?zx0Fw8pQ<6i0(v+Ekuf``o`c#*2(5^-W{HiSPvt z*GhK9Pm`WNJ-+v`7Iym)c zaGH<`q_{tc_OdzRXSDBR=TF?Y@f_6GJzrD%RwPQFaK?uKuYPIa>xz0Xz`dcFfhXbV zTVAtCMl|ROX6*SnBptjPg^{MK3Pa;E9N*iFR4SS7!X^$o(nQCDm|Dk@3$~2mv%m~a zAMN#@I33V_Za*^AV85X<*K%3}ct`NH6K9b{4#}_R&9g+s#h-Pfba4#&P1iw$D)1n2} zGQ{HziW&Om8?Qt(B(d>(rdYa|M>-4^NSJhXcA8xQIlht`a3(r=d3BZVbk(w@w5N-? zs3FXCobFMYc4Q#^kKxS_0xC7L%(jjL=$AAC@Btk}@(IB;HR{ITp6|KH2vLsJGxY(F{u)BB{( zC&wwT8md9J<%Ww166rRQ7C_I9^t4H%|G z3O%YnEx)cYJ{4K{vX6yyrl|wOiiMwQr);8d>Mkr{{|KlJ?Q7IVFcZZy)DIXyD4;SD zJ#>Uqe~FI~;^0!m^+Faob`&eLr0yq}InZM))G)IYvs!KV>J72cPUiXmzj#r$eg3}I zR5V`iOLdUQC4mOxnLWV^*o_S!GC}*(LHrigeT0DThZ`#gIKb2i*mYJEMtv8x5xMPq zs_~7I&DWf7rG<3qYSvd@mNf3Ekh{-H{c%IJgws6{_0|4Ea_zo*HaLMY+geXPo@m_s$=Zk%}Qm3P$& zlX!Q)a^i&7Lo+^?0@yWcy64DUEq(4GYEaViULMQ87#&LYpJiV^la zDBSq>6rSO{R3{OJqBNGeLh&HNP-(Q>zo~aW+f-)}A})ettogHg0+i(`+?6;_-J}D) zISvRLfU$eM{N;nt|MWo=|CtY}rx60Y>Gv?u2Uu=)=9vT$Rz=U2tONr;%PFPkTWf zuO8K1yM+!6&`yQy&G@3+I2n*Y;{BFD>H+csz1e>9!>E5MERbXVX(#`s!j^_a43UNf8%ut2_N&Dpp}WQR>)y zV+~Nc`^(!Ft{|ZC0#Zc%KWnBm6tUEbzl4kl>Zv4uh81n&14x+qkMFU@{~!9ER3O!Vgn)o}e7p|Jul(ySsQqSm zcZ{iOffmRg`p!X$=u|Y2C&43m_rVw^h4hLT@HFT|=x=kyP%y^6qW;XxLPx1MQFsdn zC#1PAT3|ryMcurnT&U9(0t17=9P$G7qs%B zl?1y29)4`h!iLszLNck!R(6Zogq#~%jpFDr96(PT|@;^_Ox z>k&$Y|6Zz;(nBl5L(&K(M&lo53Zl#+AQ4iAd8l+x1HdJSXRh$O)C2?tgNyH1$##jUAVUOIUQk7EL@P=fP3^yxUYiO+W=2(BTdOXx zu;BS;6{`PkLdi>DPL{qVhr9SozZn-WpY@OC{%ElNf@Uw~s z(+Metk~}dSV8qiK_!+>AgXfeANN)k*fP@5t>BvDO+!3hiFAz~g-%CsIQ=}$IuQgF= z#z>j)&#XIfCDwM?#o&jYCUb%5qc5)4BhkeEh1r~X$aOyg@KOzjE>+<#Zg#wPXk5RB zw0Q;!nwb?mm}k1FTugO*Y1Ry;`|cM+LX$^EgeEIZVfRaztQmWDjj00*Yn&1hqBn#1 z}@Fb{MRmWum#r*xh2S~VR`Gc)x!XE^a9l45S@qwl^ZV|oAaO{(il`tc_LGH6ry$Gj#+r7j zh<9h7k2Z*eiNx1ATkX!z%l>V{{QdvVh6$sq^*dqHqD8;`i;4Z|AD`Y(Uyp)}rP87? zzV|(?35vZn8mM`4RDsjv24scbyDXGurkzkTl7(x|D~4k(6*kK=$h(qlSC67F%HVo}jIV^Jaak-xL9eU~M67hn|GPmp5e$hlzhH;I6%d2gqxFx7Rt2P$MxY`Wq@% znT)pPf`q#X;@o%-x756Na;Ikkx@kw>U?_;Zo~*Xr@!iKKzsh2tGjx#?xmU@^94%T| zw(PP+@U5`$bDm5JH>=KvX(=5YLS$f&4$ADpi_yV0AYU28%)#*mG6+z^NBQd z4T(!RunTIOd158)u+qV$patz;vE-M*_z{=$qz8WLI@8r&Vk8HdM=4U68O={##M~Nj zR8K{pQ1MkUppYt%Gw7r=)YQaY58~H!k{ytCWvvZvC;b&_BjQq}T#D@%tNLtirFl@I zMF+2dj;NQwsEao=Xw~cfvJg^ zz{=ScOUhZ*)|F!Ix8JO~&Bv!L-I;KB^QNry5bGj@PtXYECE8`C_9}MSRVO5M39me9Qm<6=>Q}U{Hg@6$NYO&Hanpz2c7k8?0jlZ%w@PEb?z`& zP6P!bq_3`EpiVu|P(S8OMls}c-Q9#2*ge@az+rsUy`QmidFvBdFZR)1G(A3m5tFB~ zMBxJmL*~s6wiLDj2sOo)+0|iiP3gaEH?%F?opAW)AKQ(46+}l89wZ-~!9>Jn724OJ zxaA%*F2{{=ne2)kO}=MG5c59EfaQ=Z^p1&VIOEN*3ws|}i&TtEQcEJn(1Ns7M{V(( zvYIQB`~Yo_y^nvGG{vKMVV^0Z7%ev?2YqY)E-&&xjbv}Zrq$ngAmQ!V=1`_oA_F&C z=rAb31NPZ1QAVy*V#nrCO6J$E5T3`rL~2*s;ChS%zD;S@^vhYqoq*pnFU~gP*@=-( z3Bay)J?*Yu5QC&q`>TT0DsHmw&_lta*2!FXBPM{+vzwibT^jXGZZ??kT~>yL+NV>K z?lDsvs>C?O;3qR)d~48Wp2(O?a49w=p;p~YX`ml&ktT~(Fd;};IjV0DDkdU&&`X)&4oRz8>IdZJZ?}fiN($yjO3ID)7nioE z*9peqes}g%kip2acq5&T7hHUOp3L7I!+H(I19I+04?*;f$s-SB;|aq2G>dr_T?_gy z`;=xi)P{DhM%pAwYmzakLVz5>d;0Dg7_6F#@_N#%fM}u& zOHrUEzIkG#sQq9QEY7%sw$;+?88KG~EABeH zOP&Ws6i`-B2g2FRRGUA9ht3rLa3k4cVP4N)sLpYznOAV^G{_U^Phg&|j0Pd@u=5P| z+(qysc0e$`FBz8Ue-Y1E}GX7H^p67U_D!5FT$T0DP#+({bgEqrS3 z8LWFT4rSYwgavW>ysZhxf3(yjq{M4dUzeONO&zkVxX}BotP!E1#sa;yZ0g;|RYs9b z!d0VXz?H*ic;1>plpzvux0&UqVIGU({6V3$H(hs5cn?qi|pTM$v7J! z3NVh_xbC01alK07M1pIqsXUnGUtdt#qJH^0z87(GljLPfV0U=&uvZM!SZcGMAm;i- z`uxPXM<&WL77#7|6nrDD&pa=ZX(MAJn9JkSAy#dPh>Eu#i$peOivF9kSveLOiZe@B zOKl1h%Xk@Gih7W>R&#mXPNGxl@QHNJAo-F>;0>ohun|lDVD*g*(L#mDG;P@`mIED@ zmaPvd>tpQaE1fThXx-9*@d^EWu#x^LunvJL%ZbA*NlMOy(psAoSR<|k47+ir1@(;e zicDq4_}Gy>Z!EhlMz88jn0YcjCyJ#(8S21pvs=PSZ@Xzpdur9;DjHLND_ueUvT?wp z>rKY>aaKQ&Yp>Gd{$ggh-9*x)>temm8NH(b<7_qcVf`6g$ZB=WGV&*^9t8xeVbvab` zU&~M7zpkzx**$alL5mFwFL^6ebgr&bX^VP}!-Z#RgwTzn?tAHrqyA1BLEOOH?jwl> z;bvsdo%UNJ<UpklUJvC#U8z?NIWisZ)pV1%pmSW(|A(sLP8t zovHnxi{q&oysuesU+pFmY(*MXqIIDQnY}I&@gOGbmeTS@PlKFn-%Uy**{poK#~cMI zTP#|W5BKhV84IIJZ#PC&k9Q6$F!$c%q_5#`k*xMSP%YPoFXc&Cz}6u2gsw8jyd%2p zN8h|#sT_6NjvaPM;yrrHxuN$SZ-Tg@_7NOA&iVQi_Rd{ zgHDtKP0g~GpL#0WS#5h;qNkj-5%8q!7MH4Ej^GdZzRB#Vuw8P*R@8D=qqJz$K07j- zC5hO0PDJQaa783?!{pNbYJ06U@rWqV{I66*5cA1za)u7MD6iGvVO`;(hM=kwN*Ko| zv!_HEo>D4N?}_c0gjv!w@%^c$+O!ky`Iu;|HL$U_F*PXhrlHCIwV%`sF2=AA5Pl2} zMfps~WU=#M+vtZ(|8%i;Wa|=SxYsBOcdfwp9opr@@jLzFTYC?vGV^$bl;@prJ$QRo z8^U8sq?te9@6#M}e?DfFec`|_wOt;=du0gU;uDP)tcFJ3N+j*JZ?f$kRBvxwCkQrV zatMizR1TC*g;)J##fWP+b#c@Ton1-p5-uGY(ycR4{qXN0=7S^vWy|(2v~v%K31&p|%?? z`u#b-8+LHlbJ{*S*Oeu*M$Sm%MFb{>;e**6aieppfSVcoSBAH*SeZrw^~upPZG7B4 zm<$Ng`xTR}j+w9@KihqD!)Om9gt#y3nZZ7pcSa}+$6YM9dj84R#wLvtocX>pM&e!{ zTl>{LMaQ^iBdkQ~uA=i!Uoa;)wlq}_hsg;R-KorlAZMD+=lKyKEF)e%L<53PeRf&E zrGZNJrw9771e0;ZBX#ow#U%GFc_ul5pI6?&**1ZtX^WLDa6L1$sVDIkAn9v3yY4!_ z$lxW|$iTI?Td?44>@rw%jP|Sb9v%VfHn-qGyumb<7l;oZ2px!mJh3+^pVeFSO>|~tKSj775R2r)>S07esvuFIEeZMg;OA zDk{*JS9l~!=9>QY=<;Gxe zFu}~Vz+83JTw#Q&U&It8Q?D{#rXmA<)Y$m>E#hC)zf8$X=s87T;)JUOP(vv$FC$w=NA!@hwsr$_!#VzDt>P#` zLwiHpERWM6>b7iXB{{BJu=l}d=;9S4jwX(h*eibB8XFYe)Ls@zcixtL-dtsC?*W1+tVCXy8w>~+`y;=J2<*Imax7QK6oZz?(u0HXPAxiyXnK*!YplEhBX1HA24~E1t>xbUTB>!H@#C z1iz!qOXeOR6R^Oz2YKGD<2Xl?Y@loejW1DAs=?A?aK=+M~aRt+-U}| z(sm2i&a?o3A4+O8#+?DD^Bo|TrNmsJsO=Vp=%MuM^?`7XPJ~t`nNBv)rGM9Q zN%>?4&QoXH8+sPr0-Ri*5p6A&zUJvoN{qz{UgQIb;w>+*nA)vFGVK}Ed!|(;V zIdr_)z0JAK=D2=U8dJK&-vw#;<+@8q)Y~s22P-Y;1G~IA37yCGu-vQ|fkVy&UKsDo zH}DeMrg|P)=2Zd1Nxf$m3HH>AlLu+LU+bx4YY;Gy@d#%P%;+WOW&;!A^H1E;97()3Zye0F zE-S-1FPGB@-G+40!tmWHR&;{z6DaN-@f0Dm%NT4;iPoFVP?l4)UhU`PcrBFj6M8MZGu`d5zK()q9XNB(WqVRx=ULAaM$A(&D>BS3&=RAyYH%^c zTXG5V0yM2Wf=$B@RyX*uEN1D&>pLQOlQm>kq%xPvIWQZm3c#L|9YrxZ}%_z1G~xxa^phYHgX91gYJS z0x~`|+w=0q3Nx4s)EPY+4p>{!b+AYv;TmI=k-c7cS!IsR-$&faG_gm++nK3%tR&B} zJt^3%%=lx!lDTgE+W)p1)yu>$kP=lL++lF!<2x@Z_7o!ttMT|-szx~b&@>y9npCAO-%{GlYDv4uKtk%FF2QCnwVeXH5u%1)|O zi{GB}mBWjqXG~sZ#G{ejE?c^(v6l1Ejugnz&Y3axH&QgX<5n1A#9F5_lDRS^h;X;%d(~sTZ2hW^k-wylI zPcN2%@?;&!<5*f$8l{4SjKYnSnYu#4Rp%}ohHXv-xZG-^Tk(1q4EMp^7Vm=j_iO>3wlYj_TS+nkq4!-x+9X*<1Q6#AeQq<*_;CyW ztb6xqe(9R~_&rjyWi5yEv7W`$Q@wFD?RnBp6^-%w8(9IFtFKRR^%}@&sbN-8)TdP|+}GMj(S8n=d9Lg0v>JXb%<5lQT3nQ2s=T@w z-gD)JGN5NLUs+I}By3%5@z=F(-mm)1IuWowSk?8xb%EI)vZhtnhf!=TG*d3<8iNlc z=boAO?QT3lOOMvgGk+PE9_g`#BWXx?Zx)mz1ORiB~6ZaN6HkCEZ=OpCJn?kaoliH=QM zT;GxWl3~iimfe!bl-+Vjm1BvWF9yN1!lg`GEL`=ap}W=fESUh~+6O4}gC2{!XVKv) znN3ZoG&D3(L51GRjEQYYbIGXc57uK@*C`x{!sONB8R11=ji^d$KRk{+FB|dyexIPM z^w*={7*gab{F>Sq*$oZ4Va33K#%IYGNkz&!Y2ZL@bpDi!!g!oly=Nj=y1+_eUhMt< zvF1)E20`*cd7YTuW0kLY>H79`^X|lI+*7QR3~8s%R5S%ToOCgLiONEVYfq&e@eStG z^l!b3nkk~3Cu!BZWAxD>c*||4l4L|OpexUBxkREh>vqjGe9N-z)Pd`G_uvWBk{ZJ3 zRpVq?r(mD%MRYx0S&NAh+4xp0jR8q_kB(;R)hf5l7U$lZo2?0fp5^-QXFT{bf|_B< z&J-c_OX$Og+<_*a)WMa>&EWlJ$8<~apFfDkTUF^(p;g0DwX@CN)_NX?wluG1eZJHg zY)s&jOG1?~GM%CQJUz zRq>F6+z1if{26yjjlgiaHQ?MbOz!U}(Y(^<<<|2KaJh_Vnwx*tPujogr@q1een!$P zXcTO%SdTeVuyatV1od$HcDb|l8g$5LjVFeAQ>nvi0KuV5OH!oCh&@`v{60kcaxw(& zgWK@bXsr~Fnon!k?8=StcLObNaMmgxI~1%8UvE`Og8f$wUFm&Hy~N zgB#(N?U~s-9S6&W8U!8p6H!y74$pe|2Lobq;8WLVxqfGFb425_?yhXytK;exCs8)5 zt%)la4})5WOt+R5iG7{@3#I(clv3&m<5__*N^ z=7@KRF1@|ilDDTl5QWrydyg(u>e*IARLZaqe~t;%EnQrFc?4y$RP6>luB}ALWFhnm z=j0utmjmh#8lOQW{mP7QXK1^>N+C-qtSbjFBc;3=4qX%|aI?a(czMfJbJBpDu*PVJ zh#`QsP$G`RS!D;$S*&fZ#=IdB=*>RjGs8h=SY~x{O<02Hk4cZ{yBV(17CV8(<2-LN z*6+l(HYxz|SL%uGQ~V^|8v4TYz5tN+d%l$W@vdbkGE6i+vK!(2;mNr~AS^31;E<-k z9i>>nJc@N0nf&){&YBFQSiYZ&^&>lcVYPgM;qzgdZ&9JGsXFs>tWifS)sqLx6}NX- zfOlPo+{faEFaPA5uag3i51ZKA;TV(HCdYuk`DPCV>VvVgQLrjJSVqgc)dW*3Kj2DJ z^07KmhY8DTD9p2pM&4GtL`X|D^kG8#Q1dmVo}W8c`0Z)ng;kwGW%|mgF-#Qu()8mS*e0SH}c|DwC6?iUYx7I`GM(1!yH@*ClE1(WfPm4E4z31S6 zQTLuE`p+*J+89(Z#E*bRd0 ze4U`MF#4=fBE0At1zIWs62Ea6C|`hwGf&Zi54!@(c|QeQmT~QRU1a>ol*+0ogexcT z-I?hsG-18kho;04g^!&+Ve$-0(``jqz@A45WcuNKi9vJgfghTzG~eJXO`|G<+$Cgn ztr%;4dtHI1{B^w1dL^X7*B}yo^?Jf{;*`x(eIP6$e_b=qKGj4nfC@8IgAY9zYyfEX z%URN1g?69ApL{Jk4LC6$fj>r5!ptTr91YL#kGi@E z%#<{nv0wb~EBsE7!*7U^>pv2_+kFA?VsG-?G?peGe=?l%QtFmTyqe~d$+L{a3nYEL zA_HHR4|UzX#plA`*I2H6JNH$Ay5pDoZSSe6ZVuD#cXETD@UYbg*7x#Lb+D7Q z;<*Hh6cUH3Y-~99?G?P^Y0%fz1goc?dqR-``W$;pV|%9!$Ey~? zX>zOvQeU&IzatWH+wI>{#sW_;C~rt9p!;Na9wnKOficg$uR_YiTA-Kw``Uo}IJIWk z25PpdEiQp^yyX0ePVcl9O@>i&kcJuFZ!b?G-dQPHj(0iPpUG-c+epWD4Jg_4Iq=cN z@-xY*p*cmU8?WgE6H`PUG3XJu^`12X+7urt$4FCJMVL!d*B=U9ZGmXsZ}MZZ?A07_ zpt_yK`07!Z=#P)%VqwNVj=A6IP}jc06%1_XZR2BhMKb-q=y@SjXWTGXa!!Ac)Frh& z#=av|W#cCcHSBg>dj0lBquB@U^qyi<6#V9vk6_gh-)E=QyXEii70(I18fzbxPw0s< z9(dfyic_8|famVqFOzLBQ5TEux$0;Th!JF`gTk&|kxKR#Z)QLs0(r&_>^fn*9De(2 z#(#zFHm1-0XwQJc-NavAVe>nDy_s&B0*uV6MVWFpu7qYxT$R_Ax3x2x->iSQ<8lAC z!~ds*P229|QAP3VkTvO3;a1)!xxpHuS^9VA3l0ixhASAAX&043Pk$}=sBJLJFxkw$ z05=dwum40NczaFmgdhoPp^*2Or%|Q&N@-W5A)TExKW*kAsV1{p=9I&Xm$1*16zYOF z7n`pexF*P3$(#cvi^ZZllG@5eSFJZ>Yq5CbCFm2G#s+Jp3-K8E{X|@N!KF?iMGC9f zjx=F&Wxr`p=Gs!Ur^QZ?^cU6elooL|$f>|M&iTMIlOa4_Fx*zd&T2kHDOla^p@9KI z2pM0BpUG9HR@kf@J-_YzN9Ayd5#w_YYLh%K55v=NCz;cTvJQq5HCL?yS^**^k-+$~->u-ET+X1y3i95#VPjhd& zc{OFMeYTN}l_Q#rbCTipwFja(RAIqBRAxxkS2518qaGHi;rX=7ib&YQTXA$53bYcc z70gL=!X~)k^R?hPZU6azU9-3TL`swZ+D|}O6R~BCzhHrrX?*B~D4abOjpbAteq?kf zHsuYf$uCYOSa*4bLTKLP`x)r==Okf?=h9`?CvJ;2bH?XOdl9sx{QIuA05-gJ=h*B& zbQQ+hPR?DhTE_Ij7R7l6fI;4i;ibx%; zgi0~};=_+~AK;E{Es3L}${zgXJJ+-X8Y9ln$92rFYjdA96Mtm*>MxGoYekBxK;D56 z7f{?!t0bg`=>KHs;eVVfX8JE$CvHjlyWV}_^jy4U*)1>?7Wv^-KaS3l`fuj%D7t zxTMh>4#2z&uDW$kwsm2w12F46Bc|?m*N`Z2n!Yj7M=zo3tjBhW{ZbXhg#w6Yv0kl{ zFN`9t+jOL-1FfTs7F42t1|mPgvZa-4e?%8%YPd#weMxmMW{pg$a0R>SGYfiWDs zS~C0^Rhp%@yJpLnby8(2{p7}j2mc_%_MH0#-PH<9hWe}K!&7^7%dJArEqreiUqL(v zyuH+s^fLm*?0K7eotH1rV152NPf9vjKweD9nd@#~b^2=Z{{%z}@JAK>93eE&(D|sr z@0Fnb+n3o5p5TKZ6WMj=D{uK6k|Q@P)w|lSg_66mk13vGI!mb~a@3|QR8&v*vNfHN zlpxAW)MmZ7FT!ZBHOyF|hH)}cXcUdL;0_7(=x?KbH>f@Br)@47*JhR6Zpv{De7S`4 zq1amnTQ9k|qk$Ns-ul+pH(=pX3kurB77cW|Tat8r4DFbUHdD5g*2w+Ltg5&^ zV@Ryv$S2Y_`vks_&d>f>7JmHR@d=QykU&^oq*g0j5)LybVB1#eBcf7RBd4^Bp9dPMQ6e3cN1=GZvq7y# zZ7y@u1Fdjs;oKnP*>qx$Nx;Y>jo!l1V)(hEgKKFw9Ya2*$B?sXG4Xi&5eE44@&{7r zvIv`Rw5!f)tJiNpZ9LIcu$M@)sMe9F4A>{fOTfmiS4q+m-%Fo-6$=QMxDd7|`pkye zBdqyR81&|OQ&uI*`FaONpQbjR-sOe9@k6zoBj(85vZ9>}5n|u_y4SCoTt!Q>J52Xd zA&Z*a5mv86qd%$3XE7<<=sT0QsTtQ~Uzplr`yu>vcZ_?O&3GxKt*{;2zMrD{`VBXI zH%$QEIE7&Rc*(2aAM_-HV*VhVC(f{zQo1Da* zM>O`@0&{t?7It+^vL30ZMk4zI@mDdl_wEG-vT#qWy`I2-uJ-dS;$(~QWBhnGdkR{M z#2+F&vflvkbJSi1*A^fldr=iX9wMsU)Zt@O_Jrw4rDi4b)Th`J#r>f@mwsfmapD}5 zz8I~~$9Q}@$yxLAu-IiBZK+j0ASG*#Kp$?Y8P01h!h%v~J+7+wyQIA>@Dcaua^c{w zi`#q0(agzeEMjE;`b!??iMYMDNYT3G7H0ShuE9^)Yr1@Eqi|982Gi;4-H3A{&hO5O zQ9-OpSGz7xz%p$~0}LsraI8s5^f{OG=d0e%2gIR1x^h)Nd)}43ztsOYmg(rKE1CC1wvCsO-v>$5~? zONP<#hcm1fFyRmJr>yFD*`fib`5h&_t8JTujBs%-v^Wt8W&f?0zY)yZB1`K>2H|2I zRzR-R0dA4E)hB}d4=t0z4n$eoJ`-23z4bhVCo!S0P_NBGp({GDY#mHaR_&$=(SGs-iB3vX>0bGCyT5t9~RiFPS)auLeT$P}bwf~D^2hqD+ zPI2nrf)z5-NX7Cy{|V>PznawZ9(}Z&>Cr}}{at)=i*{*qt31Tv5?vlk_UK1*C}@aP zu62X0LsY$M>OofFUW>*vl4AiGIPvV_aMXBlM+jSILh72FeBnMM2?##^Hn~#{KL~S? z)#M#hJKwjc@(OV8EUSJ!PxR{{hQ=f=%NzXBEov`M6pvmz#TM92jDy81O&$4;g|1xp zF=qKgQ?e#S5xf_ukc@(nds03kDLrS;-A}roq;$i6%0_L^sBEbrac(v*u+_{tCW^yF zDp%$|uC;Ac(ca$Eh`y=j&<1sfY@ZRGU}uMiXH)w#=w9u?5gMrXRxu3)9&BK*04Ae@ zmYdIr5h(J+5l_n)x1o2>)gN~j?>;of1};sJ30>LhVe88~tL?tog0o&^G{Op9rEV~p zW+#Vowo+1?G5$*y^OGEVc=^;}2ij9^5bWy{Imh1_EP<6eLMR+tX@ zMb!uy2p_k;={O?ye$Q2URA^Hn8=0Ytc0(fqu5`6n^Jq_fwQyl&jfj3{pG%1WzmfS$W6n+R47N8c{4`B61NdZ{4!M<> z|HGNQY+GNeL*jKZWDUo6eFPm;v{-fj++k-8c>?V%dD*gfH{kQu= zI_bLdE4dwC(tHSfXVcj zOU^Ytt5b1Q#EUjI95{LioF_B>;!ZFl)nLDFKn zMoQ%>w{~U}?`pE*PbO{lm6_N?{a2X&su$o7kFU!7=X-iD>7LCoS+1p%pK#vP)aPOG zzZG|QTJw{YE6-w+@{-01lGDlXwDOz(4vmR>BftWe4;>NAR@1e!A2zLu{;O*HO<)z> z@;t6Z;$ry|Wy+XH?&Dl$J~zRjJj3PEoVYi>?|-M6{n>y1-!@T2Vp84$mfV)g8`X*` z5>qOC_`Ck>AKC$hQnK1Y^!lxzv3yMDC+xuUEp<>@IC=T2QqDj}EUM?`zXu)$Z|NpQ zuan7@S$}u(f5EjsgO~QR>u-CojGt1G5thtvpl5Zn&#;X$pcAb? zwY>F|pp5o<@$P+{%mdfFpA>fK@`53?h?LLiMajP$Bj1C6PfU>%vpRn#%l5DH@cJdd zA|nV>ht|c=zq#N)*V41);!gnaI$km8{uGfxq?QiY08G9ua8PR`}YdS7`n3lR3jY#N~Ua!zkB6Cc_BgNk2c5)A8 z$E4TO0d$=7<=-8I$)D3=$+p39l1gEiL3?dETB7Okz>urr5rTy?2=XLTePp~8(yHk5kP=*Hx zI%)@uU*n50ysASSnlE?nQcV4)OJVyPq*eCsNH$Y1nQ{6YthNhZ`)VeuEk?WLbRv4p z8vKe=dfxLqt!Hx+M%;X)x9%8|vj8P%K><8KAAAq%$)7)lcKH#7T99AAsdqE-0LfxJ zvYf#+s;JcTp)58XQfe`!E|ccQk*w7D@wagC_YGp1*_*}ne>tKwIUZ4*>s7IVj^yI_ z)rzIJ_=npjyQF6_T>T@Hb^CPUtG2LlErA`^E1)ftw$PWCG0bgR*a`Bf z;>dUDr$rVZg=U%if=|!No804NDL)|Ixc<{jBjN!nf-6T%A>+$l$(QFfG`j~Md6S&{ zH5xLR22zf`?tgESdKxX^fM!mODY*93{!x6zVtS?N;H_^;e?Ur`h9*(bUzL7suWrjb z>;DSY-&(yO13dM9l|M5|DE@BFDl)wvu*?rrw+kg6qY{+DIFtf*^5b^eb3Y^tYo8hL zABolUZDRKoovQE|#uDQ?+s~BQSey|o5G9_8JOr$<8q7Dhj_fD%M6Mp>|6GXX+l?;# zo^kB(+ZR9mVG%0_$+w<$Q>D_yR(>oQ^oV?I37pp7CsshfV3mbP{@Z-Lx0Eg)43APT z-Mf?xtj1pW(55ISjQj)K__L{P>sdTE`#HVuSH)M){zb*=)4wE?<`Tzw5I3Xq4rH&z zm-V?PJuYj(BBNXFi{$!i13*I0`%`?zE4RdA_I0wo7lSCrYn?_pyW1Bq-;2G9x3if= z)uJJXkbTvbDd0YKcwI>KlR1vO7C%>NUS+@pN;V^3{MfDx9{bDi_lffs04?4?y9tNY|gFsO#xxI6Yg30{FnbnKdR&>;(y{*kNHY@4;h?n-C;k)!kJ{7Wbz8&n>`^{_&K&NLx8>CM^R zYu(25v=UG{_ZI81KhCR>qa*t zCr7Q6n%Gw;5_M7v^f0a6f7bY>L0H#Nqbcv=csh%QYOZ@M;DNbZ3u-omQJ)cb)@*5* z|CLqkY>J~I|6lg-BbKIn#)mF3P!_9oRbIf z0$=BqOqyq_M@CDy~tdgcpW1KxS##`sE-LfRQCwjjc(?(;lAi&M4WQ;TXU zpc33Htfi5JqvBkc=ds+;TM0B1jp&fVfsc*1+rfia=0lW z_!h+INjVT6LI2KdHR*PUz-05d zKhqqM>2);eq&#Tl7()Z%0WNfV@Bsa1jsnSJ??+?B1k1nNP3uV1(aostvscw&K#e>v zbx(G%m@0zb`d0s^SMmO*S1|-W3G$Qs+xGKHicfoLms5anEn#L$4lI%p?nF3bA_epT zllLdKnM@0fp$v^?J&Z|Pmozc-K)72L5vw*uU%bt4WP~o;vu!r~Wi$z3`>`>+OJ~Bd zS`+B-+d;*yctgT{9~cR$kn}E|EspWwuF%wgd*Yqz5Vov5|O76pqiy6^{Vn zpb5<87c}Gr4Cp7RQnR34OCCb?+K}#U{So4^;UNaL2DOZ6R_FERdNR&wR-?ol9@oSa z&x%0TEIheZO`0+H96e~Dz~!IArPd~{>^gpjXx$jzV9ag*Xgi+^+EP5k6jUEYAO{qF zecX{ZEhw{U23!n)gF}iqLRGYp1l12gyWHr1V!L%biSpgp$_T!7`xgsJcY(M4m zep2grL{Rl>#QNmZ{`5-y>`k&b>km71g8Wvh9Hjoe71=JpQxU8AvxXviD!V%JXJjS$ zx~WB1Km>{tef!AT!3DyTOPh2lEu@XPLV61)v(L8o(sUXW)4a9I6E1gGHZSB8A|%e? zR}PSLw9D)_3=YeD&hx-5fxbAbPAgs+L@#5E=Ac{&I96bvMVWNZ$B`Zs&OZnFwCH2GmxQ%@@w3?5mu6F+of31G$Kw&DfS3t@mbFr60gSSY#9~X5 zVV8MwBI_O{PG&9_6>$R>v_%(jJyeNj6=|gk7MqqvhxTj-1E;~JYWbV**WulveE{AU zNc2MdECMevrPf4sArxP!DWiq$Gub~LB{-g9mrrd5ej$0Mf(|BxT!L5u7*jsa7vgKO9^ zSi7UiN%MIRk_k;V_6Ie_>MfuV9D)XVqT>?gii)f6s5o+F1xjIp-f;bR)@&UAd^?x& z0%`unO30l(oZ(snbZ&jS@S?mt+uLd;(O$E z!nBIhWc6j)+p|WBp@?{%9fB4(oJ))R@LJ3JbP0@VJk`dwpzm@M&HR(Q&|rcz?V+~R zqp7cxv2bv6C}sEs!FHlRgv!}jH6~MkHQdP@WQ3>k=A|kk?NJcz{4Bc}_Yc-{pywop z&)N^JGjwsv<#jW{&OLmytOK80%OnL){xBug<)^x;l@6viK=9`(-wiU6e?Ru_2(FGtz z$;PCTv_if(pCFte<`Xgz-qt^SpJeMNsGZRqPzJ7LKKV~ph8+{4ztKO~!rOLuIU{>bt7n|$R? z5ub;wzcF4`*-4s3f26jlR=kxIO%6V_9!{jz2;BbBhRu7pp>^y#>9ErI_sDK?0LoK) zrc53C>U+RdNs$}|HmKzD)&$t;Y;0`%q*C{(0bINXiH&OZNXj)F(z0#IeHu93%u;PU z@2yR+=qV&gTVQ(mOsKQ1$7C?AG}@m!EP_Nj#; zi5d^LSI7Pg&m6skf@g5SN8fk*HA(Fp`j#6UEB+zOM}v^2t|SM@5S@cNVNn0&OuYw$5tfbi0AubplzOV{Z~IjmfoIkk+r=+?P{=l% z%Sp$&D7>T*tS1)2o<-p3DPwO!hezkN0P*o1GcynoljA8FPsRnVEByn{-j}`d49e_! zjGv*}9t3lCsWvFQKHDE3!L?n-T+b7C(KfOB6GpNLyh>2UV)I?XOEe{d2pjDf50$7O zVmT1ZqwH5Cs=@lGa_iN)E_wCqL;96A_;obL%O*$Ie)R`DalhBc7%l0+l(OGbcm+MB zE8}kWu(xL_>%{lAzcD7?FYlLvXxSB;RedAVF~dwI`h_?1El?L9?_KF0FZq?UXsDd( zvM>%JtQ;8Clt7-Cs5nc#X^hgimw#g?O}J@3*;G@?Rd8T@Rfct|VN9reI=IcOcH6jp zj#3unbD%1<@jm%o4jOVrd5*v))D}8Oq~(8Pv$v5sx5K^b>D)kaC7y^b;X<8r8uMFc zHi$@N5uI;09L;-J0cqtow4yD}KCEej#FU&|_!KmQyFjL@-Y?Bo?zQ<5`Fu59?`bip z_|#S=LHbQf%DvH{#)IM4#zb*$T;b!|`9}UWSjRjFv=hP<8+=lJ@y)m=b~U2yn?G?g z(G1uSc-{gxT74o#)MkW-vF+{N)hoV!b&A|^9p7rq6J9j{L|z`!+r|S>LB|tTw2~@Q zv})P?6A58nP0FVuuRN2qv6w|rOpNwbW-Aw3AHRsOnZ6CcjUT-^=S#9gFN88Arl@IO z=zr(CE_lb%Y>fvs8IUEv;I)O{a;sempH+G}v;+q=8iXe*?*2O@G}1+LKXD* zStO9;MV1{kYc8RS>cN-I+M}|5?~PXEQQFK1ejFUr&qVNnCnCIEHSU{af41P@&sH0N zvX)rXJw5BzC+0<2nBg&H2E?{bbo5rT06Pb>1Lqc62w}L>2=a^xlczb(WO$W4gaY}g zA7u2DS1&$O4yXS$P)yN%YD4}qs%)|Lzdt~q*bg8R=Vmc%V^e%KJF?_puNbn^E$s;x z6DXGe&>}q_o@4uB#b_m|7b;6#A`JTB3jnEPjgtwkMZs)p*ePGalSSE;QAI|P-S0{W zHeUDbnF95BatU-frNtet{z%H08@YXCQF>M0J}e#)5Lx_~bqZ zPIiAFU+1fZ-3Df;(8$PXB2SU~O#?kK#9K1G{tNT%fcd)$iL6%8sk50zh`Pu6b-Ql0 zTj5a*cSj2RnN&PCCkOgjMPM&cF%hk?jB>WwGS+S0H7!gE%wGa4!rtv6QMvG9nRiAc zot+h^lfHBa3)EF_V;50sMa-9$qHxq@ic+Xf)3XayHiceteIzYUg>#(S8;ILwX`Exb z^F%!dtYcTD=yFEI$C%McM<)f+8aprFf{v7FA+;kLS*GNjPsH4^JevSM;Yl$tB6{mZ zTyKMsN2|BV*?viG%0UJd)@pet&S)HF32`xhLzO*<5O&?MY5g5;zFN=F7xc00NqaC^ zu+U&lgU!qaQ{#zKqh8?N`Hu}$t=@&wm}Oz9g%|N#4qgDjmM zhf?8jOWv)ksM3VI@$S*Qqrg!0^D;i_bMFa;Kl@<#_0|RnCkL%;0I>N*H*SWC)RL{{ zJR}fM3Lh@5a}_NDt%A~Slam?Ox0O33q@W{CMD=%1()adxakYtOc$(Yksub}h#xxI( zR=Psl3lnM;kXlP30iG?|0gUT8z&(!IVp@sB_;vkD2d59#mRcePXKC6UFM2;cT9P_Q z{4peu-^NegkhtKLI6D>=fBfWGTCI8kwr)=Du?u^g_gf$lk3$8@w@64kh10V)5znDF z-6z+WO_z_VmQ$#0Isl%~w^nBcRlpxAJaG&Hi)-K85$?wkp6I3a=L$Ji@o&$DdOb9$ za0q;Tldo{lP1}yJb}3--3-j)eI?8Hy;RH2MWGin}kyq1R*wM-6=DN^p(`;d(!5z`# z2hnR_ml0ID!=Ne=&g6N)EvjBR2a>g&)>=h~-o4hj@0Am9=6$Y}1#Wq6?# zlDiGXXwV1fpWbb}}z z{HEu9Yc#dkxV}!l)~~?`(}Kv5tL|&$*(h2dk&vts7NWd!PSxqg5tm256)V*WIM;jF zJcGH{;y^h_5x;koXOi6aYoXjiK$h};?$J**G%9>CB467C)Z-)>(gi}x+redpd@m!)@A&u<1JPu({j*vd5_ke+~kqzZe1#yLuGem7LW9bwR zwrvzC@m%HeGvgR)C7JT{qP>KMo99doZ$RVqM-jR<**8q`nPan+sFaqzXMJ3(nSUZ` z)xx3W4b-^zghFKm%Krv=cJF(~&f?y4J_X4e?0;_x33;2fS)alN9W zq4tFdxXQAjvNEvYqvN)j$nAWF3Dlz@p6dK+C8b5~Q}orK6VN8jeN*b%;I&ZCg&UEh z0FST*wk$}S23SU+%Eee=snTe!PXhRypTYel^TxM#AzTE<8go|@L`as0u6aqnBfr;u{HbzjD#Ssxn*1IBl{rE_Amd=7n*84X!+$c|OSg?Dqd(J# zcZLGP{jc1u@iv)X$_J!VL)0H<=830Gy;dwj;5Te_>g2LR?`;^&-yM=hAMy+7o|>SUK*G6yALKQl1jDQCdhWq#sKZ3iXo&klDNnUu8!SKU$D z(VdwLz}k%O8^y+uk6&=DSX8?AEuFl-7P<+~KW@ku^^#wZoJjM;mLy#4o2!Dpo4`v1 z^7DLZH$UkNh*~z?0#Z^MDxQ&Z|3P)I3)4}{QReKzV}yp5lbCj_AxJO$pguG#g%Z$T zN83fja0*BcL}=yDp5_ zms&NJZ$W%!9)IcB6s~W5EJGgJa(aF4sMqs`f5_&ps){5t(K5Q?m^ZwPt#bFw$E++} z0aj|hEgmL+fpep^qo5+tE{NL7f3S^M{X7^%GPfvg=3TrtOQZKm|3!q=yC#~{Lq{uG z%`g(}syM**+Z=Mqwc51YN|%f+EtU4)8@GMbl~;1W0^DL0s~gl7w!H@@ejr5PDD@^i zOwyzaTu4#dz-}IYZf4WFFtZ+kR+U=9 zg`4#WdaQ@b!L)>GJKZoiYgvy|N^hdFqHaWU)K;xCTH~tSN{hd6f-6fe$vzo7p$6Wy zyb?m86M@9FZg1C}alH468{8>$N98lS+Vl83_ZLhShb=eio?F0GhN;DTv&6N)uDs;pk4D8?b+`PH8Dm}D& z5fYRNh~|(&)ZgbDI3SOhORurJwwb!$3N@a^?gEl+6JE~M_9k@pyS_Tj4-GRd9G!r~O&Gg}ZGKmN9nc0> zWx`3G!*OwMK%eDr5l=VA3rqPP&H_P#{-=$IvdT>&8LX$!vfBnEw{c$9zp&DxFS z0tM-{^8xrM(u+ysA1|OEf#A}`6kr=n zSDLZ602X-89k?FRMWlB8k#U5sNSX!X(c6by#e)jxx}qVo;L8$I;8Je|B-9e9^2w8A zT>v+n0RUh3)YA-({_1OKXxuGhy2t%N=sb4fDVYfIM8*gJx6wH;HRQ85xHr>BmaKUo zeuu8MjN%;~KK_HgL>B0rP)Lnhv?wu@! z(0%r6sg>!sLq~$L@(D`#m7(6oY6=0LLNkOSCn{6|x?s zBv-IlHj|VBSm9z%9rw7O$3({nKILr52e%n_TedhG30YDaX=S0r7W+A#6C03v0ePhC zQo1ll3!HiFYSwtxat|ppRQa~aGgnQ7=zIo^s;66Cc4^3XwiFS%KG(-3bn{Y4!BWcF zVD2K^zm;p{B4010SW~7da_$Lb&F!2MK;n%Ml5i-JskW(OQk0#vp+7W$IHPvq4S_a% zX0G|+q~o;AP(>)EkXhL>R3h<}Ov)`}Y*A@jH-!H1NJ3C7WG=|D>9cETe(1txa`Q42 znOJHbKjrMX4G6y>WLEmD7hCggXI#rmj{CeHMwK3RapasH(g9&T^__AanrYttkzg2R z?ASxzsdq*Gk+8&z$iCCKUcszM2 zY6`ck?h?erJ`oIYkYW-K7{4o+XwU!NRV@gcn-F^!lPrgNsq;5y?>H!5-)s<%U|&4iTSa%OM`WO;Gri}@3tT{7 z1ORlzPCsyeg~EQu%Y>M&IFefb@e7hX8&ur4*h8zOLwo984ZI{U-kztxB~+P0@D}-i zrs@Tc#{zBzq9DIhw`0ji25&w>kk+ob(#5ScU>NF}uyJec5k?*n!NeC8Ng&0ux>VU` zm1{i0p5i;}vK7=FX4>xF+2=OUX=AIGXbwEJf4s|N;5$W$zQf^`kvH7hd3Y2m0~>Y1W5bbrWJxg$@Uvq%?GYu{jnd zX(epnfxFKxH&3Oov=esGaUEW2z2-50T(jc8L*9BAuiB2_%~A?tkmSI{cKs}AC$S5D z$|9Z#Z*c8F>L!#m7OLmd9(Ok>Eg4Ha>3KC&&$RWuE5T;G)~j@dYwDZiT$!TrO>c{_ z=&d>y2!X{hp+7u6ZH5+OdEUToSFXG@he-McBsvUvuRQXcOu%PoTQ#b(Z3XRXPAQh! z7=nJNtwIO~H)^S^a(%v)sm>G4gIk&OpJpSoKyZa4A;PRIFN!%JOFw}A%e2Z-Q0tXi z!laLCpTc&$(7b%U-1Fkv<_r>^se{nvJ!ND&aLBb3vOFIg0DpcbgmCP6Cdo-z6y7#H z?0=$3kw#zgc|I?UjzL#Ef{O~cf|oxwq>2wW2l;W!x=x(nbj6*`sYBgrkvQuXG)v1k zZ}xa^!pXe)@v^r0T6O)R%->DmAzuIIN_P&%KZ{DN{OArXCJg>Gj#>DQ^88EY$eyz} zax>j@g;~=;v$GbIE>KJ6*#aCYfLuDhpN9_XUanq9lQvhwnfz1p?xNNil-u!7U{fmF z@2#!QWq9IoUS@S4Qla-VJE}v6%em9HkDV}Epk=4XC3Kaxfr51N0?x^kW^^^zsEeG) z=0>K`wKkY|Pb7&6e-^3pW44jE5TA6TEQF(e0rET}o zlRjU!?=!VNXIfjHT1}XqOzwK=hq)^u_KejaDu|*0<24`F+d09a+-7$T(q5^1_PBJ` zfnN7K89#D4+O$_ERDb>=#shr;yuEh1ZZ?1CnoJ1V6`48Yv9jG5`zhkuEAd%{*cep9 z#*gzWlh4_LXQ@0?WY6U61hOeCt(8e_I7;MR#zaA9sRH}wGvQ!bbpSek$R#tSu#0dq z2!(26HOuDFTS7?&Ym9%+;o-I#J4zhA$jIP6GW1o3ls>UNVabr$TZ3#;5~AGjc%GVK zZll#fAfeL$dr?LE2HfERApV_=uGrUV z3)aAzb2PipAg6jZo^YvTKD^G|nUX(;D4sQR2BvkY+GE@Me#9WH-l217ATcD19S~To z0Eemp*U%O0R{Lb8hoe;xF%e0M63V#}C01WBYD)`#ul?mSJ3Jv-wj+G0Cw)xVYRY-k zIf9^*XKFYu?Ms$A@dH_Y7{bqzGGzy+D42eCZXXSBl5XS4x+RimowVw{`SdqlUKw1U zGVN0OKCrV4T$;Q9Jnl`CBxN^V)XC=q$o468_oW0rN8&FMqj*iIR>jmEqf1jUr0|i3P4e)Bs6Hc)`?sny*<-Eu=T=|5)FL2{-z#&B8 za@UpYL9R2fy2CV24fQm9G$)XA4y&c_pW4=_#rwiBwtAp`&Aqm4kQCOHVs7n?t*W}E zZ{G3=gKAqD9#oY16flaiFsDO3AhFz1tDpm^ZV4-3B5ygj@li9h8M8w;{DF;lnx-q% zo@1J|CZR!0K`x|X_!$Ow(789nb;+Hf73bRUv@31{FXsJc&p09r{p`7VcdB&RV8svu zJyk*$4G(UH_Ct`5wkPSMl{ejwd}q0dwc)A3r-vE>ZWRl80ta0_WpqZxPF zT8L6;EX3D1^DfZvQK$!+YC~~rJgR+6kt`uhe#M5-mtDHx}Hb+<+j>IC|)PbWSi5Eol z=5U*zC~b@CXW_48~vQTfeozP<^fZbEZb(gS*lc*SPPmVh@(y%}bZ3|#vJlVU;6w|jc#Tu~v?U@W-sWRJ=8cZdT2YawbFatU z=I?~4(tA#Bi)YGFj}PvxQM-%Kmll6=H&0o*6SW?y90M9XEXc@4Slpz1@P(0{;RUPy zt|~Buu!Gxvy)t16Ad(K71@G60H>?$6jG>lIY0>X5y}R(@65q>n+80%sK9m*Gv*eCM zz5@1NxI$*vo-50}b5c3!j>cmR%}V?3cNbs8Sx0x|*+=qex}LgRc5fR>9=)3qoDHXtRy zY_%W~#$dY%k1%h)?e3TuA)w9xUtEDegZIqy!FXfhKtIgwkd4#|R3;n)@vE!j?sWXKRv`!? z(~&XTY}()k;lQ#UwJkrZ9D207$Jh+s+U!)vxw3)N26vh=b9-sawy|5InY~)O8KYYH zBuqb}0YGvJ4#d3D4E7GoQaft$$Wg0=mB3AFP}?hJmDq!IjP3D(a(#p^X^r@uz(rEq zr3CI!f^Cm8%1HfdO-rSIW9krS%)&PL%p44%K=oCvqt z?N~Qwz=Cxmo@xNAU^F_vX4Z`8z_v|VjTw#DZVJYpU~@!S1(1CeoXvDw5)>NX%`*Y; zF8+CW8|krPb5H(#DepcEZw@@H znct8h4}WUN_kis!uNKQ&UM9i3v4_F4^?|1T2pAp}21ECIfVRx8E^9!==O)qeR@He<=ETOibEf+3)>0mK?IYYnEG`@;kpzvtM}algkJ zQ%^7sGy%yg=TU`Xr;PYa{C@H<%zK-Wywc{Iid`+2zJPt75$2|Glw`|z7#uI{8M$V~ zV+~Yr1cP>{!8^Tr1XwDRF;x#F~y3^(&Dyl;%?M5Z?w8E z<4`BQf28uoJbk`8U_82Gwy?eww`Hh&=@CVt%+*I7fqig41?xyADu%L;CkKc3bm_C< z3z`=WWqH{vEzsQ1)6`9b*)xP(D44Jg#9`NaNw*14kAXucYtAsFLrs&t$mi9g@=f7b zh}8FdgZHb#46q(tvP4u2T}~M-gi63Ji-YL`?P(yOy|1gCLhC@R8`x=aX?r!|K(v<* zXVsquiCY5N<2#7Mm(4H-5XC0!)E?X?RaNZ~5wcmzA{#l@+-GT3KW~vp#r~df=;2sy zKOxk6U^CEeJX;r-susL5@o;3GxJgHL}Ui z!f%pDczG~xA48nk1itXYdV?{LoaX&*OU2L_q64P`pBZ$?B;?bBifQ>?g7*g#HFPG} zu`rO>fEK52{QkIFb0db`tL3VGR{_}fBKit)5rUVYE)Nz!`jA$LlW5{G`7u4fqj>;v z9#-FnpY4T5^rjJ7KOFG&)~@uzY8Qwfms)RI4~q>}J?TpHUYtIRT4SyL0{7;3bYrAU z2)$eL_yODDEP;kUPtV%-)~6VSgySg&YC7pQku2wT$d%p57}=KhPLl6kpSQ;dkKNtp zEZnqOC4|9_Vqiz#w+TPC3GeAEJHdAOU2QO}I1+LI`jKZ-$>KUxYbM~TIK28fv9EN~BXZhEN;G^Ka z87MEK;?Ixf4U%1(^&lO3fRWu`d^fCop8#3vB_e}BH1?7vA#UlU$Ne|cf_C=02KQ?F zZRwwAj8h_e>fpDsY)pn~p0qbnP4UWqK;|IuTZR{FhCJ{6;k%ow!zk2aOV2uTt|$bl zESRwe6%NCSqOm5nr0X5ZR=6oRaXA6slYmcuRGZ5En)2y&hMtp(7pV{Z=HmQ8v#Xo% z-EJNnrlL6zJ09T=R(IPb$Qu4}$YM((1Ab4EvR7%PL5 z=(6{_s?CP3%-v=XIzL*rCi0&{i~r!DW<$iYe%IAYC-lMrkH1UqVl9Z4gOyFi-`Zymw{ z?5FEDpXLjJZAFn|Fs0XlZ@l&li5ZlWs!3k;;Gf1fJZO06qS5sLOeh7vBo;4erV`Rp zXF;TyrP;xt-8qls1&^~Ar(74+UKDOYi8vBN2Ht#Idn$dNs_1J9Pcg@hHi@m zS@x{#7GXDxwlN7@58g*tC_RJF5U^gD;7Sl-3<^2)evW$vmU|5as$$U)5Mc;nwOjEF z!Uout2@CEF5VJ12OFAH7aiXw2Q4&!Iye9;!4{<*vSw03gO@PjAhz8wYu^IA+>h-I^ zJ&y0Ljelxw8e7ZjpdzUZv0|dq@48`I_T`r$3hlCT8hrWbKsD2O;=L9lRe9^h$Oe1V z#{1cH(BzG|BrGyomWlP?L~!Wwb}(!kD!z_`k#OKKxfaPUc-n&b>evRt=?V92` zG)pqvNfQyvY0+{ar*cIsZB^XDwZvRXOc8R$1y@v5R8&+{)ZT|?&hK}Q&il{%_uGGc zkT1{oe(w9auj{%WzMPg)!o#ONoh)C`EJ)wEy8IYxIkg)45^E{`L?4x^tgb!ovji`X zN-4W6=VZ^<{U@*`;g9w()ThA8gk0G+?Zao?dx(dgbZxC!4v`6$N_X*Yj6A8N=6( z)=lqfnr-~_WmfpobJ_DxgvaUWZJSn?<3E|>*E(k3=H^b#i(&H(mOYlsOHFw?(oZhW zu$K0UbF#efPmMGQO_r{MDG!-x%3JNqTYaAXX$dsyh7{Dwq2_43fQ#`s!!?sGqBY`n=Qh{In=@#xB*{uf3a1*IXM_2RSR2(ZowM z%jxm#yl~~W1)Xj~i|^TnZ&!5gee^IN8fT#=dq|6l-XZ$|lJ;Xha={it*6Is%m*=mp z!nS{+ThZ#?c0|-=Z;gI4FS8#yck{!4{u}hk8e^Tb61_XB{BC}!vlI(nMDG8DS{}_* zSrfmin2GgU8Od84&s%G@f4kiFshs+06~Je})$*IKEJOMaRwp?>kzyPo@YXGolXHxU zNF$1N)5xA{$-NcY^=4BMaYpQ)E}Xi3&g_z&4I%loWTC~XE0{v()Ll_kcP};))Tss- zw&v6kPVN|UO5$aDB0XSb%%oR4nT6E|uA|Q<&vsD*PneL$HNg7mWBm?c{q(T4OAz+p zB`xO|YvKt(KrVR-->uluV7%guP;X1x8KAj^gSO;K9GOo|QxE>~7p7kS3xgv>1h|JX%?Z*(~KyYtT!E{&Q3E#xnHd-0yn= zpJqfG#{~G23NQCZ(Kjbp3v_$IWeQZrJEIbR3vs`AP4@LQg>6)8=NFmG!-twFZp9@$ zl9Gw;oL%=|SDK_RK9O9NxvrwOhpCPq^bu0vMf?Wd+-3?XHu3J!UMt~|; z!&pCN$<9}(Nh~|t^y)U@+7|z?Eu5v-C-Dv37jE>Kvb=)tr}eaO2ghd?V?TOD?48wi z(UWX&<6808(^?UmI1hdt)xz^${-Zq;&rr_Kj6Uo3Sw<0!^4^MTWj69H@)B5Qli zE79eg7y&ISj^z74YtHyp<}eUOXV<{fX?m`@15!?e&=`@K*QS z#2ei66p!9OXR}PM-|^*I^WXiNV?2D$v5@uaR~yo+d{$=&=K4_b+HSjc6Ke0!!@3kb z)3~?!Djs!J1DpRCKt&dR+Z3&S+V-^dj`>Z|93_tKqS^?tH7Y5>{H|&(`Og*460SS5 zOEq^(`6DF6O?%vh*Q#+v)Nbp?3kB6nkZjG=oTd`=yKT?w>8d^#A;#0+7FkmO`}9jm z@JmvN3#bJj=Qt&Nv;c?*D&J1Ksn~OC;{V}E|H-23$cm2+5*I|3@h3W+OU-XWH|9ae%D((%Lm8d>2Sth8|$ zh1~_n5_?nLyW<{7`j!N1v41Ol(!Jkk*L*^$kghNMHSfR3>F1!cEUqX1gEaA=@owqY zTej=~Cjm6622?n{eBUJlJgYT~Yw5&kq)RqxkACqmKnCgb7wW;SxMh z*+&J|t0u}^wwap+&pIvpD?!}sadTJndj*b-+JQQggUDJF;m5-xk{3tV*Jkv%=S1=9 z&PVQJeI0!c)|7s4aldf};X(Dl#??7S@-y@=eM9Ov)zaW+dpa6NCD5u$x!LA@&z;uC zUMTu;;qZ0Wm!rDd!JCf&R5*1*yU7EBZfpv~dMKN5VR8J>=`a5QAL-xxZN~f_w93fb z;0shrB*9wSFmJ%T9;O7Ku{cs+M^i$4dL&k#?V26gM?#oqnU9L!BO%qbP?@Z*iTa@MavX-Tzk+e*2aU53tl zhOW_;L(xt2lLqVC(k8f}Y>&>obrO6cAQz6)_kS0quw^@%15KM*d9O7GG_h!*-iSm= zwChZsc%7ffTf!fq84X3T6{64Ie4GeRw;u-^j4e+WmgbIsZajO-%`-tWfHYhlxd-jC zhJp;JNg7_Pp0L}_M~fr|8M}Sb=T{0m$_sb0Si+ft~3keNR&!8vxOC&X+ru! zg9uH`vtN(Z*R?f*9!alT)-z}X3w55YvQj+hdH{VSnNvE^z`36IYaQIl0JG<4Vq=3D z&4aYqS@}w{mY9~u+=9@RRKC&(h*>KC4XstPQtgPG5@m6uJ*~`0Y5s?ZHqD)`PsTu{ z6E{n=TGbfktj9V{^j&1Hn;5G(=dXg#7D{XwP^u9pM`!+IOsMacLwzgWl+5C-J}MqG z$&2(Qy}stu#+~1*mK#cCZ2008bGC^5%~!TOUS@*M-vNf zST)uA_E;ssSA*v`1#i`cv%G6x@y(q1C1Bf>jm8yNpXqlPMR8(0=I){9IYVxyO<}Zk z+^7*)gW3H|3UuMZ#3&UT>i%hKHcbI`k_(rDj6+XJscpsO&u$s{0yiYLt>$$k8uk&k zW0mOX`2xK@hgk!a&myl}z0*lo6V6<2G#`oz)*G^oF`P5R!LOY&rVII@Ghcql2q;F> zBGJO)YsHEZ7_k);w~OWZZ616fXylp)zxC+ylU*yUyrba_xi!AY!3y$dw@3lyM&wE!k?;oojPoz8^se^}VO3K=bow^<} zWt`U*R~iq;6`k8H{b4;y_Y*CCCEw#-Id`bpNNsqhl2#nG`+IK_58FobY3*26!@p{! zoC5U0xQRs99Rw)65cE|C5h2^BvuJszJ4{Oip8mq{6aA;WT51p!t)@e2@bfn#qIEq` zd9BZ8ux2+{Qu@;74t97BghFU6bKQ3N-ByLGP)r4JyQIH7!KB~DaLQ|**cf$aeCPi4 z`!BijXn7B|$vOohZ(<8C_n>18{ng-+?E?B8Gq?D-GCN<{Z1jr+Uju-_#ytG16!_3X z4KF7R0dQIqTqCinM=}d&^?H`F;st}vzIP&?e6FpXF($T{sz-OgBBe!+IET55+L%Mu zEBo@}VaaN^Aw+c&8ucwyU;b*^%Oc%F)lRE1+=UsX;s2Nc|7mgv14U1rq0EY{H&Oxf zMDT2B?)|UosN9?d4bE4G?mnxE&Wd{bl^uKsc9$?1lbflnp&JUI1<`EeSEk>dbA0y= zh*8SsI1kY6OO_xi1M)gLA(#O$12~smbLB8Vn4|c}w_HEWAensIwKIodw?&)jsL=dRmM$RTc$dsvQpgE5( z#t=rfQo)y>=UQmA#!|9=aS%ydN$e~3EhKC`=Kcdvpp4C;yMKA zppOUZKa=?XCYGUqrcIE{xw0`O|2c?#jP{!6XMxbN^zP(p+EM4)YBSS;xIq3TDUH2Gem;Lo z+~|CzDhYAr?)ogQi*Qs7RawjodxE1Uq7jDR_sbe=3G7)2uAKKpv~D_du;l#1rTAJ8 zkTf?tI}7f~E+Gs#njZW>XEveY)zv;2hg&AP%jl(-iuRqYbej3%3sd~Rt&X03&8k_N zh93O>KDrgyYB#Nv6h3Oh6pL zUHNmGymxBVc7}Uu`Ze%W)x3ODu;JbH61@#&SQnxB*9}NDE?Ze#eL!OKMu8#}R*YZ- z2$dL*)|xPblJJ#Sy_UdUkx8%JlW6~1Gby2R?_s|r{fRQWtC$GEC?VIV+mODsq4XrB z;s?$`4|^P0j@}jO9c-7J&a#*?8t1SkUWCU<9iS8y9r6ck> ziYcTC)qkTha#Om)nVL<>p-Dnp=xouK(dSjt{Fg1{G)3HJD$!Lb0M;RX zizKJqw4`k#YzRei*vR8bDvq!KXAQK|F>n#bbm!ftEg8bq3@AIOw8hmLLkz1r)@KUYg@V_O564ckoo z4sF=-s#j>cd;SYS6yb0!G1_mST~tQ*JX8;?oG>>vA7WgAp3cC@hHWIE}0;q5>PcwnAvj$E~snKj5zxo}o^ zzdUDW`i7`q*af z?wGqbrOZoh8-(&b92;F8;F1FRGwU>j!DDuUZ2OWch#gvS;fDxy&{IIA$UAy`UDxHQ zAX}d#eF@YVShR6?gFvqDV_Xc%y3bne6_7&YL=UnnvTb5Lj710VsA>~^|n zxIgoAnm>&*zU^LhqSaBm$&>JIBV;-$#~}J~T~QJTJD}4vx5RnuGd+DWGOwvi9089C z$Ef%&X z{QNYDa;>947a(H~2|?v@M(2wbw*p835&#;|^x!jy?-Z?hdv7M=?S-W(d9 z|HFde2!l_s>#m0LF0Vq|p$I%&+;}l3aKqZJ%Vl++D0=bh+LU-i^OrzRP-}M7Xh@0j zcn>s)AC4V#YWJTK{(kHNq~rJn9}}rL;5mBuASv_Ku_nP|NdUkc&R>|LDF*59`_IS( zsL<0*KHJV~63!g&ZuV}Q)jYs(0LFK^YKR&%t^i~MSX^@Z|ChzphC$jO0(k9AqA(1Z zHN0lmYpyegdesYV_jk|zQlzbqhMIVDj0Xj$FO>I`1$j@gos7N$X&C>Sr8V?0$t%VK z)qqq79i@7*#)SG7w0mb0f2+5a(?8f~EGK7=JY&3v+5NNj06%I=7bb?o6R8@kuUWwr zx0YkC-wf5$Pwogn#w=l!Ax&`<#NC*HDH*tYRuh=ypdDJ($AF6v*i%nbHjdI%1b#(R zL(*_@7M0g){3hJZc8IK7ajOv!if+LsQm{>tK{L_&iKl*`9A6Ipv|~m;W=2oya+czT zX~0RTc`$u59pV-O)!vw1!dF`cfzW6BJ0tMcgW_|peEqZQN)>n};veVTEnBRqEN~R% z7f#Rv1xY+9S-{69G5EZXXqVI7<1=J^*J4uu-`=(H(4QjBqg7c+Tu_Fr{7W;P(EqIN zD7hi#XTK*e-RNG!o?n{jz<`k{gUHQu+gL|cUUe8{EL1~6m0?Ei$?A}`owMNZ0qnlB zikfF;F+eJqver9Q{m}2$JFWK=pnsKZw4uc=0Rz4qHndbrq>1#nW)tpOVdwH~V|gXx z5DsEiZ^7)(oc_H8UldL;9MR9a6s9t+&m233Ix-5pr)h>J0JY#>YMqHE)W;%Xt=a?Q z$lE;-V5jG8wB9E2LTI9RZ6~WpiE4=aX`7 z^VhEUfZ#QutZU7NWz{@dHGMB5 z^Fct4?4DqgW!i>)3RK}2f)0VBMT!obG^f|Ro;Uc@6;dJ17HCmp+~QV-4}xPN#B5WJ zC%Q$^6d+*1ETvjKaT}l4;+vc}si3SXoHp^-c`R^fgn`e>?{n%Q`wcj9U9Va;j9h&K z%n($l&5=HWqw9dfjj;WJD#C>bhen44Qm(xutR<8wECZZkUR6c}17o27^IGF;4KZQA z)WY*FIiwGhIQ0vv8~ml=&pjg!o7~o7RnB_#`n^$H`Oe8#G5DDn?vNuT07>Htiz+;Q z9-uY2Us%d50T51<+}Wragjaq8Q%=F~jXgle$i!WcAWeT`905JHOEH294V(t^PsmJ6 zLA#J?o+=06 z|ox(+*MPXb3%ZKa2Cv`6mH#5lf&5!_vHxMZ>BpY&5k>An${7dvZs2b5f$B zLq?1J5zvO!GFXn;-=K5;*wMA8w>o1~fh#{k<@VH6K{M2YK0_#N3?am${A!Ozb~OJk z@16yE;s9ES);8YtE*3;QZ_D(m1-L9sQJp+f?6Px;yv0&eV}V4tfU2pqE{Kese&#bKtzI=j6PV9_ zW85aNP1$yKVBFZJ^pBA*xSQ8K? z;sTW|H3UF@0v-{XG*g`a7R*;~T`Uc7C|A#qFD?31b>c>RqvMFZQnypG%uTsk7 zA`^7};(RsV-d&Lftx=FX_ECfLtqQ*T15e9$4^jo_CaLRP>1mLarfO`hxN^@ zEOkOmd?))Rt<{tfvR|=dcrRVPhkU9O>{Iur8h1v<-!Aw$t`o$|@rHH*PoW1~M!tc& z=QTXH@rvyxL8l`9lnT;{WN)h@Hm^{{Ccaj<9MSJFn2ZUq)~_)go&1# zn7m6FL?&u(QDdGM3k>7p$R1-`Y|%*B=uu#8p$jrP8R9B>CL|vxv|HBwOg_I28o4nk{cbj{9^clsB5(}n6 z!~G@iUX*}r0E!a@%hnVCsL+q)S(|vs*`%CX8@Q-=JPa$&gUjk7=aV}h(*BHcr#2aC z)M5v35Af9~Y>Np1jz;_7b$eZWRv8b_#|D3ach&u(EOPqT%Toy(@hRWjQ1Y=)0@J!)X+y_W%9q0h|_s< zRw<4#GN6Qj1@?oT5u>?~E<_AM^~Ud9sSKN2r3q6Ab49>#!MudVx)+CtcM=zw8N`kt zolcM1)jL@m1ogP`#LRVUa?|JJlw&%Wm7WodeyWNv&w1uiV?zX3&Gyr3ST2;yt z+A?=C!ZFh~3oxjbmQ=^k4zaS=R!_+EL1c0*!TIu>Zr4Q{xS`Htpjjw^bYc0ct54AB z6pV9eN6X{-b z;fWuoGKGlrwoGjioTaHtuReMs3jTsor!8z!68IRIp6OE}E;Vw`D-*31^aoF>gr?5a zDNZDJw$Tzef{G(hL~W1(1!Ru>o#g$%2jYR_Q(Kr6WDbwe2p=&_7^Z;(3kd^APRQHE z3EG*BP+%6RkZJJcVRCe||6e*_C&&2Xx${r%7|K?ZD5YB)=K2p9ftkq&8PcYD8-F;? zej6@!7>pAd=lriF=`7`=U~jrwnypJ&VLr8n?F~?XP3H#b`$eh49qN`I4?LKkX`7)Q zRsFMY&7qCm8QFS&!@#&u8{~p`{zBNhzqsZb&moj2l^57pmTpvkF_fKq=~3*UQY}(` zh?)abrRey5ud0AKk|D1i7wW|Doq_6ba5($r!?D6JA9b-&E_(L3sNnK;SGAJB(gkm2 zV@G;mJO^m28{AA#6gm2|x4J3-WmVolbV-dwGsmd)6V=m=5lqO`LBiov@6H*v`}?Nv zxNKExrbtN&_;^88d*o5v`J3mKA02&1y}Uim+IbWWY&KF_TXBfz*}f=DxCFR`_QoFr zsgnXtm074xWeJC~jE3jwymZ_JgkbK@Nd=?a_vnzD?r{__3Qui27Z)U#x&SMqH>>;# z4tDa!)z^#i>)K{r5#!Mjv_pdjlX(8fKaNFTs@U5Hi({uWai|vK?s^SK`_IW(>f5Rf ziwnvL!(TI#)pX)pO#1O-2R`}EHA*R@)lMg(w*78Z{yPSlO!Byc1zJF^#3 zTRvQzPx+i8`fB1$dUwycwl;KN2qDil$W+=h1rm~PFPyugij`9t@?{tF(hpn62D81- zCdZ^Bt7|SLfz&F==b3ErunDjVV{7h?L}b6qSsj3&QP=&_T*tV^s`gb540N0(s!MUO z-~{g>tl&0*nr4*FZMCHUyyNaHlhFdMX1(z~dyV&U{kerraDRxR4OZ#GvYPq;WY)$^ypcoZ2ylFJC~fYV3}ZdSto15P-mPe@=%JTYRac5ksMYh$`W0)zE%R=+9NvE zHv!`W`<{6yJNa1Lr3x!xXydJEoy`-sa3pJOk2XY$X5=mWPd-M~hs&EAQZT(;Z+VHc zXcS#+^2YRg0TdXFw+XQOq91hLA4Zni4M_@(k%-hLfiBHRJ}7UgRw}uLcgbEPS?{=- zJKDbHUHrG?biV3sbGjF>D~a2Awj2$tslWVK5i_aLZ{8CLstimYIPRtTSc;pef)=c@ zXv7HHn8~msrM?CbB295kZfQO{a~zz%@Z5jdN+U+A;OS zEm41*j(gxiHsM~W?Hpv}9*-$1WJ0F3Gm*)CFiRnZL~~}WZ;BdM`|m|cYmICc>I?M` zRg;qBatW$$XvNrEM$r@&yD>``-mwc{HT!i|uQOSI zot*@fkuU%L%l^Qg23*M8o>^LD7(Z(uoKv9kd3$lu!o0d=WHmH~q?dQ;BP_$3lCdFG z`u|XlDc|$r67YNzxy-7}6LQ8qcRBAQ7Oc(f`u{=f?5WD?mjK94Vk zXZsKv@5Tv68$4g_Z*a!dhu$u$-xe|OIQDi9=^Vf`RX(2ay1L+5B0B7LW8i}7WA%6= z4)8(blD^AW&RiVdmQ34j7m+cYHPROe>$2rX<%zM%c6Eh^YYF?S<>=m1-^hrHHf*<% zUyg}P79zU1AJ_PC+= z1#p#uHfF$8^m3Gh;hf^AO^ymX+a zGjB~uD&gCm;0X|ZMf$W7IegIO{ViufBZkeqD1+f_DeDu1QWKF0SwxR`b^$CyvL#?+ z)3tfF5O==%jB|dk_ejY|Mc-xTu(cNzs+-OG9aZo)S1MGBEDuh*3g9}`(ynX(BF-*1 zNpiDFxG?b8<^ug8x@)UoEeFA^pH=06#P$Y*9ew@K1Bk*VT7TT##16>|e3Q$1s#dFQ z)^Lnz@mmm=CU4Q3J+=#j!*X#FOrKJpXn?^;ko#Y9mfkswb7-0;)y{_!e=!hGwulU7 zgkc|h@p<*sKWhcFC+9Nq@&0c#@xw?Tim(joGzI2MQf{m1vESjy^7><}ru5`8=qy2e z^_|J3XX|5PqR5#wJdIB7%;U8TW|#6l6Mkf`_wQRkZjr)HG=#`CeD>}Q&Gg|5pKTp~g`HXdp z74R%l_Hez8vqv%aeMEAiB9jK79lG0tno4m2z2f6uyFz+0;5Gm>UdqiD=dj%e1Eom8 z)Y&Da_W9ZIa3=g;*EovHNNE97s6qlF_*_;no0OI{wPm?#i0!aM`4-uxKj~8yhb@s{5a&9YtXrDLU z;i86`~UGN5f{_ zEZBpMp+7WGIT3y1XY4bt0HCt;O{9Uoy#(@0ghix~4lJZtIk^Y6Cc}PiK$F5LZ! z74ya`ZQ>7=S<(dP?Jb4CnNP}V^ab;7YMx^Q5gavnSZ>Y}9SAzNV@yf#o>y%q+__y8 z&s}(owcTJr`Tq;V9ddR#G(}AufK9cR6O4wk^ag%{{2F16I73bXD{QxyuhtDre^is6 zf7H(Hg*m0bbDG#6{y}jGxsb~l9n(csvyW3`U3j2#K>G!!L&T3I5;b#Z6pnVjAH=76{Y zjl4SHYS-2igkUcufv1QnmJQul!I11n=8W}07w)2S%w%;*e#6O!1R5ZJK-$mJ*eCO9Ov6oZWO?$&U&6lvrGWZ+C6&g4Wp_}Gj?6mxFQj%#t z>RfP@X4kiWMZWD*u4!#8U?7wJJ`8Ke4GccxZy=;eig=-@EOdTCyT5bO+ChR8Eb@#c zyLiEp`h(TRZP!#Rt~mK(4wnLecqje&Oqd;xN_JusP}M}AvwrWLR>3g=iGs8sOG36~ z3h9@^qg-br!nsVe=X@c^cbrk5>2Equi*`LRwP=oU)6W?wURgUB`iW#scq_>5Y9^Ul zC$9&(!2V_Jj@jQHH>Y|5sN$Zl@OyGrStU+@#nKVzkN9UWk`YaUiC)T5=2@TT3~ z@-(vup|4|rN`;O27e93_8ACAiJXxzt-dp9yXXJ0QF0=Vfb2db z&+aISp~ScvdBjOp_W2Uh>ns~lyY@BT(Qj5!;MB~@3*}`y`V?=x@1_)U$Xg5bv7870 z{Mmk>E{(9M){r;g*>Qr;SkQnK-$kup+8z_mQcxSu`&XU`aGSez>>OyCpYK!LT-0O0 zgjs3vaTV$z?Fy&bx1GAEjAxX;#vbw5aaCVMMxte!XFqRPlrwxu5&1eq)CNN`lWCL% zjn9$EKvwOwGybT{nR_IS3h@!b2enMjtlQLxwuorU(KjmRM-UHbv}f;2*r&DL-5ZVzl;(`p$v?fj7 zk)@UurSmT0q6$fFP+Yf%W#j+-s@$K|(?4eJKc%h!m7Ocn?}3!258&Ux5bfEN@jD~M z^5Y0QdyO4>Rr+B8Tt}G96#L7`?cE;>rO^@bM5Iq`NhwI*17ujr&lK{Lc;C}hztncj zpPH1pQrF33zTXIy>YRd{zI2-v8Z`7$oZMzbmY287Ez|9GSIGUIgT0d5 zTz?-G5s8NT&y7jn9bg>LdgE0*>fd4wb7C~z=osJ34X|n;+g5<&t}t9r4~8mjl_!>d za=&0_-Q8U1FZp3`L4Jvp9GuVmF5iRZHTCp9(h5C6mJxQL@5MFKi7v>H6u}*((@+9u z{#JSQ+R(UlfJ8Mxfi*dnOwaQdw8RO6)Hnl|BQ>JRyV1lN4<&t zXAH}oaBine080+y{>meDesg5^)+sWriHIbFAgY#U#ak8lNUOHKT%Yu*(*3u?iEtR0n^wpF%e4YYr%9Y zd{Px^rggU9R+QA|sS1o;k6)iY5uN(4lrsa5#u{n;mY(P(<$1h(#~8{b(onaslfN2mgh(6)=IkY5ZHj;e9!OD1p9X2@o`Q+U9MgEcl zgSy@TO3)7Y5g_4;on-WhWoAZ1xK%VwZwhJ9o&C;LQX}id?MmadaA$KWkkj#+P$&M$ z9Ebpx+pMzv{6$EiBOm`uapXn;T4@5$=QTve!*}{TOCHFeZDnxxS3~Jfdv=sKf=|lx zPLEVBFjaYdnNPw5^_{)isIo*#_ql?x?rXUa7H#pZPMVMD>FnpMb0IAq^$QL=m!vtX zOIHfko6>a=&jpq3i96cXXom#2(ih)XPuxdnaThAnTFn&}>y_F$qvW@F2XS-ANFHzP zOEgM`O9@0h}K3wn4+jl!BLj+*Q^HU|FK&sR(gK64Qk&~nZg<}|lx_9|U`Zhf*{ z*A9sTo^Zzb3pUoNUJD}&G@SI;BaCW$lV^gq?!=C%!2pl$j;lk?} zhKimb?@mqQ!?b^-^ad4hgl$U|ekaIxkR?=m=K9S*xGEl+`OQ6;dl_q;=#_hiVd1xc z2;+Ie99T;yRix-8RahqZSpjRVGQ8ChEwr0Q_NbvmX~Pry>q8GBeBbqIkA8!mAH~0C z3X2w0H=2H>!5~6LAVOKy{p!Vr=qZg{yx*U|soZiK!f26q-j)vi|?%$50g zCi4+E0>b6a%-a%HQEyr)^Y1I;g|uX3^BHho$X?$#!exJ$-NMZTfwvA<;{%u3SJ(OE z;RZz>W9C1V_zgoAJ9n;7*gR3Bf@-NpTvEk_e(a7$bEYPd?=9OEmovFYi?>}R&vOss z4PtvPJak<1q>jzNeig&F!FFy81-CN-iS=Z&vlh-?5w><9&vg1(3B@(zVSV;F6dD$Z zc9eEtzt$$Mb#_9@=X|W~n>u1`o6Z@B-H#oYjt|2#ml9x|Dtl9F- zZrBB#KIfMp67ZVBk(UU5y1?91sxi5%340^KuOeRJk3HB&!r*lV)|VkT=kDJJ))~y^ z>>7KsC8x|RP&t@fOu@~~5+<4~YWA=Fi}`~YtH`_4qfmN$HJ*{VEAYzOOSM~rr&et^ z`*Su1l&VaXy?@`nY9m9>L7ikVaqSYa;cIoNorEx9i)<*IdWoD)7lam18G)Za>h+~H zAw5Y>rsM3j9LEjcHUtc*-%N2KO!F{Iq>aoZ#f+~$XB72uqsIvos*`Ul7QVyop^8$9 zCt%$cU8Y$jyS$%8`mu9X5eMrjG@Z$RZIs2+4|ba^?_;$u!B#VonW20Y2D$z1Q+1jB zVA;Y;>P5!L%Zl&JctJirxZ-Qi{GPFV^E*-32va63Zclc_f@Cr%Ed{#a1W{0b7xwr> zP(>#kMus7S6&n`@rnXxMlY9C*O?HYEE1yUT+GXgBw9$9`7WiBXP<1N!;vk^Te)_ z(2AZQ?$Xohr@5;y$dn|~JNEdgun){^+=KN;lfd^(9_%h1I`Ic|0d@Wvc@5n-+2ahZ za5eWBk*Q~vc4(~1mZW3C^R0#A#6*T=0(dY{W6HjDIe1;$O%c)%9S7wSTPHF{W`(?Z zgR-lllen7s{I^bIFP%94r@GFtOd4LN_e|N}Bpm{x$eI6gq>da%bzS-=_(_`Kn8?d> zvjd!7{Pf@`OdI)$(D2R4qGWDAI`Hej# zu>U38|E0Pq2=@GvYd6tJh_J|2|Bl>{*OZAjYcZid{xtUQy&D33Pk}dHX;MxvyA509 z3bnXH+>in%1L$}=Hrt*Tl8Z;2S-qd|+yBypKc9yZ*sq1HcM&AB#dstSBdtC}n5%Z@ z*W#rUU0g+$P6Ipuvr+qkuUv~OJ%}@blfv=^NzbQN1DCOj)hmkA8s#JW2#j)htVPW!~(_8@~cpY$@{;-Kz z+3~3*>?95Kj4}1;-#*kAk<+nTev^63%^J~?_3RJ)O-Q({5v;|-qeir)abE*wUB@RV zae{_gkcdCsxx8_j0kEk#g0=SLXhHg?KhjrkFz1^GBlf-7bh@$oc`)(~`J>i9|K>B^ zm`%5077<0F&f#Od=2oByns37;8QwIJt*?jtNaC^foM#qZVjwSGD_5FMDQre@| z3-%wCwFj?b>RNps+6UzY+m7$6I&{QWD}(EHpB!l-BEZ>B+t+KxN2Avuw(VGnntvtuNBD~m`^F@{uvIsr+C2qI`zB^#XrWF|N7ej!4|d-3 ztakGBSxZOP#0@Cc?*)IPZg*NF(XP;9R%#SabefDph`~B#hc@1rzpWy8o>#^KRyq>; z?|`0ku7`Qr)Kk`+*BE^RJVi(>9;u%dN>@HizDQI#Jq0B{P=6wuwhi|-FI>L}?#E5c zn9$og%OL*Efuagh&fWcPJ&@-Q6)DAl=|Vm zo!d%q1rpM;7k1Lp8j8}=)Ee$C)^?6oNJt9Nsp)7s+KR*jyQ$Bm@Rg{MwWM6a&R=yC zKiYpwNB>AFnuex)F-i8xLf8l94M9KyqvGInrZX488F}}Hr3||27cr}Yp@H?U(?!o7vg03|{MtYM z6pMXZU>z-GVPz3{)2=AS`m})t&Q{r7}6)*1_5)BHbIx7_Y3fPLy2dKtv&=XmUpqxI z3+Um6+kvB_1|pW+7f(S=)Hg(y{ZX%$&4)zX+_yiYvU9vvD0sAWih?1%{JO2<)*@;- z?Wu=FoM2-77 z1SQS$HJ0V$AbA&Uj@y!Q3{*#I}I7viywP>u=%BVc(qd5*CLTF*XZi##_yuuIiS4!Nu+?100u-BmY&AQiZk1Uo=7}x ze1a3lPO)=H69089-`-}G>M{&o;GG=}K_Xkli0{L>47KoxTt6mMl4}BHjZobrSKJ4Q zNC$NguK6j*!Ux3(UgN_o(n5}R-eYdyiOZSC)IT;L^TroWp!k}Jgee@)YXM!&u0htH7uo7;r-CF!R!rw?S$e_1~thj&eGGj2jP=JS@(|2lC?IO|cj30UI9gwx3qSzWIF-5B z*5Oa`pQnTqzQr=Y;R~&Ki?)b$5zgp}l8s{XRdy1iHdNTv$upcdAE)c_WAv~@T+&{N zCcMXe&+FyLaryhmFr;Xc4CtRIN^{{oqLs9!!%T87Mg}A}N**McCVd-J+!mRRSe2rr z79DihCiqaGqw{!9dTg@3oa`VJLiCo-ZCS&Iq-RL0&Nb1MS|y%^|M!ym!GC&}jBi}Km;xm}5zA1~N2=Z1Lv z3JhciJvU7_{z7&#b47UjXgw;JVG_Lq#UTuhCN@!JkY0r;1^*Ss3Pu#V&5!kc#x6Si zXq7_2DZ-<%=jMEFL~bwL=-fC?Q0il@-Y=@tCN(L}({pI?M614{PW?Ea0WwbLpkV5OB5!xZ+HUMyG| zv&=isIg~^gvKm6PWS67`rQ4PLimIy}iw|o>Bs1znOxu_E!y%yoqxmEelPV)M$) zGA`K?g%T}r$S^~yi7taK_Z*UL%fXvD`?+tG{5m&tFYGVur|kXgmFK)GbMymB)wKAv zakO?T)5~3S#Y^trhjPY}JbH$0L1RI-^{mJ!yxgo7uQaJfv$o!-NV-T}+jvHiThk-b zx_L)a^(BEtCg->~du&wdRP0pmlnfoIXSC2Bs3l+FyQs=( zG_GCa>lD5?xcGU|f5CQ9M^Q~KfIWw;Phl7THU5k|i^5b8AbgT-pY1HfojoAT;qL5p zzqxrp>%O!#y=A|dxzq6#7MT@k6uY9;>T!hP6MX4+B)=-|-{$+=_we#+Wac~ffJfPG zqub7w?^a7(z_!(P|Hbkq1I*g5%+KW_4gLcD8E6lrgp=O516yyzV2$S^7c1b)>5XyI z?cl)&V2J#e>=1%bgSQHA0dM6K{WYW};rTaT<-TTo#rg`Q8K-HKQhSFlMJJ^nxsE=A zx%F-?3Kr2BIe{TgAsP2R#(?VN_4F&P=Sy6a6jWkCb61_3rJ7;orM9>fMBT68Cb51h zL8C4N?+MHqb<}{XiM^otvkvpv z<)CTu2Ga*zCt|wIq0Jp+EZbk*pyX}m5AZM`K0R8|2BrT9_E6td>m8FjLp(~~Fym#V4 zT>nm_jnx7$;GPcVWqHqn!ctpz4rniuswphroT@yjBGqryORov)v_8l@OI1tFn%A0F znpdi#t;$@;s5YuUI)hik7Ao(mE}bXWK3jgfiCc|JcL;R2aGYMz0qxIN-|u7@Nwx6I zXU^$4GdQ!Y!Yz$9TUtz4gDN&^8@mH<(uE{*JmnALXJEB3n6Q@*yNd)FJ(g%EBlKXE zqOH>}VJw#|AR}PpG8Fg`I1#LR1B2hczpFu8#Xc0Y^>_V7^Sz)!uGr1m!cq>*3umnd70+cGnOEs%Tb_45C zMCSrhFTIWz?#-?TOe$i|_rkxRL2gfcayp|_XASm(zG$#?d89+Of?hyV7%TL zdTB+~Bz}0ccTo@3o-QkUJR_bgrVp&Yoj&E=gsgq-`YK6d)R#u}@y^jg+~&~ zp*Co~2}P5HmmKXhAB2mtzXY52Q>Z%s+Sb~|l;{maqWwuyf=Z-4sB@J@(X$17bg(C& z6{(W_b1#2THlp=KZ`9YX{QgLZhDcYmq~zp_0s>c7WX}UILkO-v1mumr{}tP_q$iiN z#_=`bf@5CK$ve1fO&*adV7Mv(Jdlux7=C{rDQeOGLSzxSb~*;02C6DT7A{WgW|l7I zR_wk`u87u1NFu&Mh*KvkPcv#?Cr4)wAzxA2zgh?(&VS$Lpr!t+iKl}ot%0frwX}=7 z6*VtA5BqCcv8UA3)FSSd)4%EQ9l&ehY-#hLmyT{CkRFHccg+TR2H_w)BW zt$gkNXC!Bj|11l!K#t!}I5^o~bNrV!qN~X7yFwavzE+L~GImZ@&K`&{#5lQLbBX-b z;a`vbXUPB674Sb@c?AB^^M5`0Pfrn!-z)fEEBc#Vf89m!OYEr#$A5V*_B1c!dmcg@ z*p1im47VtdoDIPs3)~nDxA+?_47w8DZH_g`B(&BWCO^=+G-GyR#eU2 zTN<5z&LMOy6G^6d4gM<~bcTzo6#Q&i3FU>d6Ih{;iW&*|ABV;ZWZbV$zj?J*5^jET z_G+W^BC?>z=MxA;LJ#@pAw!S!m4&u#?JE{-|B-9T*(KfN*xc%K1*Rnk!vd&PTJQ{>*gR4Glej_{(!0zb&%eGBsFGo&!KV-7 z)L`fohOBizgrZ`^{y|Ma;q&@mbWhm+6sW`s(`VuL zqMg!I%6wWh63?-LMiwjcaP2m_giOi*t)73K7vkDFAZr*w)Ke@n+i?1#`;xRAY?ha| z)bHOH%KbTMq);tMKxK{WLEe`xAo5_F1`aCjbN zXfbNV|CZXaPn^Cc+RWht?|srsHLSOW?8-AYpWxys7CZ*Co0601kOz@Asq-I1BM*l4dKKZ*W_xE2##K13- zNi2pgXymSnIQYd%K9uP|;ZzhU{~oA`7r6xAO=+%n;e@5tw`-HtUkv4`&o;QPWU>Bv zr|2aeE_*BQck_}t^TSX(8Ps~)LuRks#tH%tS8)_ z;^8s;GHrD)@$o-B3qoERYK2Pm<}dYxgNmxi&40zzm0RKBG_;L`$`)8Kd)@&u$8{=} zz2rhg|E(BO1k9;>T6^A@#=(hOTG*T@(T(|hxG%JPmB$Jap~MZ&Kv$wFif+~7f2*J& zPN+EsXM|%}q8FOr#}a38h1e&}p;r<*N~jU`of@#=x2%?Hir5$P_%jqMIG@0l ztx%q3i&bYWqEcTx$Yfuu1xlzrb?UPlbEgIC)_@Wfu1n35c)F%HK=V0!vHziQ2uoY$ z3e|eb7-8Fq>ot7Bq0@c+U9Vz!j96cC#7DnAU*}G(V~rl7+`!%=X;kffYc4_ZZ+GX8 z@`0h8eo5`47sgOA1k>MBY0i1_3cq!QLN-F{TyTglxss*Ae^e4s?myf*{|5sxR1f@!~9;f=1vzU^6tIil)jl&?uITL(XiZVse zW5MVbcL(zSk3|I{_v0#mv@LpbfV-*KhrcsO*xCKMp256R7#+R;$O0eQUsE)Dzw;xO zECFCDcyx>nWR*X9kMR%o8WM!^ad7?ms?d?(24QLLiJfTUd`Gd>@66#CSbw+z@Au)n zNtZElJ77+&BMos|*7uTGN~>IBuJ1+r2OWf%hC?MP-o?`|$7#z~1kQ0L%z!HC_F6tU zJ&AjX*V)2~{JhFVv5BBL-u$LQlDOFzeB8{Y(`^E!q56}M1oewhDGWL{NZf&`qj-+{ zYzs^%tT<*)EztnK(XOgjvK~&@np1wSd0TijC=qjDgFRh*zzI>c?^)eauFNa{V`lj< zd}bdr+KQ{fd4hh94+*jPTY$JL6L$o)@+G1DX^T!75(WM7Z7}&090;l#@(sG5s>g>YZ2MP_KgTtwi%?Xwq8LF;+6mOf`-Zwuc1x`>e5-57lJ zB4#Sms55%Enc-2v3t;q&oWX|FGQwC}B}rRETZMYJ{}TCEqCZ*qK{0<3S#I^B7amoQ zW5F^|K6wEbKwn8aBI7ZRE?(V2F0#UpXb$PSmlb{25(+IZ~ju z3#C&6ngxa}qt;`Z(^=4#=a7nqFh(czyyF&`I2i9xQt&*>B;fbSy$6qOn^3^vJl867>=9%b^h`nC3>TS;fnm13U`A zVLhj!E9Q;B6{-20I;aA;<|GWH!6{$EUv7%q`4@fM?Z#-MT2w=je@f1BWV3z{oG)7F z9G>{+OYRY_0-l1@B)XBj#!aBN+em~2=YfU=o2k+8_^KR?8^U>ssave@q$^|^ILtoUg6kD&C!XTu(D8%Avf2!SZBNxVKJmRy z1-r?peY;t`j$+zqXvPV~LkwoU9`2`kA6F?5TXU+pA^@t4r*8q{%i{wjDgGE7teF1> zB|^aM-3gX?)`T2KdQ&x9*O8J7L(R&s+U_=R1=kWh^(M7KC~R@tL4K~pC49c>21S*) z;V7STyV*gNcsJq$uVc3)^lYjBrO#Qa2;OI*ljVqoqb_gdG6wbGzVBn{jnMu&m1n1^ zW%d}(#B(Oseoo=v_rVGOavioTC?AQKdgqB}#qx4Y+f#;K73y-=sdn+5cCh87buovf znP$Bysaqs0e&c94w4gTp>W04>I6oth~84Q`%@AU5%RYh?v)dyFIUtMM`Fvlr_%My+47H^TK<|KQ2*%Sk;9M<++eH`n`R zdF+12-Iwb*f*w1V38EK^0jo=@UCz5+Om!yaar$DNzHo&MR<}TH-m8TI$I%+o&Qhnz zJ46)F1eNeM=~bZKr6nPx{m$%#dNO3QrB7L+5@<<~`qidpa_a=P@qW4TL>;iDOUa4c{bAb|&UQIA+Ne zEX%UKM2YVVua$&A%&;dXCyk07Ds}3VJL@?%=2*GhHsh+a=Fr9Z$H;mZsIM|n{)j#w z;WCRO)7p9+tu7HY#tZIzTJf`Yb5jix4kcOKPd$yVq7$ms*`4ycme5p?BuyIfyoL^C~ z4~5ir9!05(A%=J+>CE};Mmf@?S8XxS>si-rSQ?9P^O$~K17?S62Phv3U-pY;0;$O| zs|eM;hCQhtv)R(kl>t>25l}^mmZ|66hg%>t***)uL3f zVaX=%&f}=h-y~}$$Bn>o^|Vi<;?{E}7gpik!{#8)cxyQ zfpk>v#GTE(8}1(N-R@lS2P+2on8*j64ly-%LGiBMf5ZJNoXMZVv$eCM0i=E^X;Ji%iPmp$ z+5mNTGp?Z?JpQjhBwtnFfIxsKMq%9L~VW zk#EJx)hsHVf-TNcit(Cw+#h3^RE)13e@|ldG^LP(5_Dp-ZBZlWyh z$+6~0SzcnZU*noi=X!U=T?nxJ&IY^qB8pNDDj&d^&{arpaDrgZD}RMYMx5ut_4niAyqW@6UM(+Xf2eaQ6XPkq zp%yB3c>=88NNNhMo9@#u4=OT2cnV95_aV&=3+(oXi_z8bTqLc(ly7oWXT5f@4<-v9 z_f_|9$zlH23Cl8mk(!@c-KI5ZJ*~v#@i&xB^~{}x=#`lURI=tFF#Y-YbKc84b3P}` zj$_8^=S`9c!^!b!F$mE;@(NgSo1Qt*<=p-XjeqO%M)l+l64$l5T%k zzVljJg<8)0I$JHT(=p{`n$D6R zCQSl7iz(MST>~j9jM2XK9;0{qTHBtfEqByJ&pRzDQe0lsdc6QXYCaa_QsGW=B6bF- z^cY{D`3J29mv2!TS2$cA%_eOnV@d(G!#tS=T7fHk%k5^u6s-%y`zz8tiWdGvOrSxE za60r52}Sh7)%N5K7qW_y%UsV>;`n?bzl27cFK4k8o=O{K7jM=-`irLo*0(^f)B}cE zeY7&XU+y-yLbaYy2zwXXm;}WwyO>NIKddQSV1k->w9jg>Z#C&S--FrAFu}n5&_E4p7Lv)8QZrBwX^l= zE}$PjN095xUTOYP3C+pkn>naishHshunOJ3lYq+bE;k<@&)$A5;wh&Rhk|hEY$qhI zzS~U2s~XwqiaHqIm`YJZ2C>=Cgx=maz^Tq-`V&4j>oXnn-!AXp>SP}%DDREdgc*lQq=-);HMZ76Qi_DKvdkx>8ExMt#Wz2}d7 z6UPM=FK(*B%w0#9j>-eATrjERxc!n$oyZMsjoJJiwm>|nNj!M)?W6x|=C+L}s92=u z3`g1M0C+5`SAQwo=|~xrVRO{E$qA2xhGbMW35d>1IaJ=PFvpgi=UH7)$U2X1h$@id!1pN5itjuv77BQ<*;8!4Q|qmC~2|g{y^(e z0~NOQ06yk@*7hYg$10Pt{vpe1#`Ykx%rVILxp@2-1i*LEXiG0=k~MwHzPv@=;k)-l z@m;vkZ+rv&5ncnIZS4@P3od zbK$(hGY_P|FYYRaHQm(cG_pJ8ju#>uFgjElYV)0h4rfb1bd4y&iv4&^xq;q6U=u6nYwO&0j`FcC>Kk(l zaXOZlG*#eh!-H#jOxe5ZtROG4Xz4Fp1C>Oj_)S+A>5i_<@XslGzvIt`@iVBkpR|HSLX>72|~*7Xo;$K?#^!Ah|D_W}L4 z**H7_5QV)(`k)I{Tz!A`(?ZQ<_5AYtC__93<7D_3sbI@@O|$202UB|Q(j zx|{s;2P>@{UPq&*75j1j=D)L* zvtL->C{Cx#e8G*4wPlS#y}7f>{cJ;^AhZKUMA}RH%u7{V!2m<1g?4Kyj6ze0mBHF+ zLu~{QyYC8dnhjFm+OTbPy#M44^5?}On@(N!QZ&^VQkFL#y~O|ci-&W>epymE-K8vE zetlwMl=SCRz3UQ{ld%-RdPiml_P(_7yS#TL13QEkq&czA8LW9Zd!QryQye&;JUQ44 zN_JcWM1bIKMjEjJlrvb1l&26LHA6^A#k zQ3-8|blmlFXi;sAe=UWB&!;-%4i*b=;$HBEG_1dDl?Vn5!q?_>U(!IT$!w9|RZA@X zc5{CL;WepWKsQG>R`F|45&(QID_75$_pJ9QV2851EjDvg?{$Wk2 z7DenO9#20cCRwhS9Sqw*bdS=gcqh&=8#!7UmRpG!X)K{|KVE3}FX@9OCR6kw*Jrfm z6_3p2bFszQUhvj!C^&pSl&1)CO>OwlyawBWHu;P^XcB`;UK5%MeLq(oz+MO>aZ^w- zYP5UF8FQ9(Mf8mqic^N2*D0v?X81bo@;E6x) zzCw1=zC#tN1i$TohGeDi{ssU#IUg}t^7=qz%Mxzzq1?8Ksuss&*oCDLWOg^3V@&8t;DXQKoh;i8 z&2I)OW`zC9eOysxlo>f{Htz*2nkPRbq-ou(9Orv;1`kbsG-VD1-|#q!gM8~DJL~qn z8ghN^F$vOm!~sb)`0n(se{^4I2fUsCnXweHq>P`@HtDz#|d zQjz`mbRb?nM$w(YB*?eB|8_p`OKUs%DJJO}otK-v@J}3cM1G+tfdN<%_9^356G-!Y z6(}kAiw(lFWy+zoK(Qi)4j5zY<)37auXfl7n#~bcYniJnBxG5b;Tumeb%J(IXyjh6 z%rIOKEo=28dAlm^QUWV%i0`rbOWB&-ZrGRaPslsArj}YJ^w~S32V?g05YPRvWwp*={Vm$7-ab z#%CQS?s;7E?)y}Q(@NR0Y^%P2;Q=tnmSCgPN~!;*^fznc3e&t>s50Hpwtf=jX+v*} z<;!X`t-sBw6El=XI+FYwFqH%#Np(?Md-}Za^UbCW{N2!5Luz1i+g#o7xs!(Q+5k(A zrLl?A_IB0CZFU%~CHu-8W_%b#M%;DK)lO>@5e>75_9|1qON`yx1MDPnk2D z$eDi!&+dG$wISCrpu@#bNrxLE1RtfE+#fiScUE-)+y|d$bq3osa^9)s{E~(r&hPFW z*`0c_w_deQW<6v|_T;_4u}_hyI%0|Alf-+*-5E9WjUY83(kRWzt|_iYqQ&;IX6(^r>H&l z?^5_XEk9&OiNvPxe|D)Wc6};(xYm_9a|vt8A8DnU{XV94YRS2x0JeVEVbM>Mgr;;a zAlz%$fzMd_$etFPVlzc?ZXllt*z8o*s0Y}?B}nPtZe)0RNCHq!X9sGM7qZVAx6Xjb z4x;_ty_DQEjVgFHK6}cfuj83nkLVfJ%ZuClY>jD3H{KcUY{*D=a+G?Dc9fV;_0vR; znTUqzAmc?@e2|-;mosc}qHh*Ij5jzjh8?Lkm0!L(STBXX`jNin6h}wFRN&_)!@9kK!7_rt9`<#X(TO%8QnpM=L`O2PGSgHBEuI z#y%4zJbkjW^;mcJZGDNnE`|IytLi;|ocfQyW6GBvto48tP{3@w<6q7_luzaD;%Bn~ z_e+_<)6Aq2Q_BOpg3Z=r{hb|1Dlvm;pe3h;0$At)wcgFY?U+F~AplC*ZU_Ea)bx2t zv5BH7KG544?CdAiH_CshO4hjQB5n(?meYHKh!vNkd5X!z^WRVwI#;oaV9#mj80{xj z3@$#6eg3Pku%-1@e)y{3V1%qy`{ssHVM*q;6S6@(^*MBGww61XoAspFM&xA8$1vMJ z-%$FM9EKwBCNDS13Tj(gQYEYz#i2S!-pe$R8_WrPv6>q^R~4f@xG6v}NG`k@|3Q^u z#_c7I!$3UaL03aWDb+>RFUhZuQ6%zJ@ie67BPrNC*B8_ae}0oEY6^}a<|r*g_-5!- zJMb9|gc?52TQ>7m`mzwavt@FiZld(Sj>CErbR~Z|wL2S2rP`(;MbylrJ;N^6xNU^# zawn^V4nH7loz|B-&)>1mZCh@}^it}nBQ_kIenMF&>AB<6Bb!InjpKDNsp3F9R#ee* z=KA&VQ;+iYdLyvRYjAh&tTKEK6ci}W^eItq-GHd-Bv11kWRU$ZFWXV zc4J}2I-}iXITP%B^N~pzcO%8>qAp9lg(vH&eL8GVl|fV9xyH}kai1nZwctatt*`>c zwPV-t+Ub~xhpEB7pZ_u|_obJSDAbw>d=XpCpq$o4jjBluX;8LB7cUDBK8iM_THiExxe{URViNn6zNbikY56;mP-H#b zz-_QyU^hHH(X$snQZJP+ze~Ok;DeF3GkMu=B;l1TVYCWJ5e;-zSur^Qx^i=G^7ach zLpc%P!wOygyK1jE;l0~oZM)e)%_q=pc`Bfcy2u^Qa+T38LYFK==pekp4V>p|D?t)@ zoJWF2S~tvhj@CI&Zacg_Q=H#sCiKl|l&|%EsZ=RXbJz5J&gjo}m@yyEU~M4Z;##wx zQ%*REWwmP$v#~s}G3+A&9C11pEO$B=W>g)1-VY-?E})CMxynpy{Nbr?=t}CrxONh5 zQO=Yl{4V?Hcn^JQUgb-e&rtTjo=vctCij+$Noz=MPG^WgYmu3Jwn`M1n^;1n)mj#h zo6^AuHZXEIEx~@j^dO@G)gZAW^~p;Hw~Cg=(W}Vs9xlaHGaFb z4CTdy>)iiN=M$}SL3L%SM%}CmhL$8ZBmk=5+Y?MJz^v@M>Vj}oBAG$M7JDyRsrmOw zfr=VPG?1-+BYeCD|F}&Ov?sU?q+*6>G%N>SBB{`uXb|~{;mqeakRP1icJveH6X;rR z1m-?YuwUlI(VS>@BJaLQz{S+3Iuk|x>=c%kp=U*qs@w((@x53@z*nVrF->)Jd2C*J z+>C2OQfbp|MpN8Tij&FY{m31HI$m?5pl*3;$_TxZsPNT0X?`oww5WItd8U9N2e1rr)glaE zsNWR6j8lH<@9>ifCz`*AO>g(dGsMOhB9xTG<`2P3F1G-i$@`mQ)5$ims~Tz9mI|GB^aFi8E_HPiDrf~OC>w9kckkkhj&-P4fM z{f_mXu*VD5WH!TSzYXwP$!wXvU|X>Z_{MY|{1CYGqoNg}n@8D|u`UtZ^9pE0JF%1L z{!MXz1ygWb+(fmfAwqCYeulr3Du-;LAR$V_;-&LO;|bl9zcSFt3yjZ+UgVctgR!i} z`6o)4uj{x(H<~>aA`mKZV+C+meu%n=H0jDoX8!k;~-c=Kd zRK0?I_VF8^V=!Ik=a&nzp0!A>)Z%{cnPu&=QL4*v##%e;6kucG!vyp*O(y|xoW-&t zI^<$CyA&H?u31d3Oh6L@#`$a8ljEu8Lrtt`AUL#^6rSvBz#+}}s4tLQ<-DrGJW)FC z@+%U6+$|YVkIGEtgKeG_M9f-fr0eAh`^Jv%E}`i~``tt}LvxS$QIY3Fp7z91$5mRu z{#(Da4DZ;zy_o%b59~CmMcA7{kFBk$=2U37k^aa!2|6Bv%)tTOj=x6U!lIk|eIQPueM36D}abwx|q{FcqG?oOJ^ zPQ=oJQ?iP(@kK0aP@1As_SVeNe#Y!We=s6BxhXTT-|=WDcCRb=G($J8Af8<5HfCrT zaEM_EEaFo0opm0fva3@KF3b(MRPCpk7*rZ4lG44&*!5L>)-cFOp=B+8rvYPg;G6Cc zvq|E;ee+jhQU|9~b;wq{duNInl@=74PN5CY0C;D!V=bC3b1Egi4EM&TGNqX1?!oNP zoo+?#kC`X|SRx#56W4Fo)^I=o-@qI%sYi=vv&C5t*cHu$_Yv>}PKp)0s~)IRUNdBF ztORYnvaF%jCnI8ibJm`&T4h>FHr+~>%ejxOPvZa^Nw9HYtA?vt(u}a7b^}RyBI8NN zk6~gX@u-F0#(zXL98XC-+`+J3(!|6U42cWpp!zb4$K(aSrwlX%;qH*=7~Wttb z${K3e)sk;&J2=bF?83{auIZPKm3`H&UkSKLXPkDRkFde^n(M$7l3<6xB?Rzm`HDJz zUCl)0=X%Gzq5ze1-zJB#h#4w%I^SVT;exQ}#;1RAHb3-4|AkF_hU^SaBPZ!NM6uMj z_YV{>tFkcIE6NT31y6uo?`8W<=!!E3N90$;N|iU-GcVSI(Oc)lZbl-siYSO5k{;v& zooUnh7^Twwf+l(>c`t%U=R{2clY~*_f0vkP5Rr(ia{7!9h&T6pJX>`l3{hyFtP6e+ zh@<2~k(z%>G|e>;o2jxPXfN@_ZAyltF)_8H*%jCLA{pXA8I)IPOCaiVnP8W8r@&%7 zX#NnjC|;sH#ktY-QBBB_-pgk-_v)pn*va@PcZ1eu!TQmQj??(#8HM1np%U>G+aqcI zsb_WplP^67U`$h+Wk;p*rfJl7vVyt*ZA<4j;Z+JH_G&K1P9OI=r?9>M#y^)?AE^$0 z5TYAt>-Bh(bYNwI5LEgff*NLjAJ+g|Vbo19B_qM>UtlhfO2YkUa5}f8fAn92gf*R; zLaSjM+28uLQ5sIwhtOGLJW-s*S zzzhF1I(PqJ`OC?wob>{+yQ{CQTrA2lV>@NXReJP%gvr}WC#O{N`22G&`E*$W(+P6M zW!1m;x-P~cpaMvEKh?~;7?3I&g{Ow3UDw^k%K1n|PsyEpJUWx5aWK``?%?;_pqk5A zR(>)(hSk${_6$6)t+g5GeQppGn#ocncLhxU{- zez)FoF_i29orw9%E6L@l`T)f*=lgclACwn1VDF$++@?a83+G=<9o6Bz5&ScPQAeq@ zrYnv{k`og_F{Hx0+7A=4MGqwVx6wmhE_bQU4^VRN7cv{53l;beP~Hqn*X|rn&5jNi zD!JI`QWTDIWDNQZ!n%T*OxS;%1M8aXh%Gn9A=p2`ergN7{|1Uv*)`N** zgEnq{NO#;$E0-4*7Ut8;&&_F$)lrr_zT8NF|8jE75iZ;CxihpfGb4?`xo|;iNc5^7 zsEMfM69cKyC_A$qrV;cXq?b)0)FKUl-XU;`cvi1T&@Bd)^H-_d1(%=Il{7vK_}&x8 zsLcR8{ROQg`8RyL54=ID$7kQ5RP|Kf*<}ab__6`FCV|`&Y0FLLJ?A56xq~SqH4zzC zM)OnR25ri~FK4XfH)=)Q+VD?nPu;E$Ggs{N{J+mjlAi5&)y=?K#nT#!I6a5P(x+{} zg8CUH5$g{F!1KW#%SghhpS$X%nD;ivDit}lZ&V(ROY?R`vLL-fJ~IUY4qnZU1wIel zQR_FJWLS&GnCJcBx)0{AXCyco)S`~~`vIkR^nX`em$@F@6WTIZMr0tMhb2NN*os2zUjb9pf(T@7>u zPluBQNds?=hpw*Z^S0dH15Dyx%Q2WkSC>@C7HZ2_F55n-twCfsaJCUh*`YNe#MQk# z3OK(T;V25n5o^mwS@(yq`IqnDRbCy2;x>G0VlTzG;*`%(E2H$FhB#U!XrG`$3kduQ##_7`R>URsUS!rz^76w%2Y$qMrYE4g%E zJ-cI>xsW^$7iKR_5`@3y?(X-x)vF3eJ&A3CWOGmRb=~M^p6+GqT!{og8jR{n9>a^D zw+^m~$W(gLRm7F4;sbq}-ckGqOHvAnU~T{L5of=qYgs?dP=9W&WLYUm=`Y`X(Ew{m z4+MCMw*u?Bn6EdBIILF?Wk}CA57bWEqg+q7pHC@hi_y;E_HB$Xs(|butyIM-twZVF zEIuR2jWR}q@L%6>Y~%~~H)ro%f{R4+@>IJo-qx2J*;^+$mG;rj$YU7boBgitexaRm zGc8D~3tnqdvFy2qx&rM zP8Sc#Y?tSImTxq}nStu?`CbR-GLH7KL4PaKwPaB9uS#K#QZvn<=0qFaJL?9YTZeW3$RoIMF2-cI zT4`48^@kHzn6-cKg~j=Zjdm+M1I>97V{6|bfHmK=bgL(FOTVXMv1`Yx<7e%FD)GV{ z`3@V|UPR`~o=eP|G42f0p3MQC@wOTbLOyn2sB^7etLUlp;Y25=&CdM6vzwHKrQ4B@ zrY}B;A|?+pHYH+~>PzC;yG?z-#Sr4_bZhkn+v(=bz{=HiwXdTVL+C*Bj(AKWt z_il+ww!qHy44bLicQ)pVD)8wbn8$3;kOhzLg!gPa4qc+@^;z6RAw^cp^e~L5`B_h* zA!=^1e!4IG7-BtBr+3OmaVMeM@+UYqFG6v4|Au5%Z`r;B%6z;Z&lE8A@@eYYON zEg{&O!m<^+lsA+2gckcDz{`AIR#e?P#Z4+@{S7xwxk3De@4Uw|hrzcwJD@E`&%+bq z89yfMeB#REVncTKg!ZKM2mWBjJ1=LU4~N$0yFGHIqCc5QTjbLnOEc^N(ld2c4H>^? z>i16b0@MEwTkiqXWV>~NstBlv2nYyBQvszH=_OQAs&qn^-g{_Lq$x=6QbUnWKte|# zBE2hBx)30Q&_fMLxbZvRIrpErcbH)qh9U2hy>@x_T6?GO*oUFf#rzfQ^0me`(A-+9 zn8o6leNC9OpDH_NR{WRqs55o_exS*}1Ob5%JXaa$sKLud~Bvesb(3hKF&S_q=96Hi{8B91PG}Sw!%3HWrH?_HHql5^7>qxq_?}_YHbrZ6}6H zBm2c*{>F2byBRo@8&3UKJotY4-Sb7ZU`&Cm^p4pQ+pc{kdc^p!0We{6%DbW~MG5dCi2*iXP+qEa)c*&5fEVEyjeE_G@ZSbNe11hIpEp5AztDBoF z&-tBJo`{fe{wGw-D7}xWP8DAk5Qa|J8~O6<8@sYk^6q9JY@H2vv=dFTEb`NkuG}V# zC){M##V#F9^7DsBC!@{d*1^0*bR7DANr70G#i8)^EKy9zR6`DUNY{j|W@6JIeemKd z?(5mvN+`gSO^qSBWC?0JwYn?m1Upd77i{=YUdX2Zvx;t9d_KpRK*xW(SIO$^5W}px z{PnY>TTtG-dq`rnYZb74ElUIHvzGN{iBv~zpUBaEMKLBYUVVe^V*fFIy3~--ysWvo zU4^?jR3XQ=bPY9GCq};4M!__NmXn0e7QSeE=eWi#bngXWh~$3qcg+y|pUu%6WS-x0 z9Wn1^(|R-qchW+UsN@<%b)in_+HT$4VGq{ zK!6o@EVDNk=b8Kc9Mjsx+%ManQ`M1FDs~D|ucw*5F!SdWT)6oL=I7H&J6X8W2sPF= znKxCMx-RYLWi1#S?U<0!@faOcJ3TV_kD;4XziEWeh52f%YZxRn$I4m z4BoBImkF4mh&5Vj0}YRG#GCkeVsp0Q0gLLB>zWB&Sfe$=FAT-C1%%RZJe75GoxN}>L(U!u&0O%QP01w+zUE6Pyd!qOc*CPZYcP5 zwlwh;jos1DY8@RJ2qcK%S#8)~SZb61mDHv^x!#J?=&9!Dlu^&mWWR*^db25-W}UX9+_eb=;~mB;0xm8_uuIa%kFve+lSm7UC9$Nh_aWoBH|At%XFl#nX6AVOh@Sq(0I<{Y3{mR%YlBQ>s=FQd#;BI7`?Fg4XAY zUb*zZHo0PgGfN^e%Q7!Z(CM#Rc`6}O=G(O<`I(SCx~aZn!LyEev0a5-?&POwx^nOq z5b5Dry(c$WO4-8GWCPG=lP-r%;w3^evMK3g@7umC^@0EQyZ;dx(@?((Br%YE;Pk;j zRw|A3>CZ(a6Na1}7A?osj}Ul{t;(&4 zte)~YtG@rGhX9%i02ty%E#`_D?&RV6@SjKJI{PPhEfIp32O2%9`y-}SyXVJ0j|%l1 zrXW1(mZN;ZepSQ#CbwU`Zh&^v8WEdXx%K}aT$dycLHf`05vdYMpY$G-ncCK<~>&YU$b5ujd%qE)Q#t| zO}ZR6m6vAiZE#OEJ;SB`e{}U4at3Ukj;Wz|*cYfC%ZYr7+{xQ) zzq={3^4e6;10Oe)>x(}->~*gi3ZF;$2F^p6I~LVd=KRpf(v4e!<5aOrWV*2@-Z2B*i7bhe#IXC>KP|+0ARR8c8@5+eqSxHr(c_(4M$s(VN z3`$OzAtA7&S;F?1JHXqIRP?U@8~*>}XaD(5m;<-9E#dnc^$d{3R2GX(ZUGlT$6hj! z?ID8O{S*9Zhh0~=$N4RWj(c4c`O&H>hliEiskM=*>Mz4%o`FbD4xz&6(O_ggp$D2cdc3qr*p=l5@phQkie(Kv7 zM}K;{`jMrn`TYOPJ`s2}P)8G#K$J%KGYo8OW?RlDB zJAdb1bHk8u^U(6h*|ciz#gf&rqk?YfK_A)4X&--X#q(|MF0~ zGv9nNKr%{=wW?aE3cj3C$WJC_^}k-87wysLTpK zQ*VE*>^Jq>oB`yD3`!8OXz;(UMUiUIv}tfZD*(EmVL!huN{DnwLZs8Tv)SzzhT<;F^6B(egi8{!kR*#9k6q(SJo8zi+BOv&kC^#wE={+CLG{t-1MS=_pMO-h9HP zdvf7=0ws9Ym@7a%|Mzz6c49u=Q>N+hdN=kYe}+h&Xk&}}0DeXS)67583Dq}|FPLy5 zU}oqTl7D*SS^o>YIDv_)rn&?C<}f)wef+wk{nYOe#@Em<8{uFHcAGGK7nW4=>VfsQ z)EPcArPxeJ2?U!&kYWYCxst#9`MxW{F|me;=;r-dfE=~JbHy7-IDU{L!Ikt1B_HuJ zp->z5jyO)FCiJ_V<)*5oeK(i!!Lmw&Z&mxIls2L>!T}~&d@i!@l<&VewoBfyIVsW* zf|HzY(GQs_7Cza9QS3?u8I?a|mMaRRZMy^=gq<(ZF&FXXjcuz9O`+& z4#F0r69HdFWRJH1X?=0bFFV46T(lh%Vf62EXIUbv&#iBZq z(Xb-@a(}3?wlxkTg!>aZUi2w!soY4xpnD;-V1G#{wvB=nb3DoRB4C@zXPw#3a`|!< z+dNs{Y^E$yy+Sd7{rpoD&)&E9lweFmCz0dtq~zn)aTeu|Oajqfu=|%lUwjM!Yvu}_Xcb~QxA$_ z(h>?TnI{q~Os{+x)vj=)m{l6OpKy>wJe9s?>HH=P{WW}Yy{cv{aof8$1>p@ zwC-&V&{T6xT(R)Ki%skQ{&mFJpI0XMjH2S`gN2jt+xp6yYFJ8 z>U|}eia(#KMP>>wk!V#yhGKLpFk|kirxSxDR zf}X^~ZeqaHuLk05&XuL{FRP`B545&$AJ0LTWm4`1^`XZtl=@D7RvNq-tvljJfux^& zu+J;TS8UEvOdpdcM9bc=WdaM5x0}xn z&^}!XI+lht{AGjF5t;n9PTIi+mv5UraotS_NB(fNT>Z$bAZOAhPm_%oOQuqu`JKL- z!HvGF4V^>N6~?w)$<mCC=)vOKn=XPE>=A!ykjq_g;?%3-!0bZip z`~q#~qE27e5(RLhSj|bxW`hHyo_5^Z*cCAUh?WeWt!vL8Yo;~sHAl#tP@~dxH3z@R zN+N<$@I*kbY35X>HxSEKubJEWR8M~u zD`p~+PT+Zby(i$#)#(z+JtyM^zuWEdMdVR_nwMEnRp;f+YOt#E(Tem+<;WCj{B6** zdX>3IX_F^TUq-MAUBxYI-J1h!a@R-ac0{Axqb!p?x#yzKdr$0r$x5~E_7vE4*6-hW zXBw)n1y7mJ6_lNR)%B9;D$~u{ROyHJ)(s zVfDSl;zh>FG|(M|MOO1Ca|3}C>IhjTxshmdXHQ;0#1CVQrbE-lVFyW-e zykp)LH43SL zZ5W%HWe$t9wV4~v?tAgp)}S^REX?++P@%tWr12H_+$dpu#w3rt(>7CZOj@EcV1Rs} z+MEQbaeQTrWP(mN-hZ7F7_;-ukvk<*D>M1XSJ2QmvH8_C&rGZ7)#-$+zeVn7roqPF z;P>{($3%uVLWSh~A#EN0(b=^Rhwi4vYKHjZ*Q2%%%w9N3GkxcuWC!v8>ej*!Yl|N4 zIXePEfJclmdE@SHPJI`eTu++{3%i!bJ||}zof7)y3zw_-ASJ_QMva7ht3IvbzWz=} z?z9Wk9n^{(Oa>xm_Cj~sR36?pcuDgMLuXzfnGR{9w%0-9R({&q^`2-Mj_7{ohd&>I z>Fo~qF5b*O?H=A5&<=K3z~~>JI`dByXI@2{7u?BizTlPAS>~Finhw20NrNx~@3tGv z^n1lsL7_4o2MU_|F&ye;eJW!^%&{$aF8srVW|r0@F1}D{UB%uO&!)B9!Jkwp3)VK< zU&1~!&o0_u@p|G0Q^TC(SA+~D(`lu>Ntp^1qLC{Hr|uPgy~@T<(q9BGoB2El<(cge z$kS}yQb~XYoP>f#JmOI9hMnHLGFK?6EyB9d+QmuH@ z_aFaWR}GY_%8j~~9oj!QcLx5wEB5nA|4Hfaq-z{lJW7+^?*)^9)%}yz$?B3?Sq(tP z9}<a4)fVJIhaJV^z@sv3b(qG`MiQ=B@QBk@@p$8htbp zf~tqJ&HVKh-t||5Em$k&E1wb1^Zt;lHK2BATQy@|-o-&>K_wDa;GM{zidqQ`D}5B2 zZ2eMkH2h^74|=mdmC3pzv=@if_yAk@*+t--xdyn^Zpe?ZTy-PBh5@;u98(n^npsx8 zvxX-d_1|dh-o=b%l1@$-=6_Lx1!-@3J79`l_Dh&5j9wZ{e%%IPx@A(gyl_NWGNmKN z3eCCFBeQ;fJUpv$)xufL1TE;juypg2hV_cz#`x5-?OV`k*YHw}Z-n`=C$ZaxPUAR2 z`u7`maiap+IL9VYg|Y83D4lrg-d##l)(xIYf34e?HmuOdm9A?jo6b=AK&RyMkb$0F zN%@dLMYR)$0boqmsX9AmLyS>P&m5?HLUUp`+NUF2_rY`7!(8P+@{?ibcCm1*6eG$E z)rCIJGD@wU+n2JBJpkazm3RwUD7^ozp`_#6n#=P z|LaY0qnA8HWbV*ay+j12?JiLRo0@hR&E3k4676i8@p_T!=v6Ngx))TneAwuF_p0w= z=KQXEvHNHaL>X;wOwEMjta4h;R)1k&dgY>#tP2u>*TZd1$wO6G++tAs!>q5Kh1^AB zYU?T=)d%#Mc*nms%t4jfUL4eA04e9#YhbpJYDm*L`N*#icn05`uvAw-C(PVX2#ML@ z8U3__n&=>`=}I968JOi=wORgpT-9WJSt=o;nK_bM?OFA;lwUx_y+g!RL6l@w5)_6X zyI&g|yF$>oa2V@PB8;7noj^%K3ojY1CF-5F5kUB({?MWg!NYNQzS@bcAb<=ZsPeE`~HOkRUel8&Oa0Z({56#{md>1b9%n6dbE>Fe|||V?Sp2F8I5+ z^qu;8JNyecI-%MzVSN2Z!@|51?`j+mC3HR8xCXMp@J_t8d!i~ktE6UlgTc(Kc6fxR z76^2*%b2*XM4hDn;zkMG7DKqhowmLLAJP)Vt@+3a?z9j#6Wx`cjTE|co|Br3FEUu? z)ur5|_J;J+d}9`_AC8j_lYd=rWx9)dk0jNZz=X|^zGrv<)sIjnXP&FPUP6*}R~$Ia zsu!W7!K6oIK=L))%HfmIc9VjLvUZG->Oji#_#?vS1AL>tbPqMy@Av?}8S}O9 z#w!zNJ4d>0!XU8{KsymNK1*5ZFXmZ_+NCpJO4x8W?P*zp4(LSam&5|$mG!#c;FxzH zE~U9;I=ZH7X zWb5bA&@B-cxP-1@?44CP8ZGA|r!EsXmIvNxcZQrd@3j*<{qX7hj98%MaNhT%F5~yA zEvnO`&QXr81~sEcL5?f4%fJ>(r&IqFJjT90Ai?AvH{`whv@g-?IDq{Z^LK}seSPPj zL53l>nXbgKyXV&JSJ79SlDLeC=QaB$e<3@CsHRD59Y|YtLiP9!DscHO^w{QWNnD7OQT0eA)`I%Lzy9E-OD4%?AeF_ znX1pi(9J2+WEyBEy5PiZ4BeVxtaY{CUQJGB%n1&Hg3c!0Y2OS8!SXgJqK|vOc+naMx<**}!cb*Q?Ug%j^a-_(J=naw?QJ*ZeWRQ&*s&~J=_%b`6hY&M6&Q(h|(MmyC*2`o6!gRArYbF4-Ckol$3H@-KO1RfL*}0Y>zsn(MW4jl=h*?cFUG>Yat6foeug-pgUr5jI%D;C zm#eevorK3V%^NI}8>8)=`HdSQ?YS;-%r~4fjJQ#G zoNpy{aX+Sa@4x6f_Nx*$W*(QGvU?j}mG3-iSYQA7ZD)vo<6O)40B6MUG4%q|nn!+C zq@z4j@mPVy1HuY}bM>)=fg<{rS6#j1CIa#Ji>QSq^f}TDKivbL;g%# zCP5gUI{h3lAb%?IbxLkhnTI}Z(}f3QQpjhM^*DnHI<*`5*ycH<8mz?QCSsV2zec+~ zVfDnjomOkWSiHYYff~vj>{zHfV2sH=p@x{^DhqjS%#Nc^48jNk(Rt-3`kEW|(b=Yx0ZzK_VtTJW+euK^s|Hwy?q6$a2E>+PcLWdpZsKLzetFI9XBZ8nI6JjAWjMRA+YExvJj~ORHrVZu z%?~RV?v4_Qjc~OzAh3<2(C3cXx1S>9W+(x|aMTme$v5rCw1D_hCiMR`c54_&>RO0G zMu;UlgvCeX;nW|3tzU#Z&LDga4@hLog-2v-TK&I%FOmzV@2aAzd+BX#?(*>6d6Fn63OM#z^5tVk`QTg_&5Yv$9@gJzTp$(e0#NkZ|b+EGwB_2`J2Dx6bd7o#f`; zr<1S22fX{d^1bUl@lOw(0>LNTgg2EfH1^>snFwk3eSCtut~ZR_2OD=1iR8KK4EXZB z`5Gh+weRh4Y&}6}qI%CH1hPcWQYiNPaZdr&4GBK^Vs!@)Gv@q@Sr#li$7Gl%b;&oo z0K=JHF6IWz*N>eG4+(+0N>_w3S|J{2)hb`(MiEb}e-#uuQMtamURg1-NZhAkPy8sf zBEM%plrPysA_SWvj;}kfs!ZoEwR95Oc~)K=Xk4ztC!kDOYKPukbxb-o!pjG5^Izq z8pXqIwUHBF63O#78&v8U65O3(WP2H??ff4^WEnY$X0%({FpZ&ZnJf3C=$o4!Jzhwh zExH4YwRp$Ht(Uj<07^SP8Cr25jY9ev8mS>Nv`*FIVd7Vw3 z%)6$JN^0@`Z^oTW@SM*`c&pV!UNX|(`W!-V6 zb-p!9c5E-HXY9QkhuA-R^DfWvf($rjlH2FlY}kWT$-}?*>5Lw4-Tm&#Ha^blZMtD^ zaW`wB{|Fy$HKU>vu;7=C*x?oEl$mM$5|`IZre)SJhbJE1`K)Ix{0;KZ!n(paxdlG! zj(r{Ec?l+ZYV*=Oq%JX38lSbN6m&IsUPhfmr|uVogg+vsu5RVdyAvwZ59mX6Ge$^&x zy-6FNV^z^VQc0U*I0jn$p~XDTsCT;2$x9%5YaoOsWX-n?h9L3U?KacVp%fH|-EOe4 zz1qvQ*3M>71lES96C8d3RT6%K35y06Js+st!|3>hRooV76D{Oeeun!oCE_!xIIEzZ z*Q23EfLaJMR6Kt=k)o^Ubbb6uDncA}U!tL~czL+!A6`Bgvww zvpJ{;a~SKJh~m-xTc%=8hzL=RObHw>5`JdOG)Ra(eI9|K<`f$zi&mop#^*Y!pH-KH z%E^GBnFvH)3S}z?Zjb#kL-B;{qv}9l(=~;eA)xAuwOD3X-|&k#@Q7kxyx-v#evJC9 z?7eL9f)ehHECn|;LXwGzr24p+eK-({+JEpi*D8AM3!KQLcl$4h+(oJ0u5^7zotL2V zD7LjkXlGXj-!KZ-)Wy|%@qK5y8*wR>@DYA-cg$WUUJDR8B}f#udxiU?`+MjPZx^=y zw3SrD-gr+T1J0ot2SdR06a#RK8FEm$S>k;#{F9s=O)WtfZ%=B_X`m(I;)bI!p zu`}STr6QNT{&=AxKwZ;gj6-csV&#&{|1=$qs}Hxg*58zs4#n!dvol^iM2X?oPAxp6 z+sOO)_x{!&lg-il0QxKSqUB28;BojN{Aj1&CIOZj=8bjSFR1~qcwX2`?qw4y*iXb+ zwn}nWLFm9v2XE`*=`ABN?q{P_udkfG!aKf9RDy1;j?N6V1XkJh~$~m@rvxwc9}G301w%r~>j~TT`Jkb1AdcHhXFQT50Q6cASM|C3BA% z?=F>y2jF2~7NZ_@dw}IJQ5nk{Le*+Qel7UTvuWLm0w>mrt`a?6-5#MR9{Lv5cpA3h z{pi1X zBm0_5w~H1pYMA-~e_{ke-)NNAfGF$NE=VPkJx-@v>1J1+|4_PL^oUNL5}UUa(}1un z$a`~u8gBWzIj6}Nu3#F<*}W*5=lQ^Vz*sv(+d+W>)J|?{27#DoWvIqVPbN z^ceMcrLLZzZC6*kjH7Yva=kO|GMeOKZarGbuLOv~Lx2!4w<%p}_fu zLIyXjO$Oz49C}oPaM!#4s-p=zj$ZR|A5`BZbKMnwF}=%TB;1DLu{1ILn|npJz|6DLUz0w2~YQ$y1P(zB8qKZBD`_9kZnvJiH8 zRya5F)9VLLB$?UC>F1EB4@MhU)<5nVoCLXEVgBeBn0Nn?U&yWa+I+XsJQL^9T-oVt zp#X(3m+()6!u50xzIO>JiIWN&#DSxi45aIr@Wkakj=Q@33I3zl)ZRv4y=i-Poh3TprW?CBZKH0~oQ-{M9gj!(F)koAi~VU->mDqVz3x@w5_g-Jc3 zJ7O3l<@ogD{ni`!v=f9?m{z$$%{^~-P%KZs2p?Alu+R;{r^w!J+_+5Oj;cNWT} z6w~N9`?quC9;TQ}ao8+GFml?a&!QcV;wk#leW=!WA9vml2VYdjoa0kBx-Fh+_$15? zRc0A1wL4}BCeu&Ok94-|TU4B}-1<}saks2;10Es#||pOC76%_d}G<9?UZ z)>r7Bav4{1q_kg_xNE1ry{w^AyQIoy|8<+l>K{GS?JRxok^-2!0Byp+OZD2rOOhl; zNYyVpQFK7lW#+4{V(xU?7=nhsG{f1swJ+oLleQ%G*)=Z>*<3?V9v`*V+Q^VjTi66; zT1|n^hp)m=rQx3<_slN;i>{LT7FRS~{V0o3wG#L!PkO~2P3VqIta}elw*NJSwYf|=IMSedVp+C8f z`kSHl7rt3WU1;_lO;gPRKEAc%Qtix`+~DXgz?ZIU2KMuh#OLUsZhe=ybbvONza`8; zkx2Nm;k+NTx_C?Ky8mK#b}uEgY5Y3+rRA_sY-F2j=D5S~f8vah!x!ZmC%ExqZ7C^?j&m z9cz8uE%7my#<_*8`zTa(HrIvelwANCVad$P0cYmWmQudlvF?&O5w!^sEOe`?oeVK8 z5<2rFf6I{IiVC7&u+T+R|2hZFY+v9frl@d&+_vaNA^XhmoxjC3cwCv#;r)BRcKrn0 zZVM96jQLEcjLk-b!09F9LsS~y-3>Bwl4z7hCK~UW!3oV=Git#TDlv^-wa~$`h3F<~ zTifOdKJ9Q?aFATPT=vh=h$0pNLK-7L3)5vN4E=EnsH!|2#Y0(_mc%}J8Ahpt=G=HOk(v1=4G82Rh< zoCz81jBvI70W&s|vNhdYi#ewkLDTYl-QM1w;4X_dF&hE5#3S~x_r0!?lHGF~DS-X_ z3%zK+PaZTgJ||DtS-}rnsAmBxk=k@(e7mT6T?eZ`JL9q5=vZsX;pvqHX^$Aiq&LF7 zH{K14SZOW3ip03x=F1m=Iw@qh^rsp9hd;7YA^9Yk_u0}j!Od9mE_;gcW zN;%}LWnv~Ft3F7u!Kt%;^efzuIC-vbE3`BrIwl%xYC`tU9en>pdnNR#zicUWgQp_g zJM_M?opIcx>p9TFd&8J7`3&q2hD}7}vfsRVWWh_MkU>H;2z~lTI`pY?+r>>U8j+P6 z8Cf&~AE72{VOk8blmyi4UhbrhBcJO!Ll0YSdvNU)x#aE3O97eV9rZs~b^Ms1p3&K}LRX=qS z^xNL{IZh6F`>`ET7VA{C z7!yGp3L(L_$u;WkeH47Z|AZolQrBIB2`nQ^UCR4PnRXUnadjgNRTQ(}&3vR!ISaE< zpao+!1T3Vs>6Im5?`O9@Lu|pUy(eeatAt&v6bu><8ymbu?~gyyIFf)Q%&G4QcN8`6 zW2aw=3I0I6LG=Tdb2K>a0Tc(a4OzUgl3a9VN>_*Bkr#}v5`M*K?-_VK;vWmM6osvH zd&9j$_zaAMW%`0}i(DUHxrB~!9O0?aXt8FsJqc#)QoL^KeJFOTpql5_Ls%&y08bB> zdHe=&BHpJDln^Vcf0#xy0Ywy^o?Hv9a0=O_E+738cUKUAc)NcuIe`aJtm_r=)82ge zqWTI8F}?B{d`_SW-H%$5{%yL55qkESiGPk(+qu}(=m^H_z>|G|cp7A6;#0JmV=74n z#|Vy2G)^#_P3s*Xp-(3AM2(~lt6Eqs)M8t}ePU4hbSPHN{C@W&>ell1;~9r#I$M8$ z`9?20Ka?mSoxphz)6_Q58%&G|pV`{Kwat$Qp>=1hy7#W?&)7W-X!@5ov;@{Zd@AoE z_A$N2(oG%rxZLx7fRS ze&mdOe~;vi-1oOeBo9}D^byOF&28@BjePG9QgULs$nDB)h~`Q?Rtwae`{9+`%-2l3 z`8R3#L>{zN%6z~t z;22B{bvius8y_3Vl*O<03l5g_t5NQ?zoZzUZ=Ju4nvi<_Bhb&u(Mffl+9U6KHEFP3 zqA_gkdCV;M?yK6SuCxh1;1MzO>BILHzZ`eJKJB-d!slSp$@mj+KW5+{JbZqo!lG4l z;GKyFDh+ftftbp5R@`+E)W`%p>;+tH;}VCb7ybla&4`RT@?YjO>Y9?-Tmburwm%Y2 ztx)_tqAmT<+w$`Br^$dJP!D{$!UA=WH+a3@5uOzE0WxHqxUNy!?X>;ipt|CtDtwwE z0Z-P=O^-5roG3S=f%J0A z2)_^@@(O?Z@u62j1^*;j$3Z6R;wI~kVj5BXhM1D$i;det(V1+iH=)PRqh2)rY#5NL zP3(<`Te{|WP1T(z*qDvnk_75tsm2;h(s|D&?}Id^@TWY0fjU|_`cT3@H?iNG7@9E} zC|R#q2+tEKI1SCH(7ki}0OLRJVYtr;Ku5_UwD}I#DtV$m z?i7QwF)7KHbk!{v=-W0(U7~BMI+MOHBJ|VJB`Jda^SZ?0Z7gCigZP{@Q3y;fW5HDG zaS&h%C6^}qPE=t5r~x+48=|WV8RfQ9%HRasS54d)WgN7Rul8!qvBTK1w;s~fUCA$z zrSvyhydi#eCUbR2SVPRb&EV!%c68&@@QsHS;d#~0&MFVzSDzy+WcIc9V4L~3Yie;( z`7bxA2aLb@u(=rv!+ep(zTYMp=!6`H55@F!P7iBK+)6NL>ljB|Z}e>R&r|Kvm4I5B zs@i_iH%3z2<9uppl~_Nb#ESRcCHI1>XX^N5dylLsWUJCMqKJ?R3t6bc=v1zcpT>og zl=r8O-I#j0V^C~k*F6dD zc>7B2>T#P%Pa1wK`>p1fPo!^Cj~I(Yr3YBeKTMJHX+=wGAKe_H9_GxkV!rm`;km$d zptOBDsS)4goo;_?%1Sj>S|T7-&qPO^aUnDA_m+wwR7?gsQ;je8ZOJwN{myi^tWAuz zrbI+;3;X3Nws9EtifTXyHgWGXFE*l$O5JlY2EJJ~48gFv81Dqn7`6UncT=gY4yG0Z zG+v+erCdO-8GSb!YInEH@idg3hI70O0h6Z5NQuEQHo6VOwT_r1f3N5qa2t#8tFNo? zvyET*PL|Dl@Eqn}jnbnY*!SG~lKBbYL!8*&laRAgww0^o<#G|ByKQJF{Ciy+G!tl~ z;O^WidNMz3&1Hr2QYD3$Jy`89oF8cQ9UaZLDCLio%{Fs_Cs@qtQC{wECcb)V3Gg{Y z*GTtVB-(~n&LJ4~mcFJb5kno=?9jf4YGtojnacY3G$x*#Nq8e?q_z76s;Jk&`CzoJ+Gen7Qwm9&(-d`QPWWTa9bBsa`jJ=Z@>GTfQ*~J zj-C#ta%xpd&q-hNe{;aPD⩔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 diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/EncryptContent.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/EncryptContent.java index dceaa8def5..a02fd3067e 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/EncryptContent.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/EncryptContent.java @@ -89,7 +89,7 @@ public class EncryptContent extends AbstractProcessor { .description("Specifies the key derivation function to generate the key from the password (and salt)") .required(true) .allowableValues(buildKeyDerivationFunctionAllowableValues()) - .defaultValue(KeyDerivationFunction.NIFI_LEGACY.name()) + .defaultValue(KeyDerivationFunction.BCRYPT.name()) .build(); public static final PropertyDescriptor ENCRYPTION_ALGORITHM = new PropertyDescriptor.Builder() .name("Encryption Algorithm") diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/CipherUtility.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/CipherUtility.java index fbd5b4e1bb..6295c1d11d 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/CipherUtility.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/CipherUtility.java @@ -303,7 +303,7 @@ public class CipherUtility { throw new IllegalArgumentException("Cannot evaluate an empty encryption method algorithm"); } - return passwordLength <= getMaximumPasswordLengthForAlgorithmOnLimitedStrengthCrypto(encryptionMethod); + return passwordLength <= getMaximumPasswordLengthForAlgorithmOnLimitedStrengthCrypto(encryptionMethod); } public static int getMaximumPasswordLengthForAlgorithmOnLimitedStrengthCrypto(EncryptionMethod encryptionMethod) { @@ -317,4 +317,13 @@ public class CipherUtility { return -1; } } + + public static byte[] concatBytes(byte[]... arrays) throws IOException { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + for (byte[] bytes : arrays) { + outputStream.write(bytes); + } + + return outputStream.toByteArray(); + } } \ No newline at end of file diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/NiFiLegacyCipherProvider.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/NiFiLegacyCipherProvider.java index 6918fe2b46..17295d739d 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/NiFiLegacyCipherProvider.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/NiFiLegacyCipherProvider.java @@ -26,6 +26,7 @@ import javax.crypto.Cipher; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.security.SecureRandom; /** * Provides a cipher initialized with the original NiFi key derivation process for password-based encryption (MD5 @ 1000 iterations). This is not a secure @@ -83,17 +84,55 @@ public class NiFiLegacyCipherProvider extends OpenSSLPKCS5CipherProvider impleme } } + public byte[] generateSalt(EncryptionMethod encryptionMethod) { + byte[] salt = new byte[calculateSaltLength(encryptionMethod)]; + new SecureRandom().nextBytes(salt); + return salt; + } + + protected void validateSalt(EncryptionMethod encryptionMethod, byte[] salt) { + final int saltLength = calculateSaltLength(encryptionMethod); + if (salt.length != saltLength && salt.length != 0) { + throw new IllegalArgumentException("Salt must be " + saltLength + " bytes or empty"); + } + } + + private int calculateSaltLength(EncryptionMethod encryptionMethod) { + try { + Cipher cipher = Cipher.getInstance(encryptionMethod.getAlgorithm(), encryptionMethod.getProvider()); + return cipher.getBlockSize() > 0 ? cipher.getBlockSize() : getDefaultSaltLength(); + } catch (Exception e) { + logger.warn("Encountered exception determining salt length from encryption method {}", encryptionMethod.getAlgorithm(), e); + final int defaultSaltLength = getDefaultSaltLength(); + logger.warn("Returning default length: {} bytes", defaultSaltLength); + return defaultSaltLength; + } + } + @Override public byte[] readSalt(InputStream in) throws IOException, ProcessException { + return readSalt(EncryptionMethod.AES_CBC, in); + } + + /** + * Returns the salt provided as part of the cipher stream, or throws an exception if one cannot be detected. + * This method is only implemented by {@link NiFiLegacyCipherProvider} because the legacy salt generation was dependent on the cipher block size. + * + * @param encryptionMethod the encryption method + * @param in the cipher InputStream + * @return the salt + */ + public byte[] readSalt(EncryptionMethod encryptionMethod, InputStream in) throws IOException { if (in == null) { throw new IllegalArgumentException("Cannot read salt from null InputStream"); } - // The first 16 bytes of the input stream are the salt - if (in.available() < getDefaultSaltLength()) { + // The first 8-16 bytes (depending on the cipher blocksize) of the input stream are the salt + final int saltLength = calculateSaltLength(encryptionMethod); + if (in.available() < saltLength) { throw new ProcessException("The cipher stream is too small to contain the salt"); } - byte[] salt = new byte[getDefaultSaltLength()]; + byte[] salt = new byte[saltLength]; StreamUtils.fillBuffer(in, salt); return salt; } diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/OpenSSLPKCS5CipherProvider.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/OpenSSLPKCS5CipherProvider.java index 049dbd8818..a18d4fdc08 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/OpenSSLPKCS5CipherProvider.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/OpenSSLPKCS5CipherProvider.java @@ -129,10 +129,7 @@ public class OpenSSLPKCS5CipherProvider implements PBECipherProvider { throw new IllegalArgumentException("Encryption with an empty password is not supported"); } - if (salt.length != DEFAULT_SALT_LENGTH && salt.length != 0) { - // This does not enforce ASCII encoding, just length - throw new IllegalArgumentException("Salt must be 8 bytes US-ASCII encoded or empty"); - } + validateSalt(encryptionMethod, salt); String algorithm = encryptionMethod.getAlgorithm(); String provider = encryptionMethod.getProvider(); @@ -148,6 +145,13 @@ public class OpenSSLPKCS5CipherProvider implements PBECipherProvider { return cipher; } + protected void validateSalt(EncryptionMethod encryptionMethod, byte[] salt) { + if (salt.length != DEFAULT_SALT_LENGTH && salt.length != 0) { + // This does not enforce ASCII encoding, just length + throw new IllegalArgumentException("Salt must be 8 bytes US-ASCII encoded or empty"); + } + } + protected int getIterationCount() { return ITERATION_COUNT; } diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/PasswordBasedEncryptor.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/PasswordBasedEncryptor.java index ce81f07726..eed5925dbd 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/PasswordBasedEncryptor.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/PasswordBasedEncryptor.java @@ -121,7 +121,12 @@ public class PasswordBasedEncryptor implements Encryptor { // Read salt byte[] salt; try { - salt = cipherProvider.readSalt(in); + // NiFi legacy code determined the salt length based on the cipher block size + if (cipherProvider instanceof NiFiLegacyCipherProvider) { + salt = ((NiFiLegacyCipherProvider) cipherProvider).readSalt(encryptionMethod, in); + } else { + salt = cipherProvider.readSalt(in); + } } catch (final EOFException e) { throw new ProcessException("Cannot decrypt because file size is smaller than salt size", e); } @@ -158,7 +163,13 @@ public class PasswordBasedEncryptor implements Encryptor { PBECipherProvider cipherProvider = (PBECipherProvider) CipherProviderFactory.getCipherProvider(kdf); // Generate salt - byte[] salt = cipherProvider.generateSalt(); + byte[] salt; + // NiFi legacy code determined the salt length based on the cipher block size + if (cipherProvider instanceof NiFiLegacyCipherProvider) { + salt = ((NiFiLegacyCipherProvider) cipherProvider).generateSalt(encryptionMethod); + } else { + salt = cipherProvider.generateSalt(); + } // Write to output stream cipherProvider.writeSalt(salt, out); diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/util/crypto/NiFiLegacyCipherProviderGroovyTest.groovy b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/util/crypto/NiFiLegacyCipherProviderGroovyTest.groovy index 0472fa3478..176e61bf07 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/util/crypto/NiFiLegacyCipherProviderGroovyTest.groovy +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/util/crypto/NiFiLegacyCipherProviderGroovyTest.groovy @@ -44,6 +44,8 @@ public class NiFiLegacyCipherProviderGroovyTest { private static final String PROVIDER_NAME = "BC"; private static final int ITERATION_COUNT = 1000; + private static final byte[] SALT_16_BYTES = Hex.decodeHex("aabbccddeeff00112233445566778899".toCharArray()); + @BeforeClass public static void setUpOnce() throws Exception { Security.addProvider(new BouncyCastleProvider()); @@ -85,26 +87,27 @@ public class NiFiLegacyCipherProviderGroovyTest { NiFiLegacyCipherProvider cipherProvider = new NiFiLegacyCipherProvider(); final String PASSWORD = "shortPassword"; - final byte[] SALT = Hex.decodeHex("aabbccddeeff0011".toCharArray()); - final String plaintext = "This is a plaintext message."; // Act - for (EncryptionMethod em : limitedStrengthPbeEncryptionMethods) { - logger.info("Using algorithm: {}", em.getAlgorithm()); + for (EncryptionMethod encryptionMethod : limitedStrengthPbeEncryptionMethods) { + logger.info("Using algorithm: {}", encryptionMethod.getAlgorithm()); - if (!CipherUtility.passwordLengthIsValidForAlgorithmOnLimitedStrengthCrypto(PASSWORD.length(), em)) { + if (!CipherUtility.passwordLengthIsValidForAlgorithmOnLimitedStrengthCrypto(PASSWORD.length(), encryptionMethod)) { logger.warn("This test is skipped because the password length exceeds the undocumented limit BouncyCastle imposes on a JVM with limited strength crypto policies") continue } + byte[] salt = cipherProvider.generateSalt(encryptionMethod) + logger.info("Generated salt ${Hex.encodeHexString(salt)} (${salt.length})") + // Initialize a cipher for encryption - Cipher cipher = cipherProvider.getCipher(em, PASSWORD, SALT, true); + Cipher cipher = cipherProvider.getCipher(encryptionMethod, PASSWORD, salt, true); byte[] cipherBytes = cipher.doFinal(plaintext.getBytes("UTF-8")); logger.info("Cipher text: {} {}", Hex.encodeHexString(cipherBytes), cipherBytes.length); - cipher = cipherProvider.getCipher(em, PASSWORD, SALT, false); + cipher = cipherProvider.getCipher(encryptionMethod, PASSWORD, salt, false); byte[] recoveredBytes = cipher.doFinal(cipherBytes); String recovered = new String(recoveredBytes, "UTF-8"); @@ -122,21 +125,22 @@ public class NiFiLegacyCipherProviderGroovyTest { NiFiLegacyCipherProvider cipherProvider = new NiFiLegacyCipherProvider(); final String PASSWORD = "shortPassword"; - final byte[] SALT = Hex.decodeHex("aabbccddeeff0011".toCharArray()); - final String plaintext = "This is a plaintext message."; // Act - for (EncryptionMethod em : pbeEncryptionMethods) { - logger.info("Using algorithm: {}", em.getAlgorithm()); + for (EncryptionMethod encryptionMethod : pbeEncryptionMethods) { + logger.info("Using algorithm: {}", encryptionMethod.getAlgorithm()); + + byte[] salt = cipherProvider.generateSalt(encryptionMethod) + logger.info("Generated salt ${Hex.encodeHexString(salt)} (${salt.length})") // Initialize a cipher for encryption - Cipher cipher = cipherProvider.getCipher(em, PASSWORD, SALT, true); + Cipher cipher = cipherProvider.getCipher(encryptionMethod, PASSWORD, salt, true); byte[] cipherBytes = cipher.doFinal(plaintext.getBytes("UTF-8")); logger.info("Cipher text: {} {}", Hex.encodeHexString(cipherBytes), cipherBytes.length); - cipher = cipherProvider.getCipher(em, PASSWORD, SALT, false); + cipher = cipherProvider.getCipher(encryptionMethod, PASSWORD, salt, false); byte[] recoveredBytes = cipher.doFinal(cipherBytes); String recovered = new String(recoveredBytes, "UTF-8"); @@ -150,27 +154,28 @@ public class NiFiLegacyCipherProviderGroovyTest { // Arrange NiFiLegacyCipherProvider cipherProvider = new NiFiLegacyCipherProvider(); - final String PASSWORD = "shortPassword"; - final byte[] SALT = Hex.decodeHex("0011223344556677".toCharArray()); - + final String PASSWORD = "short"; final String plaintext = "This is a plaintext message."; // Act - for (EncryptionMethod em : limitedStrengthPbeEncryptionMethods) { - logger.info("Using algorithm: {}", em.getAlgorithm()); + for (EncryptionMethod encryptionMethod : limitedStrengthPbeEncryptionMethods) { + logger.info("Using algorithm: {}", encryptionMethod.getAlgorithm()); - if (!CipherUtility.passwordLengthIsValidForAlgorithmOnLimitedStrengthCrypto(PASSWORD.length(), em)) { + if (!CipherUtility.passwordLengthIsValidForAlgorithmOnLimitedStrengthCrypto(PASSWORD.length(), encryptionMethod)) { logger.warn("This test is skipped because the password length exceeds the undocumented limit BouncyCastle imposes on a JVM with limited strength crypto policies") continue } + byte[] salt = cipherProvider.generateSalt(encryptionMethod) + logger.info("Generated salt ${Hex.encodeHexString(salt)} (${salt.length})") + // Initialize a legacy cipher for encryption - Cipher legacyCipher = getLegacyCipher(PASSWORD, SALT, em.getAlgorithm()); + Cipher legacyCipher = getLegacyCipher(PASSWORD, salt, encryptionMethod.getAlgorithm()); byte[] cipherBytes = legacyCipher.doFinal(plaintext.getBytes("UTF-8")); logger.info("Cipher text: {} {}", Hex.encodeHexString(cipherBytes), cipherBytes.length); - Cipher providedCipher = cipherProvider.getCipher(em, PASSWORD, SALT, false); + Cipher providedCipher = cipherProvider.getCipher(encryptionMethod, PASSWORD, salt, false); byte[] recoveredBytes = providedCipher.doFinal(cipherBytes); String recovered = new String(recoveredBytes, "UTF-8"); @@ -184,7 +189,7 @@ public class NiFiLegacyCipherProviderGroovyTest { // Arrange NiFiLegacyCipherProvider cipherProvider = new NiFiLegacyCipherProvider(); - final String PASSWORD = "shortPassword"; + final String PASSWORD = "short"; final byte[] SALT = new byte[0]; final String plaintext = "This is a plaintext message."; @@ -219,7 +224,7 @@ public class NiFiLegacyCipherProviderGroovyTest { NiFiLegacyCipherProvider cipherProvider = new NiFiLegacyCipherProvider(); final String PASSWORD = "shortPassword"; - final byte[] SALT = Hex.decodeHex("aabbccddeeff0011".toCharArray()); + final byte[] SALT = SALT_16_BYTES final String plaintext = "This is a plaintext message."; @@ -250,6 +255,7 @@ public class NiFiLegacyCipherProviderGroovyTest { * from the password using a long digest result at the time of key length checking. * @throws IOException */ + @Ignore("Only needed once to determine max supported password lengths") @Test public void testShouldDetermineDependenceOnUnlimitedStrengthCrypto() throws IOException { def encryptionMethods = EncryptionMethod.values().findAll { it.algorithm.startsWith("PBE") } diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/util/crypto/PasswordBasedEncryptorGroovyTest.groovy b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/util/crypto/PasswordBasedEncryptorGroovyTest.groovy index 69212ad747..35c20e58c3 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/util/crypto/PasswordBasedEncryptorGroovyTest.groovy +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/util/crypto/PasswordBasedEncryptorGroovyTest.groovy @@ -20,6 +20,7 @@ import org.apache.commons.codec.binary.Hex import org.apache.nifi.processor.io.StreamCallback import org.apache.nifi.security.util.EncryptionMethod import org.apache.nifi.security.util.KeyDerivationFunction +import org.apache.nifi.stream.io.ByteArrayOutputStream import org.bouncycastle.jce.provider.BouncyCastleProvider import org.junit.After import org.junit.Assume @@ -29,6 +30,7 @@ import org.junit.Test import org.slf4j.Logger import org.slf4j.LoggerFactory +import javax.crypto.Cipher import java.security.Security public class PasswordBasedEncryptorGroovyTest { @@ -65,7 +67,7 @@ public class PasswordBasedEncryptorGroovyTest { logger.info("Plaintext: {}", PLAINTEXT) InputStream plainStream = new ByteArrayInputStream(PLAINTEXT.getBytes("UTF-8")) - String shortPassword = "shortPassword" + String shortPassword = "short" def encryptionMethodsAndKdfs = [ (KeyDerivationFunction.OPENSSL_EVP_BYTES_TO_KEY): EncryptionMethod.MD5_128AES, @@ -161,4 +163,63 @@ public class PasswordBasedEncryptorGroovyTest { logger.info("Recovered: {}", recovered) assert PLAINTEXT.equals(recovered) } + + @Test + public void testShouldDecryptNiFiLegacySaltedCipherTextWithVariableSaltLength() throws Exception { + // Arrange + final String PLAINTEXT = new File("${TEST_RESOURCES_PREFIX}/plain.txt").text + logger.info("Plaintext: {}", PLAINTEXT) + + final String PASSWORD = "short" + logger.info("Password: ${PASSWORD}") + + /* The old NiFi legacy KDF code checked the algorithm block size and used it for the salt length. + If the block size was not available, it defaulted to 8 bytes based on the default salt size. */ + + def pbeEncryptionMethods = EncryptionMethod.values().findAll { it.algorithm.startsWith("PBE") } + def encryptionMethodsByBlockSize = pbeEncryptionMethods.groupBy { + Cipher cipher = Cipher.getInstance(it.algorithm, it.provider) + cipher.getBlockSize() + } + + logger.info("Grouped algorithms by block size: ${encryptionMethodsByBlockSize.collectEntries { k, v -> [k, v*.algorithm] }}") + + encryptionMethodsByBlockSize.each { int blockSize, List encryptionMethods -> + encryptionMethods.each { EncryptionMethod encryptionMethod -> + final int EXPECTED_SALT_SIZE = (blockSize > 0) ? blockSize : 8 + logger.info("Testing ${encryptionMethod.algorithm} with expected salt size ${EXPECTED_SALT_SIZE}") + + def legacySaltHex = "aa" * EXPECTED_SALT_SIZE + byte[] legacySalt = Hex.decodeHex(legacySaltHex as char[]) + logger.info("Generated legacy salt ${legacySaltHex} (${legacySalt.length})") + + // Act + + // Encrypt using the raw legacy code + NiFiLegacyCipherProvider legacyCipherProvider = new NiFiLegacyCipherProvider() + Cipher legacyCipher = legacyCipherProvider.getCipher(encryptionMethod, PASSWORD, legacySalt, true) + byte[] cipherBytes = legacyCipher.doFinal(PLAINTEXT.bytes) + logger.info("Cipher bytes: ${Hex.encodeHexString(cipherBytes)}") + + byte[] completeCipherStreamBytes = CipherUtility.concatBytes(legacySalt, cipherBytes) + logger.info("Complete cipher stream: ${Hex.encodeHexString(completeCipherStreamBytes)}") + + InputStream cipherStream = new ByteArrayInputStream(completeCipherStreamBytes) + OutputStream resultStream = new ByteArrayOutputStream() + + // Now parse and decrypt using PBE encryptor + PasswordBasedEncryptor decryptor = new PasswordBasedEncryptor(encryptionMethod, PASSWORD as char[], KeyDerivationFunction.NIFI_LEGACY) + + StreamCallback decryptCallback = decryptor.decryptionCallback + decryptCallback.process(cipherStream, resultStream) + + logger.info("Decrypted: ${Hex.encodeHexString(resultStream.toByteArray())}") + String recovered = new String(resultStream.toByteArray()) + logger.info("Recovered: ${recovered}") + + // Assert + assert recovered == PLAINTEXT + } + } + } } \ No newline at end of file diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestEncryptContent.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestEncryptContent.java index c4a3e13e09..3166bd0714 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestEncryptContent.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestEncryptContent.java @@ -180,13 +180,13 @@ public class TestEncryptContent { } @Test - public void testDecryptShouldDefaultToLegacyKDF() throws IOException { + public void testDecryptShouldDefaultToBcrypt() throws IOException { // Arrange final TestRunner testRunner = TestRunners.newTestRunner(new EncryptContent()); // Assert Assert.assertEquals("Decrypt should default to Legacy KDF", testRunner.getProcessor().getPropertyDescriptor(EncryptContent.KEY_DERIVATION_FUNCTION - .getName()).getDefaultValue(), KeyDerivationFunction.NIFI_LEGACY.name()); + .getName()).getDefaultValue(), KeyDerivationFunction.BCRYPT.name()); } @Test @@ -194,6 +194,7 @@ public class TestEncryptContent { final TestRunner runner = TestRunners.newTestRunner(EncryptContent.class); runner.setProperty(EncryptContent.PASSWORD, "Hello, World!"); runner.setProperty(EncryptContent.MODE, EncryptContent.DECRYPT_MODE); + runner.setProperty(EncryptContent.KEY_DERIVATION_FUNCTION, KeyDerivationFunction.NIFI_LEGACY.name()); runner.enqueue(new byte[4]); runner.run(); runner.assertAllFlowFilesTransferred(EncryptContent.REL_FAILURE, 1); @@ -354,6 +355,7 @@ public class TestEncryptContent { runner.enqueue(new byte[0]); final EncryptionMethod encryptionMethod = EncryptionMethod.MD5_128AES; runner.setProperty(EncryptContent.ENCRYPTION_ALGORITHM, encryptionMethod.name()); + runner.setProperty(EncryptContent.KEY_DERIVATION_FUNCTION, KeyDerivationFunction.NIFI_LEGACY.name()); runner.setProperty(EncryptContent.PASSWORD, "ThisIsAPasswordThatIsLongerThanSixteenCharacters"); pc = (MockProcessContext) runner.getProcessContext(); results = pc.validate();