From 46e1a111fd25926c939fef649bf4ffcfeb2e63ed Mon Sep 17 00:00:00 2001 From: Antonio Date: Mon, 9 Sep 2013 11:11:30 -0700 Subject: [PATCH 1/4] Merge branch 'master', remote-tracking branch 'upstream/master' From a31d53e278cf2ddde9029a17484cf7eba4352ea9 Mon Sep 17 00:00:00 2001 From: Antonio Date: Sun, 8 Sep 2013 23:04:31 -0700 Subject: [PATCH 2/4] HyperLogLog column cardinality estimation for in-memory tables --- lib/stream-2.5.0-SNAPSHOT.jar | Bin 0 -> 152317 bytes .../execution/MemoryStoreSinkOperator.scala | 2 + .../shark/memstore2/TablePartitionStats.scala | 4 ++ .../shark/memstore2/column/ColumnStats.scala | 30 ++++++++++-- .../shark/memstore2/ColumnStatsSuite.scala | 46 +++++++++++++++++- 5 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 lib/stream-2.5.0-SNAPSHOT.jar diff --git a/lib/stream-2.5.0-SNAPSHOT.jar b/lib/stream-2.5.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..5cc2425a415b8494885bc43430bda42a686c7861 GIT binary patch literal 152317 zcmbrm1C(Unk}q6UUAAr8wr$&4wr$(4>ay+XVwY{(?lQad_1t^k%)Rr?`oEbsx$@*W zD^J8;u}|a<{9;Ec%6tQb2Ku+xf-`~0-!A^~0rlrBC#EVyCnYb=p!g3mNTB&YWU{NJ zEEa!m`~5jk|CvlqNM1@@OhuJmPW)bOaza*yj(!eKhK_oAa;8a{agk;B$ca{ZdX!d% zP8bs6uvk3>ou-e}qa!C;8AV1}#U+=z1{D_uIhjQn%?D*d`ToxxX%=VczWqo~vRBW{ zSHuETy}A^egjX{!@Y~X`F5NC&p#LKo5Kz*8ngHk@$xQ5R|6TU~KLz4HC`@bsMo!KS zPL_7&e?g7?Ur-y_8QFNcSeiKh1s}m*@>v);Tl@tx(O)t*9`e>D*8e`g?DfUPmW$=Slv;V(p@{_l+B=xSu=Vrc{T zi*f#1L#}_g|D74~Z$GnM!IKLw2p}Lq1Rx;BzZBwc>Xo&(w{~@4k^G}-dJ`KXXXhmi zUk6-QEWhpUkM>QyB$C^#>-Cw0&ah&F2Mb#&OA!HK5U`-7)~L3QPV$w~jwh#z$TTDq zp5W=x-I$mt<SOvITBvX#ofBg8)i2A<)G$SRq9lqjF<&?r*ka{Jk69hx6?6@5#Aq zThGrM&%S=wJ#YLoS9!m02Bmv+Oy9X9wyO6shkiPAYpYk)RsTge-5;q&laH5z#d>#4YLc*3Prr&xcTokLfk?gpA9b-)~ z7LIb_z{d9w*2;LH!M`>aXP%7Js$A(WQrTJNOqeX?zM-|m23NC32jb6Oll5!br7|8< zT*SJ{3)^OZebOu(Jf9t<@G50QIWEf+Juh}tX>`WI0`iA^pRn$TNuQ%2*0?9VGMZBm zA4~oK%qR^&yM_s~D%v(KE4xTswJuV-<=Di7u2@1?U4^zX92VOvrWA?U5__Cg#A{Uc zhFD?Qa1>U5+xv?#+-y`4BQ_x~pGQH+IUzjyys{w2Bu*tro)@e;n76C0_BhBmE*SP&_M(9qh8>C3oD5n>? zNZBaIm2q;Q<4w8yhBO=BqM$nrZ#GK08o*N{Lb9v^Wj{i_`SU=0Gnl6V&D{v%N*p{F zbAM9fR*E-7?ggDc6v+o$;HTL;h|Z0*7k~WBF2D!feqX-}4(GZM<|HwN(5o1HqXfUZ z5zf*m9B5t84HzN5KJO}{zPz25%y zKw*|I%txu6TCV&dTa}fT)?{UItAB*GI6tpMJX08#2HeXVp4lv$g7SROOgl-eNH@uZ zK45Ls%8BCuRpiRQLxxK%aeTWKuv7Ezn=@aNU0@kZg|7n|FCQf7pk>y$sFvxaj-u(=kvPfxErWgl8n&cS@!Y z)TMXXVm0Q?Psak`+ruLW}Nub_TCtivrPBNtTxJ$ph%TKD#i|DnuxT5GTQ}p@f;Ee4 zVEAY!SHYyUjxL2N(_NkmXR0f}Gvx16hGGidV!~*e7AOsq_45of$Qb-YHRxd;cBPoH zB>sH(;_^q5VAx~YM(q_tWS?dCo^#an?y zp6i^sxLX_nzw6+AJoY%JX}`Q%EYm#1TZ!nmaMqqH#i?N}WL(cuZ%&Q(iyG60*P>JY z>2x|8xL>JO4pM6M5$)Ni%``$KM3I*wo)IUmi9($Kp}yFJ8{3ZV)FI5z0d^PSa1^NJ zRe~fYO+q_lLJ^F7lwnd`q8PSS@?mubqk+^RUE?`S^Z2;&SUUO>~>J-kCRBq>St(eKv_y%BXNw)^ai(!#Q8RGl7#9wn(R@TXk|jya+i`;hK!g70Q^Ob zU7})_KsP`5m1ed^2Ln(TPDxrL&ib@eaI@TpxwIjW$Le3w?DN*8iMxz2+v* zQLU?-yoBy7>A1QX_m;Gsy^IR7#tR<$qq!?1=c5auy33s(g?qIb9;{D8`9tYt&3gnH z(0_cV{^O8-Z&Jp35RVu^^*(fu?D87hRP78hHteSnMCY=e3wziho z!m!PybgX2G%98d;a*bnV95(FpY3pglVlJo>*8ZT0mO_Jb!&ta*Sbi?EN|=B}qm(%; zGhD|-B`k?K0&Zq@{*%p40y@BOH`htewe$9U-t$Elhd{@}ofyzB56&2~OXk~1Mvzk& z6Fj%V~nH?qj+UauTFu1{j=xV-!tmAder3lIy zaA&WxaPZ}fU%Q91h!*;GAaStl9xo(43)L_t=Al_!;Ec&ph%-}h2=F8;n2(^?El=T6 z6-$_*pj=&w8b9m$dC~i0jM;9I5&@T$*w23yXOFh0?C|hrVpG{zZ&49C-PJ$SL8(4t zY$jH0UB&pfZ!@pbaaa`D{X~O=bz8tO=0W4kmX1}%l2S2-hAjMn%h~+~GN8;yAfPHXi#Gd3y(UbZ zur0jI5~$iPz>!WM^;lYB&UWNso8m>%4orZoslqRkg&Y{Y2g%(alHc0Z%%US1TXu&O z698O40mIk9HB1+TI!ufSky}H>@MPv>M-;?LPLd&f+!*@-mbm~~ni!i8hC@7RB(7ZJ zbRMzm_ApwZBTs-~@zGng*J#q!4i&=eV%Ik{S)!`MtggjvQB<2xP_rU1Q z`E66e)Z@oOs8(hTegzRP`3KF!GqWkQ@;;)D0TmJc%5hfOyI}xgvJ$lf~sqAe)bpT%bxaksQ_T%~@TmP2?GoQsLDTtpk(v<9FLB6uyDe13OM zs-4u>)q>gNhm#UK><0U;(?5!Mh_oHXQ5mY~Il&RwP2#w+nsKd>cr5xoSL5*Gv5N3o zeKV3+`@>y?(;zHQl<0_Tn?>%#rhe%8UOM#*A4~vlIAwrNN!qdvs=6nC@|BAT7`La> ze4~wc%LsjI_y#c>4G{sqPxze*eQ>}7GTs<6eh-mv|t^d%!WZwJ1b0oYI#g>ENaY=>$&Kc_&#PPz?)$|=O%Rj>N z;)(v6?D7WFC2wFV-5cV|IiQ-W_HzsLm0lm5M^xyw)ofB{42sYh|{p4-#f8cpMn)-{dt$fE$IwpHd=q3Xt=!jb_Ar?3!Y zzUn*u^QR~4UCJYE4!ck8iNA=}_9P#CvTL|izb%>caPg+63n<)(68Ljho%LX$wZ?3{ zi`a_hXFzSk+BNn&rre`Ho?YI#2eL`Rimwx%k)w^`?qAbbP}6W zYL9C3^slvbjVRx>%LQY8Q?KjTQ!aC&8E>qKT$uM%_4MRft8~PRe?O@LmQlC736eN zE7NyN>5jaH({>Xut<)LO`As6cT)e-3q_Ewvpl>tW*uE#}UC4C>87S?qyl}1T4C)9E z*blnC)JX2S7ee%6K-@?q4t*a4`6Qm+#k)m&m*b7^jV9}&(cd>WSYE;G<-pNe@2;+7 zY-zi*axI7geDEzT2{+b8ElG@DTNQWJmPP{fm*}AJV@^QTBm}%7LJMFKXaNfwCJ`5Z(?8?9LEQ z+oW-}10#VMjX9gmPFg+)W#NDVZG$zap76!Y#$+tom?B*%Tkc_s$d zFv>3DZrpeLs&lHMFkWMr%3k=$zHj!({v;Ri5n7+GV-&p$RSUD2(!zj+IG;z?@XjrD zu)ir4%W~PWMB=5Oc)+7B`t+VRnML=W*T$d^Hd=3WuttC86@p1Wrz=yj(hBO-UrBZA z9JIBw{oQz!%DaP>gWl0eFGck+rR>7lZ#YF;Gd zA#A}}$5^Y5+LI({iq~utwz*E-J^}hhTDVU{_!>^1tz{i+}uRH&IL>PaeyUb6g!=j72|H&lOim=gh0D?#I`w)xn-F z1Wepg8vbA?S(C6~a|gumz8lu=Z|5{c)4)>)#YHAUCUHH}^VlR6Xet%Js~my1M%b=N zeH5mjRB^MDtIPvRxD*wH$HEbSM%7j?$AHNFrX3;hEF5-?&mfNQ6^1TH%sb zr4e%%h3ia%Ic2`%-RYF_AwzYXHs6%7ZsyzzKoZFEI>Fb#5km|G};)!#m@K0$Pb zqz*#mkkYh#_zr>;rrO+X`{Lpe_ppbwvI`RDUW&{--HNW~OA#c0ll@4U+U@JEOPKV# z;mh;k6!oH$EGNc;>Y5hp9ur7-CVKS>QF+0t+fB!#r7q?XZ4~{YB#%?rFA2CmQ%zNN zCWoy;EryOjd-Jg3r69Nphz=DJ6V6B<%S|%B1sP+Vnm;_o1nZ8lmi`3(SNjnE4aheR z31 ziSr55W(mjxvyZLh=azbT&rf2X++|u0bmS}OEG|;~O0knWkE1#vE7_mUWZnEOyOvp-0yveo zn`3Hf((_VpgRadScRkV_ne8a&u}qd;pmWKUzlg5wFoj)zt)AH83uz@pjF5+ugfz~Y z0gAndTOi-fPHF_0me@EU7QveIFR8#3{Vs$E*$kN#f_a*ZIV3`so4%0oN-sefUw!CG zbn-UV@SIO`>}n)cOl?>=jIfJmI~8XvAN}Np3En|>`G>y&T4!jVbHls2`woEtD%0%*Bau@ zQoT$QfhnveMuVvr9xWg3S9b)GBciQr2a^!P;8r~>9#%^nNs8LgRG$m?L;Hq_dg}LW z6r@{cpE@KcO5rxMZ#M0+IhAKIE}h|f-wh7vvbs;K7h8*x1xRe2Ml`H_yR}05Jg>W$ z2^wF1Il!sqYlNxnjZbFj^WE0`l_^Z*8O@?>Jxpa+grmj|yilmfgw? z9pQlQ5`s69Be=9A+G1?T-UaE9r?#bzSk-Bcf4yP*B%THdFyqVWE}C-XL5SQQj{R%g z1T;1K;WL%k&*L+EaQB&!6@}ZOD`XFp?_t)Sp>78XcYq2(fq<{YkjHqoy)MmSeNHIG zRhLiF)Q{L+jDieHp(}=mo`LBWzwn*?eWrsBv40OS?uG)i{(@osKyG->SXKB)cYo}+ z_r~`^E4Za^H9Yc(?GC@A>kb0dsnAflsLzf%-Iwd-I$mvgB}1{HTqJ^?9c9C`QPvbo zu$<+j=nOYH$h8bBB^X)(h2qTp~_4+Yga?D9^!iQMx z>qQ2S%9{@9ragQ%9dWPk>AtwQgmC=UJ7xW{F#!}Ed{X?u_&l;Z&e-r?mk-clNhqao zZk@_KdQKN7Jkq;A(X^y#o^F8i-mbhCCn`Ff4B=W}tXDr3b%x@?k20dv*oQ9li@skh zo}sCs)9tB8O5aOs??VZ{$NKtNDeSpG{X|rf0d<{{11qTr`hqwLI%bMf4}IlkaPUZ? zH72+ky_#xc^^64n*yb}rTHzDe(=2dkRm`2Rq z{SnnPnG>J+tq6T`n`3fYg3Mhd4}P`kBZ}Jg10Q5R@mQdcYW+918~=cg0$D_u1mN6? zPr_jSMh|^B>O_|=D}RD?C!ANJ$4Y5$endENcE%`OqBnkMC&1l;>}Mv_@*ia`Ie?QnK+MAg@FzaBxBI)@uThkf84yJD#W5*t(5|8MLh5=2 zruV3MP^QH%Oqaf1_=T*IB)4W0{h^fyitq{KpTZewjIckYm*IPFc06UWBcQ(nq+6J5 z2=)tegUJoFkj5nT8tO8)IG&XvGkNN8mdB*&>P(XGG986(Rz7ygy~((Gi!avMjN7t; zk|2@A^;0hF^QS5ZM+G%Zg_B%u*0ORE?GcQdLnR?|(oP@t*ibk6)Y6?=i-DyN0`wnT%KeY^f$P?z){@AZ33AfG$GA$z(K zOa`^$UjuedFWfYK>D|M{GY%1uhh|^EGP4g3DH+;L$9W4$;un; zXE4ET(26ue37FC2{CrV{-2i)IHl39A<;)$a#|^|w(cl<0&6Bc5hr{Q6?VT2gNH_bUd0F|)y{EQ3H zhZ3El7Gn1+N+RlVa0}+m&+B&Bj~%v`s9qS?Pj)K!y*Yo!@VSzYvEM1Kkk6xUW#$To z@u;4VqszGCPO6#x+($L>8moeul`pIP?3Nzo={a~dX|&<2qv6;8s=dcslv%kyh02dV zwPex%wf6oIBx%Ct{{UFKicv#ZQZKeFEZ54fOs`M7c2BBrxa$1UjTS!p z^6Yh<09e5a-0A0C`+k4!_}n?+Q~0=R!T_pH-)LMd*jrS&*@Jm0M6i8)DXQ*d-{2-E)c!>= zh9c#zOSz|_$lUd#jrP4tS$}k>cW-0;y%S;Qr@QklpN~QI*X*&Ft)JmuIKS$yB@Dx> zVg*HS48iM-$$MGocg+_D0;`)4jIWxHFN=E>Tm4(2fbUenUoAJ4(og>Aepf>bw7PeD zY+Y9a0NvXH_+HhI+GA+ZW=F04)t|}qz0e;RNN?f{*Sz>*c!P!ve!kOV=c~$ z7gw38I9-tEI5!p-=hZ7%K9HHXCqAi*^P_v`iu_z2uiS8zkGwvVRLMJ&Hy?jp7%>=0Z>VrfH<&MPvw?H#N=7(I#=;Ig(b z<3bLmT*TELfqxgUt)tAd^d~BwD1Id>+I*)+MQxVo4EBWxYN($^5mk8C%&6Vr<(VoK zLl3R0vGShiQRRxJh-TqUKs|eEo3^l?4Z(>b^C6#>4vwOoEiW z*v|)IKksc~-m9f~*E1|3-TAB;nmJF+h$8KHwf&C=p9L$;rVI2OT;A2E)={6-!jU zw`n*A-ITJ~-Cf`jZ33jA){@m%dh6AiyQ@u2shNXFgDaP_iH?OCg#+WY?}7&gs{)0x z=SBXr#9|na^(wc)fj7lWk2&@6s=y?Y=#I12n7vB*azw5#kIyGC`drQLg}^@glQbuoSHmM>Jy)2~?g zp&ud}15qwR3vRkaAexQiX-mp>2lQPU*#>P$LW|-AzinZ6S3qIrgQ!<;#_Jt%-I=q^ zB!6^^s|s1(WtaX=)1>9hxz(EC8WX3s;f+{ezZ#&z@h>$WVKO~%zx7V5ZYV)615LFg zTqnT7#m0;n-Y>}8`W8hyID)FU{vz_8NT;^08f{R2X3I007O;reXj3uttyP!APiA@j z4qnTA%uAbx7lywDhAm`X+7!T8%HZCO%dRYq(RZWnL}9dno6cXHnZQ>H(B@t``UC%81CMZ){_ z`|6up+tnEkahfhqr=b+Cc5YBnV}T2C3f_@V)RfH{oj0v#868JOCx2XTGobFW89=Zg z|70Dx$;;8)a7#I@<@R zm5DEdP7ruyN3zLADK4J6ip9sWbCs^aPRnTW5C$wdVy)U+)pSWQAnMO*%UQ|IFBBa$ zG#V0VsqvX0VasdPadsFxHH>K*wQOK<7vzwX>O7MhE5K)bkS0p;W|gbREM&>*uNt1O z^kZEKrJZOmwTc$;rhMLJt<|Fw(gt^oDF;!FIJ-3ame<9nejK;K&{~GGUC@}g4T*vi zVB25l_R-NvOynFY>Zg$Lj5gBF7culaRkUe{JhCctzevAcdIryIdn^*k!8L(iP{kJ= z2Eyun_nL5YX=G)VIUQH5`&n`DTV(jE2sUqyZFae!b1ZeHIWIJwC~|M2M>Zbx^LYF+ zR&@^tov(nNs?1w)5TPa6lW8AmM+FN;T$smVXl(w|1Ce0ONOqeLm=X_+hqA#9#E{*H z&+1USX>aCZqUm_ENpCKJG$sURKkwmpc#mem6@r0gZ4N$bSHJko>)@QGBzBjybE@Bw zuhA`t2Oj*Ev`=fF;O4Qq6qolOFq;f?AvxjRuz3=bc{`>TCJ4b%ihx## zA>PIwfS?@_Cmfr&DkqK7Ii)2k+cOd?FZ2pdiO(-*{uM26q4ixmKz-+f^2a5WL!(v;yb{6h?02L^<(*Wz z;*0{l_U9y1?qN~_MPD)yJX*k~mW#LrZc;~2cro%JJ#tB3JIxhj+G;#C9^YCsyN`tR z?V|GSdhvY+?xiVBwqgXHFQuFO^ zKG+u*M20fTz8yp`ekcKaVtHR|InH2o-XI)Db^xkCqKw?0@hU?Zh`&+Db|R5WEj9oO z%^Pmwg((OExxY>hlUxSwel{flbBa+&9a`)~UW(M(>)taZH?#58nZ@QaA&{G#_6wg? zNtB&F+sbRSqhH~^8r5PRhl8*0m72eEtp?p^dIPH*PlBuAck=L;L@ehxp5|2V1fY`SmB_58Fc9uPjMeebOBdsso+Otn-0A}5+71=ddWmJ*J33+f zrxIoGvSiib#4$(UyXZx((3+D!x?f-U4L-?ejcnXT0f$f{Dt%A(RC$re9ix~=DZA2w z!6vwJ^qfk}g=-I-)EUdbGn`p^ychD}>J`n^pfwu>TlvkGptfxy8`Z4#LCd?dt&~&J zv(zjm1)&Z3*5Y&AQ8hWFLH)p~wv*R_Q=yJFW$?0hIIdsvXzNZE@Y0tK;_&oY2vqH- zEMl%wjY)n!pT`43!Fm!{M&$+eC1;#? z!rJQD2_zezWD4#EowN#Ha>qZ-m}p4IO@S%I``gF*Nn;ggIvc3>lTvI{iq(9s;N{>Qd|BEF5OkMI+1+>L83u$Vp~J;gQC7}f+g%@JTFyUC_gP6-+`=_ z8GKi0&sH0Uu_PU!?x3rwV}0lcTXN8@rQsfXfR16SiOFeFofV~KBu3^cdv~GLXuH3q z6Ypdxn#{@qU^n@0Gh{UFZ3;o$h(eI+#!H;*A^x<>;{+s-8tkEFhu(&Z{2^AMXqPI6 zoWc!-<^J7tX+u;rYGF%X)rnV{!n`1??HKcxGCQ*&P-$a^(vKWzOnp?ui$ zYU+4u+t@-Yr6GlqXPS^I9mFS%q`UM1oxds_uO)LAzCa#W-~A(!SObRA{KTXp7o%Ne zz?R~UVPK@+2}VYCnGfB~v4644;`7?Lf1i0=${UWWS8y4y$mCsXSW+Q&-5WB$vg=es z-8JaVkJqBV&ZiY?!>B>bQjcg`#3^dvDZcCI4~{c`4SEu!Z%aBJL}TBytQem?;~%fH z_9o@WK_DKUN%N*CWHGuYregU!-7)ygKW1wE3;JKvbwi21E?Lwxu8gG0QELRoemji z?Z+Cx4I}jvxc4#rMabN0G-82Zmf*-^x-ki}B`eKn`+{rcE$4#&<70&as5YO>1lt-) zwt#RiEQT?Pw+lmOM z2bn+RCNZQF#Aw78Dxy)a+E6o012v*}B2zDm{Z|^jL#eUm@7yat5%()gxMX>9YBv=Y zceasTUkA+FCs++ZYFD_X5+0B!E3F?*mR7Y@3t|=X&CkwqDl52c2bk(SWm;Kl_c5i} z&U_Lpr^?RS;CR^j4DOvPbGcDlrC-WG9ps3%H_G`5)4UwGKL>RW3heylhRax}3$ona z#`(Ddm-lf3jeqES5xrX!oit1pctzqa%&s!sr$Vf^X;0TXll|Cqz^y6M&aKsW{3%Ig ziUTs1sH%0}+zTz5(bAV;sbg!<%jzT6^XjW|?Ga|%fm{iae27ahv>5Rue-OC+Ajzl1 zww`wEir4S);2vncy736hQUnKR9FemrMZ)6ULZSE=%pF)SjFPfVflt9D_r4OYJ7 z)?~YD5*pgfQ9%f~4pP^9yPa_~Cn&ywW)B7IdtvD=%Ocou9vbHIZ(YM8XTw7F$);luNemw?hlnw(CH7) z>Z_Q$83xL8+{R^_^V-gonUnCX5NPYmh=JDQUx^kYpK;P;di3VyuadS~G+22Pca;Vy zx*;L1{Cwk?2Sg?uHgP0pX5l6(e z^@y?vu;=T=9P4}=Wpf&oNd-<>FX7kU*5~TeOblNdRXuEbc|4V7_6lIJ(XtA-#h#OX zZBCjK$@yhc81F36I=$eG*mT&WjD2{5MjQ;j^{sNv`1O7Sj%2Z%sj=<gQR~MI@=>x>&Pl*VjP;ya*%OACz|X^_L!Osu2H5O5pd+s)Ek|H!CA}S`$N;17SftqgyzWXM;Kr0u4Eci{^bIn%@ zo&9Zp14EM1RytIyDsmpR;Izd*G!=_Q3s` zKAWr+PYUX~$NReTIp^BvWYhVo=XHAm1BiAg+iubLy9K^-_BNMFZugkh?yw(kH9N_t z!T>PSEr4VGHbL_RjU#O@5%#HvIxE;};XC}M-!sn0HhNKAg`EFY`}?%>wZ74b>g`4N zcV8LXA4$*4uRAvA(AxMrMQNYgv2_PZMAu9lJ%RQ=ZaI6%Nd0+&ofRSwc9gPn9Uq0C ziJ1H~2a@eJqa;{y9gARh(56(3Z=VMroUDa5L5( zLPA0tqxnWH*}m^PMw-6ExdTEbv+&tUV0nV9R+@B3eCRC3*l{$o>Ik7EL<7nRmRP=f z8Mc~wVKs)H-m|zj5F}xCL*O+I%`vL`so8IrjKg5TxPI-GH`rO^kJPiD@*zzh zwq^_QHA=Ph8|P%WtbgpS%9+UQ1+U_&)1qn+Al3y4&S~Ojbaw~`2%9whu;FX(79mJ6 zJi`P>*JAVbhO3f`f5cJ#wH`H=-C>rMydLzf*cW`+<}j z!R_6OC3Jq^K7#zp^Z9%&i-M% zK|L`q!5x12lc-b1iE0xO`2wAErDo3dBaDm}ju#U9H)?w_(qsmokc$^(Gqtcc_P99# zRKG3#!W9QC9K{+QqJ-E_$=9^(WGstJ{Oa--NbfPJUPfw?J@DjDgWJTzns>_5geOu& zFX`0x5Z22yso@%kU~yXYAEsl-UVa&|ofEi?LE_e$xQkp=vMZ1n-u1|~_^c%PdlL9L z{gzG z!3+^Cb%yi78n;;x0z$z-g$Qt3V6OzIl^}x(d>(kf2!3H4yzP(!!T6wP)!%JB()=Wm zpIc7n$}KTu;!zcNDpoJ);6ugs84KMSIDaw$|2o0H9AvOdyF&fIA2j^xwF)k5Wdt%i zCI@?LiW38yYC2}p+U9rL@(r9urPr~Sc7QI;lpo7uZx?BM^UTotcHkNYm|?QGGL54$ z_!DSHA0{^zZN)g*>Z_vnO>eu2lx6iy-8R!&fj8Mq&l*N_aLsyS7_IdaYj_HxM|Ug) zfhcX9vLL&LWK;96@+t+ro`%4&r#HZ(MPk9C<$n(=May398oG9 z-{Ls6GqU)Wp^@7tS>*5;@hAyXGA^(uQ`m-S+fitCe3+@c$EISDb>Y$l2W{*M){dfd zIUYr+675W)`XM(PRfO$2BkD78i)=FU_yI-EX&GS+8bOj9|5+ z)Z9_02X;~>R49^m7IUiAW_^bkF;-#Upx7M`9$)75;HA<%0^h}_S|xeAFX5DQ2@Gj> zRiz)Cx<`{I?#?!bepVnn*yY?j7|nrl<>`tj7R*f#;Z|_Umt3T&e& zQ9DUEqTvmAn#x^#Sv`8 zlj;B@?&Ro@sMn$wi#3@b1PR_!6i@FPtkN93@J6H!Y!Tw~KK!PFi1^qozRh6p3++>X zAOFKWwXXoYWU#NJN)mWHIV?IK61ZgwYX4S_v!qFvgPc;mib!~&5gx|z;h{%I0m^r2 z2LWh|FQBhNuBo8JSziPWdgNTBGK<^-qmyM{Z}R%Sju!bzQ#8+96UrPn$5z;CiNwee z#c=}g1zAg)PD&m@XNN$7-e(gbM`%Y>i0#DT@PztRM8bGAZeNCRAMq7%}zxB?5o zclwz&nQJKV!xWNR&5M)vU*?OGWPjIY2kF8VPbo(R(Y@#r6UuOAPpf@fv+a*)(p=2Y zyLMTu&}U=fAI~?QsfsITm#3L<^lC8zSIO4k35oGBm#^RM&`^t$)7!7?-~t>!d9fKx zi9nJ3iXvn5KeuWa7k&3U1JPC1|fLQ1u9UjtQYillm>`m6M}f<8S8Hk&&dg355$C zANW&ExL?h9_T?&Tux9H(bCW-^@oL;L#a%VB99u+8P5DVP=Qq>KvYJ78k%q2*`idv& zwpCqKseBDGf5qwr@vDCguEWnS)#7)c2k`1b&wl0B_A@SDC)Jm zBL0S&Ux_`v!lV9DV?AVJ^$bSJ)+LQ@9V)lvNSB7<8)LK-NR+Sdliv`r=@bpbemT`t3LdDRCCR8Qe3ldG?%Kmf z_a-;BLA?{u@@Xi=`X|-jouYoDbewPI_~_tTq^rhb-}rMsy( zAw3UwtIEdfJV5!#X+dq9`#z%VD$WQtmJ@9L}C*>qDw2`TTC$ zKs9^iHRm?~(;Sr?yo&G!hgP{u`Pf~YSlpnFTG@V*d{!nAJ5}@z&%KEM%K$vsG&E2B zV^(1U zT8Y~>h1*Dh02&gT3(J2ngSlTW^-_u90O4%kt+LBp=iD&mcgsS4&#G@_x62Xjh~PLL zyWH#aXiV`C;f9}p>RF$u*P9wYLJYm~-F@k*(PIS=+=Ue5_mh%I*>a7`$VcUth5fM9nx8Ut)l>fNy0XpSIvMs@Eyt1Q}+$5 z&=2Io{cs~pAA5dc*=OxH)a$0>TGokOt}-p{$=3=kEynn(lTo=e^FrzfmdCehxt9d~ z(nA(bCjtyW1P!yW8oz`dxy2Z;-MD={IYI+j{EeVrG~O#7{>1gI=w||1GZ!eI^r)i! zehsZuXq(j0Xm7kb<4lGI=B=JG`p7HtHc9FT`myG=C;Az(ty!YGzM&B08yGzdlbW`9 zD1E$@&v$y+rRbL52KDJLIfmyRHklYy(%Kz~Om;byVng6~ZYgF{?7Z_3b7L!+1XK|Y_$Os~%+&AW-L*2ViR*EYStRVpNm zH<#7h|A7!@d;6(prSVFM4Yh(hLv6~ACmPZqQ0f4r0AW-Kbg?%u_np!|@QKU1qi*(b zTjI3NtX_~&AozPek^E^e;XqGzev#k zX7~T46{SWK#u;S=?X&hzY8B1qW@AGF+b}>f3N3aFh_J=g@gueR0D_UV4JWm>Y`}n# z(yM_iwY5-LXSIZevt2+`UN1$+%5)?DMY>9t`5y2dHvQo5qJ8SF(byN3z!){MInwc* z<30V_<9(GiWA}Bh0_1%wgt+0*h^=!QWTn4&tBiAnt`wgFPcwQ(h371U znV}JjS3GaIL|bmDJ(5YtJW3s!!~9TV#W`A)SXG2LD4wH=GgCV-!C5vKZ8h*p*b{qQ ze&()rAI0n;H1h1?V=z+1?MF!H^p5fWk@ii&nMPf+vF%K3dt%$RZQHhOW0Fj4+qP{R zZ=9T|I(1If|J8r@T|Afj>RGi{_gdY(G4GB!=e(|Bt^qJ$1NR;uB>}i&rL=(?$lS)U z=rdDVGfd8GvXWmCY?h@IvZHE`NeUg0Zh8Xo=vOWiPGB(}CD+k5Zj7GVhjWf&Oio|DNp;8U88WX+y&J74 z=P>PR$4F%@JwLiqdCB$=TUp?Z1PL+nB2{hJ89UD^GJIK>$jw$%B0YVMnmkuxHr6d- zqQByd=|@=FgR<}7l*ZGW!G(@>gG;Szb_(*FbGmY;p_WK>SlSt_PP(>|g-hZE9L{tW zCfc_WR~-|9N~$?o+Bq!9cyY@H@~t}$0{%#q^u4>Vv7Clt(2y6n`8}%z?nuR>Sc;`J zEY$p+k?F|umtQH5xAb~XQI`IN$7UaQo7JAK z4hh|j)3~!b@`|!3 zBt>AZev-n_hhT{Ybo{}qNBhj(NNtaR9$BsqvNu9Z)(y{a`_<%yDK@SR!I5uP<5tG? zgW32$&-PA0MaR;nN2^$Mg}lxJr_?YDPmxw^80`5|QC|xKRHa8$=~U&%-_S!ApG}uf zO&}1=*9G1U@Q!dK#Li-UkSbn16;SkbEI<_QAT{F12!+^(I9M39bB%?(DhNwv)5F{K z2NwXw2cxFS!=H>#6`-~qD?^Qus8%Ajby%<~(~H$APs91Q;UrTL$SRWL3pJ7` z5Kq5Pc9O!Kz8JFoc8SbV1mV2PL5f?TX^WybLc z+D+Nq8+5xe(5~G9_1jsgqzLSup&1#N0Z`49whhkqur+`oTfSlSjGe^q|KN!7{Yx$& zCG<^Lh_|Au*MqoYo!E@BT8rh~S#_>qKi<;khfBGRU5H2U0gqEa#ZpUGe4!*i$y`x+@}ty(uHtQiXLV$p z*Iim9H?9Y-Ja_)4C5wpYB&+#Nb7)w?;Q`xEMQ*%3Mu(*=PgiK>vMO73yZwM);YL>s z7=)~1D3$|1ctO~WqQ>7DGGQ&&vlD6D3c^^AVtXUqIF`FgHJtq`anFG}uy|E@u7lZe zuEMK$*>BjfJVpAlpva#`MSje-;qr8Tc8bYFM*RmAF74KW3F;o$oJ+k%^vo&V3PGIb zbXQacp3AiOv!sFs2^!q)fGJdT@8OdYkH>jM#v1Ml#Z)*blPyB?_Cjk8JOj@Y&Y{^NfKQn@(hJBNS?%^^IU8gjs|M;7 zQv)zX;=>g@U8A%HdsGfxYjs5`B4*X2=tr}Sw0~qCT(`wS6Ak^0LEwqs%mtMO93qx& zIWh!@PXg&3#ys^uk1^xlDoz_NqX8ckfB>bwQ}olH-@?6eH;d7c^7|50OKnKxuE_C{ z;xvo-b}8P%=`0P!a{tf^Qd(AC^T9=%w;Lfs?A&xT1mr%4#@E>ZPq2O9( zoTzey9WHT1`pGC^^rdeSz*uXryzIh2&wF^)&=d_E}d}@4f$&*P9`irH#+z< zsw5R%skSR&9!9c0PyOtAUuYJn_thq`Khp9 z{P~YI|3K}iF82>jvj4M{N&dHOUd-OuLt(jkT#+nMwB(__z>_LuM1 zw`1-AR~3|mJB@zSBU2L-H1u)}+s&;P+5Ey9Y`a#QHS(8F)LADk(;J6Q0*x?z0O;(|(a}z#XtdfK!|jv2jJz}V z6W$sxKYO{>pLg$%@Y2y41s{2Ho%k8T7F- z2mLeTO3mo4Obee5iKce8wbK*wrlPs-6dlvtxq02e?R`nW(|V@Svb%jKa_D zBtHi|R}V%Zr} zJuUv0j6$)FSb!ZHPW>Z2H1nNEf0(xy_hC52d@$thId(+mN}RW#E>Yct+b!}55;><( zGMAC}E~fUBgWxF5HQM9{>;~xM4y6XE3{fNI0u2ct3w=jE8G!15pfqq}`S=eCgse6Q z!S`?1m;JAB4gTAr{SQj?zwP|~zdNI~Q%k+F`Fc8duOHE&-&&esxTr2l;asq*WV23e z!A4T4o_{iVub*Hq9>rW;u$(X=Bjn8^(~|}C@g499vWHboomPi!L?aSRbS6Qkn_k$S zzIE@7PgB$Au@|$X>FqzZ_wrD0P)?>49ldTsI)zR^C3GQ~=frv>hVe~t)~RiY-6DUg zY?#DT?Ecpbppzk!!&72(VN!!##8Mr4PGwhJaF>d>OO% zG(N3?Lb=VON4Wb{uaQlZ17+>02KclU3%el9&s2FbWfCwByegN7*egaU8h7~ek7a)H z7v1@2z>MVbKS$xdvk;CNJX<&-1%3Fp_bUkw9;B!fZ{P_btpvZYR{6x8JZj}DstYPN zfvyX4J-Ab#ab~O2GDDZhb$LSgpY#=NE;5_&1_;Qu92iLGzx;Rq_om^|HPuj+M=j%N zYD%Gu3KWDk`e`2(sz*ZBPOO7fs8^`duImJiM$-oFA0W0-1O^`l0j@{d$;@r9CGZ&W zzU4HZy}6pQH!^RqV$fGtRJ1&8lMy#<8C3p!l)?Gt5x)Tc_Kft`+t2rr4PQ+X3jIFk z=yLR^EG{}$2+&8r;6mf<8id^?QLQ>xC_23B-!GQi)CyPnd`&JLG^Yz^;G#A|&~L`= z*%vo`EyMlsS#?XmrM{CV`)-B#`Ap#9TS&h1Uw%EM_RxeqEiOK|Qm8n*TP+mZ6dc~qN8qVY z8!ens1mEdXMF01}|CApRz<(+u{z!09gW|F_?^9^Ka@&5&K9{~HdfE%XB6FQ z2l9Bbrm{FMCvI9UOeIrl%+jUn?4to&qIE#vjjKWpG zPlB)t?SBTx@8BX>f%omW?BcShn0d6OH#)yv59+s|xLBW@W^9g^YKfqKUqSzBs4hEd zrxo{eULL~Xv+VNJ7mubD*HB_1CQVGWl_DZfwqHqFD#pyD|MpMFP7a`sT#J*@fiXHT zv?qU1W4U*PLH&70CCZMK6Bb$&)K_X!*y%c!sRUg;-AP3QB>(tjwA7T9STr}gYb-VT zNX~mrj!Xb6|B{Ge6L&rR`w}LG@)*P(wwvc~z-QDmv=PhWyu;m`t>c zN%jKwBSk7|hMZ?<#vPJ@w_Q|T$)&xX-REVgKdI<)z%I-EJvJ3>+pNo?t^$7Rl)n~H zo}A}`o{9(V((QNlHLM68&%{%Ai2@k^b(@n2KOyrWOMl!mJ+N zB&q02X(hqT#V2OOD>=eG{d`hUxC*>;3tEJ)zt>XS4%}n~*Z0@#o)%$H;_S2y_Hi4r%doOqW3>9x@E+o-5^uW8P!@rL{A+33IRPUddvBuyBDXU(M z-`r%P`r66K)w$syiCXu5hZ_o#`^P$g>>vjscfHLF4AN14*Lyw1|0XUC^j}zsIsZ<7 zlpgIqFoGM&>y3DzhL&K>0cJBX2@Dk>szU2Wk0hc3M|!z(xUV3F9&CKVO0bT~f0q5e zAPLDIav_&>8o0aM^Gfb+x?W!@OC3_(p&sL3c=e+DFAyEN107B$A;a}9FYLhF@qKP? zq8>7n17GL0Pd)rSLgXR+l=CBd4U4#e9m9?i22Mqz7d+z)i^7_|G1ffj7{?O?`Fg&~ zf&$4>Y_O{D_3%!+V4UMN`OzFUutWr#qI zy|>5p*SrCVBPw~fu4nj2z0GBMTD@3UfBCCcIQGnk^Ry`@0A#@TqR(S+;)Es?CQPb? zEAHDrWUR;$>D6|#{COZ%%T_yw{;8*d8r|Q)UZ0|bc{-t!IRT@%@gt=lX2A6gtA$lf zrUL&M!;_7DQ>(#@JmJbi(UT8Eyh}Oa)XHShGyUnM0Io*M+++<4lKws{Kl~ooZmhNN zPG8GKE(mP{6#2wrKzg4uJ#8E+&%k5m+a0lV#vNa-NA?RRDD2;R=m>s90E71~$g9I= zv+LIfx!B1ySA{W&;WFoxB|*8bn}XH3%}O%BwG@kvRC^9T0*nKY=`;BKwWg zTK|ApNO2Z>IJJkycrI9){F(Sox9uPF2u;XhJQ#y1zD<&sXFNF6W92CnO9^3PA0DK` zSJ$wreQv~d``AXHp?FMbkeOh#=W7lm40J%lZ4NJGb--GDW3&k8WO<>P9O2)=K&X?- zFnoOjr0y?jBz=!NKes+-z;pnX*ZqU7@Sbq*HLc|5&P+(IA}v)|CQ!K9AJBbBXHBq0 zW*er)`#MOTSHoQag$qx~sD0m)f=>`5b#{*na6**3*lMz2s9;fjWAaeo`F!x_h_j!L z_)iR|A<-k&y$)mo?;@~7G?I^aXdS#R_z3VW84~*erB@x$gGRwg8o2^kG0wXTaoaZ- zBNsR%%$p}1XMU&%amP|vm=B4l`D=}e_`I146PK%Yxj}f)0Lsq4$gHR${aCtbYsO~O z{Qa(rU7$mddeQYQG~ynrzL3O6BnZDEq}v`{0>=n~F6pR7TzSx44%Nj8OB;c(TW`rL zASL%}t3x065SG|&fm9QcMV`1h^IsqOhfTuYR z4cMRB&b?hbNv55I);o{4d$u-UBwIcgO@lfQg}}7rN1q>2)#A7{2vWK6BZu<7G%UA6hl1d z{rRmC(lQ}Cd0>*`Htf*6YJrSF*;BLlGXnpOx7*w%y&y?oIglpL57=0&=O>0$Iw7Uucfm9es3Vh1{Rt#Hz6PUG(F%p4kX02U%)o45>%X-99zRE&+j^e zDI(e~!do2pK7%aDo!c+1wYLe_12tl?;J^#W+Vd2|qQe;>M7R;Sf^kt`s(T)!6ea?c zaRC-c4niIHQ5IzB$oLuo2VHNS!UWZc6p5WRu`%$KX+KfN5TrtWU2bmJ+KC$^OgPe_nL4X!C(Htn5u@vr4I>D9BB@sVC4-f`kr`Nnw0H*+tQ^=|X z7`OXfqq=J4H?X7E)K}kao#2QnW9@tET^}#pkbkFPw;)aJt}ZzHhyKTxDVZ`%eogsYG@8Q46c590Y7NQ~o~#r_k>wooB3;Vl&u zM4-t92pzi)S|6lOyN@QJ%@zcC#Oz zV&d8HNkC+<4gz>pR>r5C)6R?@DK%GtL@G-1-DkN(4vvUC_AvIJH`_fA8R?CX_M%KG zYCKD^F0C@~4AzU%gdRyywQWCeZ4*%)Gh)<}5YHeaIX_2ioq?*=~$;bqK zn_?hGsImpD2%qM4RHj=@m6;oGfLaSdgl!C#xn5v3D z1kI)w5iioipmqqDdT|?w5qPcl*mrszj$lq$i5Tbrs4QMme-!HxDCk4Nu3$MInW%;E z-hn@mrI0QbMF>EgLJS^h5!*AY#?%Mv*CW0O*;&xsqjEPYH3o3vFcx=HgrZc&uQ8HC zbAjLB9|e=3gd4TXYTlq@JXMI z+%l995pcpQ8sH~X>#Fs?fT*kn0}Nk{()A&W`-O17F`f&7p=R$tF-Vy6i>AOcEg7ba z30DeF@*zaPH)D!1>Ir|Tej*GLL`d1Up0no%3E}!;v!c*WWMGtc81fj`Jdpp|41?r% zW4N4f91sC@HrP5aHbuk1DD7*~7 zLXgSwZSsQ36c+4OjRkcEaQ*HD9->!k?yvQrqG&Pz|7}Q(vxj=%GlvT@_put6|qanZ{S+`{y?ETdv7CCE&K{flEVh|hufmbQv9vbG8GP_4AF3n z=WCAPw@^TNMwk4!;-XAs|K^lom8sc{U^A$frx|DC5bb8NwhL?@ zS{7>@8K5e*>dZX%c$@cn9}EEETQgopS?SpoG~z zr29~pv(plL%>AFnsoMZe80cmu?=b2ofFpG5*WSxjIL|9*sZH_p8)6lVJ!9W#$h1&D z@Q~W~eU3}r*ROuqnPo%r%u9#@B|Xp(#2SDA;YvgMZ}xNYi10>%lm>W|oeWmLR|A77 z7lZG+Vav%F^D8joJSNFk^OlX1<|BgHWJQE_P-F<}2Z*|%F5#~G({1AfmR&4(ZXoH$ z&c~{m{DB-!e|9UnjQTgJ$R>eog8BloiNe1EV0A3E{Z>fF)83$o{RWnWT$R0{blVC) zz)X>URt93>ATUaGBV4i(kgWIhG3ugm4IEKe0u{7yqgPnCbkV|LFx*~>xcq9Nyv+h4 z0;>dxSL|r$WPrBO9D&h}P%=Uylv+SAvU|idfkJLQ&?E(_j6b_xv8-pwDz2tAjAHrF zvG!5&-82W~sz8ibVVlStV#= z@8Z11(zuEf*`}oo$E5`}IJ9)Hf?*)q4i`e>=Rb?w2W&t_G)207(9(!^a++D>bwEfA z>)G`(uJ*thZvt3#D*7uytXB>6U3h7-d+z#d;AQJ55wTOolX4(3uh6BV4V_bKllbgn znXn@0#wC#`ld+Mgo@x|3M#+XsA3beY0yf9bSx>>Td*i5qi#UB0$&GWz&_&)+LCwo4 zhdh9B_-i?A8_denZg&up=_8cj zG!v2GxPSI?#4g{{S|fXQ(lq?Y#~Z*ponQHRgz(N9Xo;E8pV!lhJ&cfz4@+Oi?NT^Y z+vvc-a5J!GR=1A`qBu>TA}YLIU4Mq;&4Kx4DuK(Cp=vvX@cX_$D&}<(#J?VMa9|kP zW{lx`x;}smbUwie^njz$tAsj=GC?BIc1;wC6OC|uz=RNkxl%lDS$acFE93(&6SGe{ zu)R3pgN%5ipTEmR49pG@JbUq*=?Zwoy%?IB*JDtGf zd&vL0pECQ+1a>|{pmw`;a|-KxdoTJR8bb}*g&j4W+JCScNYSn`vlz=#SNZEMZK$$7_HfI z!V6&g%s*wz!|3lBGr16UY@Re@&muP5!`E_%_SO7*g98Nv<}+#G_A|- z4r*jiutvFL5!kD6#xd4AL=f_;(|HumLG~vjyuO$qHZQH`T!Ak<1_{lo;mfe~?8*&{ zO%8$L5Nvp+Dom28<@Ol~#p>z0sM3zbnqV$-&suDuIYr|4`UIb()}jD70TO1|__?$F zD;e)p93q5Vjt>Gd4xG?y8CY=xLprq`T&DK~ggtdX4vnt3nz-5C^(LDD4e0 zpxT2-*KFViNcIWU@e~F7U?O-kWRxqmcvWNM8*KQ7uo;`1MiXOi?bi^SWt)ERgbcfG zog@*l0ayd2a{$vAtXBO!+3qh>4#9Q2u&GDxcV_!5DAP@=QOA`5Zl_qN{u>o-(IBrf z*!Ru8sdY}yD4D%nrbwWLd?3esRlp34unUT0ly3Ex<>1Y)akl50W8}IHpd|M{5C76r zjaI*I#PTdcfS3|qK5im38j{>7c#8|hZ;CV*!lDC~U$Ab8j_SQ}@n?K)QAB=gv6*kOQmlGo!Jpu^0 zSDW`Bw$y|-abyx*`tamEoL#GatI=R3FY+dP|0EyYC@~)_NG(AToBH*sxRH=Kc_g(JAtx&zc(1eA(=DR5mK@fm;LJmG5YI*ZSxdLZVhS?no=OeWs4&A`#JF}dkMA@ z#7n>W*S692xHEc^K*S(-M;7HcHL5`?P-51FpLHc2aT|=??}@<8_i%rChOAsFSkS)3 zBHC^V0!Ijo3rT$Ab|A~!)eG0!D(V5z8ADVh4Nk8mJFf*JZ|p1nB^5v@ zwwMEQ^zzs?P4N=IMJ#aV&*^_Sy|aFz1wrEa#CtRq7{s3+afpIMiv6^Zji(G^JcA9f z2e}_fR6vJu!_|BbG?`2!38o71J$m;*sT0?eA&vDfNdg|ECQ$*elUENlG=p^5t~j+h zt+^S9uy{t+0ml0LMRyX*YKV)c@tD@AumafcujQS6_0&ae30N7fGk59^BY|-w6dIWq zsb(;&v>jx`+>ph&DW-+oYN*GQUmAhUKmfmL9j}Hb%9O3=8L%+!OY-W&ncpGCfrx;I zODZO))20=R=LIl*2}!7r{IiBppA?FuotO`a*&UQZlizo)Fw0XJmY#|!gJ%pnVjLTZmmY& ziE)Rq=+iDf4VHO6`6e@MEgxQ8V9@Bi3*MV)jgN8NtnSn8?#};=`%g#MG7ON+;$d86A;M$iEsoHTOAQ+tx>B}7Zt#a zN%Nqd9}l`B*Ty$12$mw;iRb2s91x!?(@G9{ab*7cH*izF)x=D=vM`@P5;oFgyz<)9 zQaclx7oX}cftiFwHCx32ka>Sl!;MAQ+C+7L3rLwkuHQJ)Q;ZuW{CCV}Fkmn9PU2rs zAO~mGRV|DC`o7yrfUc)`XTA2}m5mstx%_Lw>iborIND*vqEf2Cl7P!RacOM!_#2yJ zIK85q$kw7BT5{Ctm#COpmp8g+`9Yc6U>Qh#{9@5Tex072!akC1(6KRyJ@j>40(vH6 z0XwGy3W)5Ocy3+DBLpfShRm6ps4z~43;KmXp`5O|IMnfN~S zELAvfVF(EH;gf=1PtdP=DED(B68d%?1LS}{?4Bfm(kmJ}MBvl(gLgd0RVrzbxq&y? z>nJImWBdn*$!%fa*Fzh*ZKecyk2hrM`p5+%c>FC6?R?X4;>>qcM=gFMcC66Ha@FUdM=2g7QXO5gVm#P9u&+ES&o)j$Bw*e_m(G}S)AMM5Oo%YS|6 zW;A%drbHQmkDA25t-NQ9405284BI7~O}7Bvo6;P~R2-L$?GH3Rj|o>hAHuCkpg)KI zZ@R_AkzS|=JZO^^PLxTBSBXsWVZ68&^GFvLqHu}0QbdZ{d8Tc%-%G}PdQDrSZjUDT zG(8AHsB^=P;ofKh{Cx4Y`-kjSV_6)Ey~X{w-l?2Hp4V1LEfv3I41!mtVGaab(1rG5>ip+(R`9 zx>bm3AHw4nxZ|#=Nh2rng9`q6WvOqXK~-T-c1)Rb!!(^CjoDKW8i>j*QASB>Ni>lj z`;o&B6S-y~B|_cimCPZBI7uFoi*X~3cQLX;+aDaNy<(JX(2z5hyV%Y|0ZlUNrEn%Z zPk^X4P>SP|6>p%Gjp@inm_7Vttf@A*jP-Ghb_hcC_hjm_Kb=ePLIcC%M=*cDa z#dI~ITyU=+EaOsm{XV$C8PdWeutGuT)vy+bdQN)e*#J);@f}q0AZ)ov1a~<< z0hb{KDat}VJWk7}`nhY^B?7TeU#%j3ynZmneCX2sUP*PhO(h3L+igGi_;dNq5P(}l ztM2Ez6G#3j1wENoiSZ?Yr+@twf^l>4Pg|c}L!N=Us!Mkel3+~^$5Z2Kp6G3R)2f;K zLl1oLg#Ft$&_hue*R}h5ZQQ)m9Av*guHe#HO(Ev$yBx|Z*o4Vt34I)@De7^>+fc1GznSj-!(vkMUK$iHN=T~f(eY|rT$vKIjF zD5bL8qnU4(i16cxnEuH!Nvf~o`sw&z^57S&okSTkRej@jiSPCl9 z2o85FCCQl>3WdQ|8)jW~6H+bpw-AFzaSdi4*BUc+nz1Dvv(CfV@5wWB!Mv!L0)d8V zX5x)R&dmC1hEPJ5gZG3o-otOT1{xL^W(j5U&$oUHg}+GhQ`JR2)u;@!qyM(w;=taa zO8Q3ejgYq`-{wLm6oZ^E=O%^FqT}+IYcQQO+=ELG9)lg8n=?k2RE_+@82%b#eveIIMydNNZT^u zC)1^XWGG7+I8x3z&D8nMa@gj4fi>~U(MA*ZIMg|@+}Nh-xO$RP9N13jex$OeIR3Kc zGIicL|4rtcm!FT24Q+7orhP5BqRV(8e9{*>-+_kHjWlU@2fG|>$*y}qso%ulcz3@Nb%{+`p;Hdvbt27Gzi$J6GRK@avO=T`LuS8m(bTCn3#BZ&$KjA zFRkDq+Df`$&pOEaYhFxQo?AMfdBAKrqh})dCpLzpJ*y>Zx~8dwn5#TVjS~5#^s>41 zMe3F(pH$N8&f2KtsoGjnsI-irghk<8-`HAy7{+$%eJ+XTPb;{O6Ed{x$Zr&ZR#^;w#!8KNcfn(`>cArQsS*>&7Zcx?nhVB zo!jnJvX^;ZXTG zso!3?;^L)=jc1B8+6^ELta3^2^qu>7MkQAW*_5|5-g_)t|R z*h#rpVdvrkJQ75MoSi0YRQI^7@CWs{(liUNoOaBfZ%*&MrKHO_&@*T%6Ol_~Ksk-Y zu;ckTLsCg>oGsgjM_Dh#I_a0p`BjHoemgD+6zq2+yTeQc?oR0z ziO%Hioygsyc3bSs9?p$BNvhe}Jh4}`TUoG22~*a6CnkB522Lm^p4Y_qldw8+ju%~I zc_s(P*H_~0p`Q0RAQZ(^|VDtRhxw9 z@yrJ=o&9;ofr8hA5eJ0=+xRmeA{3MUaZBv}ek^S>pkrCzIL3^{c9?1lN`-f9)omdq z-u}x@wkD(UPdn*o4OQWDbI$$myvw|=F$S-%4t_ip$$tQ!4w#FKl|GtHE9>0!VWRX6 zj?kEmu9T|6nGhdcQH5#SfLBxCJlIVkNYLv^6=mR@^XjWhlGmBk%MZx7GEg3@8!=7%g7-y%WJ(lC5rI6n?bF;W68S>Vxiim7?r$$STK81Tb z_gv#RH^adwo7-OVY}-|#u=a+2OIYu#^F>bKKwnKblhl9Zw=3K{u;VlAh@wE!(hEhd zw>=MSCl}VtOOn?Dd569|k>KdZ;NsX$yZ;3aXX(wVX0n$5UbYZ^BV>JaL_Wb%OFs|` z6y)w<%AZe00BvrzhlaYC-Lkmw^t>VD5H`Efn9Xt`=|KY?hQf{7e(@rKQBA<0yW}r#zch2uPdahK>j!GnCJIUHC^tJ7fMsIPOf~*uZ8sm3hYUX zUjDy(tDYN6`A+Wn2%PdWMP-vPk^nwl_Cy{P`Q7P1k6yD=F_fz3nzQI=$3AS~gQ~M} z@D%Sjod-Cb3}dJ*aQ-bl>; zrg-vufaN|u(hz-7K2r6;%932LWj*xp3`&R~xLI~?Ndd0iNB#|wH`txI_Nz~2^Rdra z|3k@(lV(M{!k|?rJiI@iyyCfQC(n_WCaB$hei;eNIJqjnMsPwAsM6V4jK@yjPRdC{ zH+Ok<1i5aiQ)E_#Hs#VOM-Q)?goH5d5it~P4s2)KQ0l-hwyEs&419BQu)yv7p_(w^ zs^qDxz)?@Y4gHW$$061utcrel?e+uj7k zEA`y2N*A$q^S|H))_nXK9LE6|Jh5;EJ`v%U$j#kkkgnUVu7E@CoZ;jYIXKJ}Sn+npBIW)?Aj!>OIzgXgImocMTi_FQ zZ|TYneYU@OkE>^zd*{QYb?sS5<&1H^r3bj^dAbkG#&2UPb1fc<5>Q%RJC@409iwh@ zpm59klr>NOg2=uf=fmT&eLo7ucq`81sx1}HmB-vjw0(Xu!`4ikjiHq^gS+CB(9G;-SNj(C-O@x1Sg`mAKIEutj5I(~|F z5%@5zK+n9cg^N!nI9Kg6+wiJQ5>LjTTD_7E;PDqB!`qqVuay6F-K=G-)KeP{Ad`4} zZz6B!+bLI3ynBhY2L?ac$+?jNJZLY^9&vhd(}s^cvh9FFtbvO5J2;JCa5NL{Ycg5^ zrE*hhXo_|e?B&o6Kf}OOonHwQ>S1GxhvtrWuDb?hGUOnMQ2h?oUQtq#HQex?(53oh zOX8zyz!$AmUOJ^9LqwadCd(I|uP2^hqn-GWdVR~K_O{#Q!R9u50MEwm;#yDr21xpnmv|^N;=sd+t)wX41H}kd9yVdOG<%}f}x{Y7xcap4u(i! zeJW%xBlF4l2&Qd7q}Wj)pAA2ir+R!WR)gFqBjDC0{d{!1aG20|ZIc)5$&E+kN(|pO zzP4rlE0rrnIiz+$Akf$B5{*3kEyYrrkVW~GC?WNz9F4_n#t*M8>;1Nv9OyYLq3*Zy;^vW-$M-lgx+g}?xO~O>+K8QAzmU8`AXpMsakP&C`;Oigg zP~v|6p^T5K^<(vuqH56h?j@A{V*P~U4DZc*C?j32tsS65zR&)a@`|>{-{x-Z=mv^N zpgRhCccYD==JE0VH#>?p-6(C6pX}Hv9`jp&5=ZM{;Kq{jsG^?WoOA95Q0NKBzp zSL_VqXl&?5jfzp>@}~e(I$uuiDo6$Xp`5H_9>`)grfKyj|5VOo43;}k*=d(aXnVjT zR|MfH|6I*>dtq7porE$wkPL0j>-`J?n;XE9`jN!w?-w)(&j9B$-g|F^Z+(F&8Z1fP zg;JV z?R?r5(+Q`?byuX<6Xz!cBoy2XrlA2gEF*bX5s4*ct(I^z*g?0j5aPU6$R2ZGBy`>r zEs}D|R(7*-?C2LbS@dU@gem5=63Mb!iAuz+P1#&bH*B6n%W|i3FxB>xZaYHt>Ic9R zjmERLJP2W_cQ%G-R;k{O%P`VNUk;C9=Ttnqyv>A}%sGui8znl8R)T_5*-84}C@@%2 zS<3R8kqcG%F)+ecjN!G=iy)MW9}q#b^u$D-r_wjt+6aA}!Znh>U+ChfUqPY#PMAag zW3reAHdb~{Kson$?&ZJHo)52a8Hvo zkaOpHW;j9p%_=G}wY;5FvgWrNDVe3uDjkW!d-tKeR_QG&?HJ3OuQMyB zOi!6-lKkz*>hBc589EE&G= z38ud$rs_4fVv4I1le?6)4Gm2>pU|opi{tzH$DDCVQI#irWP6IPK0xrz7vnq+fuD12 z(iV5&+UC@hPb7@VaCZdS4`X{@iHP`V+ZAYtFcqb z7cY3@(cgyxQD2K=WLiRbT+A;_WpetfM(u|Lw6XrkBtu3j=lAFC-M4JCfp znL-S&m*4P0dA(LI3Krk3$-n+a?tV{>(|mBBKv`bwVp~gQ{QSGZtnnqI`04aeG~QXN zz)ib8HBrN$=LB?SNUHt?>iv#F{jxn0YCEoN<)41sHEpB{zp#I>ibD9LqwiDJODY=q zq+iyoxbKj(bY+c}8Sg2NlqO0pEbR+*>*qf#BgOrG&XElq@OSo4uH4@pR}q^0(c>e{ z*Q@?E0x@fjT1H!|hJPk6v%600B?Y$1Z%2+_KIfRf&+n)~?&eBshBPuW=VH-zFGs|y zs`2I#w}I3Yz0O<9YmgF_HsqM3zJ7`FVbe6-6Aa8UNtN^;Y8sN@S6msj79`)3Rk%X?5x4G^eXt!-@z+RGBd;bG(?arjHWuim5$T zV6atHVJt}=eT-X0=ZdN*s%<)|mtap?L9>gt>8MRcA%TdfdB4ao_ErIEEANuWE>5yT z76sJYp)nBtJ&<`T+n>EX{N!o4WF{AcmnP`Mu0FJtaFu!+!M+&Zpxa<)Z zSF~)n9f;mCamftlEk zABtFhk09HVl;vj%OYpvyf7M=LWlmohJK7fr*&rM;ERcgedZ$~AB?6_;TFlAIb9(*s zDCVo|J!fu}zt@n|?K^j(Bxl^;RsEdKDtsh~Ny*y_3cJy@VmyTUGOW>68B?7sA-JlD zPq?ko1f2q}zo=nitaWIgx)KijEoX0e8Ot91Llsr@_0R&QbGNh zXuasBNe;}-^toP<_+K6E77%a6H@v6X5@!mk{rpxqgVh{d5FGQ=ES~l83K`)c`PDUY zPrJX9&YJfQtN%ww-YPP3NubG|e#*98uP$#b*r~hv0~{*l(o_y5(YIZ18D>8|>5o~f z2uwNc+c!D_u%_0$-fO-ol_?&)9(4_Ro9K#-0;QGAcvjwpk@k4jJ|}S(rS-^7f#tkU z9!*23DIFgFzHd@9mp?K#Uc*WgI0*WfmbW_;EwweT4Go;0W+fn+!=K2Sn*gmIMbq0S zt!~KldRjgtTxw+o4%rb~vvWhK99pyNSc*u}BzK>QcwcHob5qEMSo3s(4_Pn8wdW0H zwWwwf6}Om$6Ho%!(mrf1I6-QYvwe;(g_(7%7KP8AhW z+NkGkhnS?^GEFCiFF2gSnDN-#eN}Kh`FZXnT7%fKUp4gwXIpn4SODnZ zTSMw>wBzR*VbSPWE+a*3#h0+mDpfOZW#4FpEd^dJ-^fB>@Gm3iINL$mRA0#D1qipw-+Eop6{ztdMxwvvoSX$!^N~W!Q z!mqfO(mzV6%nFMNQ&Hl^#GeU5rYP}}ZF>SkI86)N!@z7OhB1+c^H;Rl0j0fnF@g^r zF%+`?Fju4n;0?FN0ttCP@vc`pz*%HX4+iZ?=uHo*qQKb3hOeLD7|LuvuFajAaLmx| z=~bA*q}d(F4aqaztvK<&`EmAMk>?lYiJ{$8jXhPZ8=zBA_{&`G{nF$EVR0^rLkF(Cq} zgn#&6T91B!3H!BnD9`qYJ5uCN@}G4hgw}8sU@+eouuYn(YmkEARWyRA(VWv{qt5qoz0#0!?xipkHMI?!TJH< z5G$)b^|}oq;@glhW`Js$vJ|=u^DeBuVMfYp*P#86|1GBdcLwDdStazBg@3H5*5{(( z-bd2X#Ceo0k=B5oOz@d$j9Bg#goU-~(^se+^~ypc56!Ud3`ZJv$2Py)URmmSGCs!0 zfZ3P_W`wSlP(`@z#Qc=a#E?dYIFd1}=@gUiy+gX`lnNA>-Dt*A<+I6fN!1dm8Gb0S zS#{ckc$u_mb?ZpT_v4SiKpi%AJ~o^QOT$VaO|(FH{qqov?*nbI#ss_#d&VV(;7jn>g(;#=Ay$w($6gGtW zSyK^;KZVASh!X!$64=)4lMiW%%8VKc^aAN51qQ$}nb-S0weaTD=NyXDSp4gh81Ol!$`oVU=_Mh;IBZwjfFVIDE65(QW~2nV|y zhU#RD;4C{so)NCd@AsE85!}kZw|j~;4+d1oLb44w7}Lz4*6%;I#mq$)XTEJ z(o_tx+o=ldwXEjEpqtSI%UYtd%cxu&iH{H_NLoF3^E;@T5S-`kL*lu8im0r(n+uR= z91VwMl;>e5;R*OY=#R4iu8C`W>Ay&Jq@&qJ}ivOsn$%PZ_W=^IAAf&$mu>qMtm-r`agj&<&dL! z{-XfaNSS_O86R-0VVsg&E&M9ifF}XX*u3@-pY;Bd`1WS3p1Ih3LFNiji3;U6_G5E- zb(Ev|QkAYCo5Zcm~pS~nqUykUL6Mw-Loi35N&bYAz@mpbSbQgN6 zVlHpzCy)wHjAAw|#?coN-pbbYE-lpPVx?M8bAPyl8?BCGI_}qRGh?qP{k313TLc6b z4P)iW27}D$NzbKW8ST)tLrvUk&U5s8iivV8UJ>3PYqGUu5dfAQtD^PECy#^%7Me9; zd`?I3lhh_|L`;0b0G#i2li34Fo-lRbTDOE*H`r8YF1`(%yUSP3yjH|II85R71TTrfRbc zvU}Kw1f=|iKU?T$o7)gdtd^n>3FtO-+xQ{EzUG*&St+&7oiI+u@oHX9(`{|-1FS^} zl6$|xV6WPA23)D^$yj+#nismOFYsp52cBQ3QV?NAZckGw3$m>NE`lr5%t<$@<2WN$ z69Ggoxn z6fTmEFI{ed%qT(<%#5+*96O$I`lTKv$PRk<6*z-?bQv~(Gy!{fLO*MU?w(bK_FE)z zBtc5V9Ik%XE9kJ>lYcHXxD|AvywII=zmTO>A4PD_U(@Brkx?1dUfybLj&wJIQt`Z( z=SotoUdQ}w27KjNcEry-HN#6qwm9b4kh;26-rigCR+q);7>n0M_~!5ARBrJAM1FUEQ7a9@*!IW z9N$}%#O)OM$31Tu`$#h!^?609KvI2zjrk^WDl}q(x(!Ch!+%Xd3%Mpm5z!K@va%E0 zon=l)R^r0lWRaq1DzDH<5jEzlu0X+gVp}LCyt>vU0E&Dfg!dUt?3lCJsJx4LQv4|u z$$ia52K#X34alj$PP-QY$L+iiv#}VgYAtSV#HeMGB~aLCk9cZM=neK z1OKX_C|);-zN394V(T!mi9^})XX-oNAIRr+^d4fwePta9gXYH7FO9Uw%k|fD_@TL) zTwW>LE?1!wsmxX#UZ-Mg>yGSvZsW6cGQvo-g?W0KC1w9F*K3PttiXD`>N7sj1HGwQ zLaejZrMCE#u_cJ6w5e8<)z@U$ z@c67-l%y!*GSpS+#t$fREEPQHJXHOP=bH)D93B+ot~b|v3uW=w;u3kKPZUW!> zWbi8Gm!!(m9L{er!&!M5^dID;eaPi)SN`-G7arjZw?H04n%lwXTZ{UuaB zlX3RQ{7O{LHI((F=Pf{=vE^KnF27!wyTv3c_8n@#Ij@l^&#jM?rSvAFo(b&}**9|HbY<+fOTlJ0_*Ja_@#Sb&5t2wPJ;4zN z4YpFy00tvl3|E$@^%JS>7|F@_S&B$oN>LcoEku#L3M}ZtH10g$VF} zR`Y%Q&n}bb1lFl^e1VkzYn(JXzW;A7C(7-y`?}#_MfR&>LuVWMd&cO$sexJAcoy{f zi`s2-+GO^i9`81~5_9@%mBmND=&{JhQS(`f#8hge=QeAznAI}$jvEA~Xxn~<>4AKe z{59EblhdJkzT>Qk-56ZVz0H$%a*zo4F92Po+uGAimsTzOWh_CKSGf(hLr1#sv*%&VQkQ=VaMn*a-Mp4 zt5gL!nnFRTf3h4vtgQbiuNtHLhgbS$R$=K!ytaG$#wpQH=9$QY@P?H(=_o0_ULIPA?uBxgKm59);qd2u9fP{a-9iITKxpB*9mUnEg_ zsQXR(V9HI2pbx2mhd?C8{x}#NiN5T{VA(Qcfob6r4unS>!n=)U3F#@!M)>E~;Ag8^ z&_LAm72KXV9AR2!Ku&i8?GIIjyrs8( z=vP~#?8F?%FgJd)@}r|t!-rAr741S1liTIr8Pf4jc})r^M`45|5(5<`*54PZak4*A zR_*6AVs~^H_zX>-QELc39Y=w=C*9W!+NJ9@%6}-m8Iy@-f31{>+#Uy*btPx>ds6ZE zJY@8LpZFfi6Y>4$q5k$Ly1t#Fj+X{?eC?n0Z6%-VbkOkljE>6_-Kp0gQ*j(5=EIql zB8N0AgbACCpGs-s1bjTJBESVF?e10Vu;01b1=sh z8b#vfIWz?1rrVp}Cva*@QW>$*#Vs4415nTPB}ttA3+8zT+SC-4*}O~W_7rzfrMkOp zOkUP+X0;jS*|4T&I6UsRi(gJVnhm**Yah`M=}t_T;kV8@G9A=rrPk5g4<8V_JN8-8 zrpme@9BF?K#mq?>n0;bRy|Cd4tITYHCB-kcB$yZiYMbanC=|6g?hS)JowSt%bWL{c zY4aZ4wa{6&EgMHI>%vuWRl0~Z5_!+JXho9|$l8<)gz;Z^Iz?~G!?QiIEB>a;N!56_e#1vy`svCu%dtI!pPQ=u5Rx}qgkcA9bhz=}JMmuPg z&HkkuZt(*7OTRp5v2-$=hh2i2MC)jeaP1Kgyh0TdC|eZLi$D#iGleg5j-rK`6KTcv zf&kdbM*3s%rZy<*A8U$`_JK%OjeL2xF7FNF%fmlIDvda#3Lc>?737#y-97mhS4&rV zHNYOLLKPsuK$EKhQz4qob;D;$*rD960-UfMi-Twqaz@8XLw(G>cxQo3?}0Vwmp?&; zEn!eNk;54QOZgZ=nKK&RoX zu$|rRFE*XKmmpp5R@pns;jLMWqzQxiuH}HcExBq4-hXgaNYZCp7JX_PaERB@o9Bu&AlffC@vtXRdoBj)4|=cNlrFiw^wi<@R8oYHJzP zSzbx7w4gn0RM_Qkp#k{Fm<1BWbrH(}r{YdxM8moyjJ@WJ3NOig)I)8W*sCVdb)Nni zFF$FCUFvjEtjmMc?zFNT!W906|Csxpt8{UV3X4r_aKpPFv!OaYdXULjZOD7{QZTZ+ z6_sSCM9bY40QKtMpaQk@rG&l~Qrl3^xNR~Ul$&JtChy!IV1>GF4qevc1v8-ymJkAe zg4~08*UW@)fFm7D5-ugmWa}PPTM&$=t52R$1L6RU%#YKb*)0~cjKZ2=IiwDvz<>dQ zNIybF>H7c$6$&}#+uz7vSdon<65J;-H6K-vS2w$qCl&$xuYaE3C=I0@}IN|LF;8 zFB3wESc7P-m&d6I1T&fle4`PbbA)Qr52?%aZ|>gneGJC)?f0<;sk~P*bj8-h!St1Z zNZ3yuKATZk+cmMIBN`!WkHhmu_>7yld#A?pe)-R=>s)w$rF?t;j=22uNkZiJ{?9TR z0~k3oX$X<^d)3Db&4Q5azU{hvb9bPFgeFhO%UuQeV+1k_x`mdBW5IN`6sx`O;XZ#GbB_e-PxN@WOBg2=AM>u-8r@n638`B1fo=>uQ5 zE}z=@zeD=cygL&SGL28(qtzmwPkizo>U`Uc|IV0VHmF<~j1V_`pfnz@0b7cPS(Jy3 zBW1iHn-P2nkzSi6qD;}1R#eVFxZJQowPVp|ib1@sB)#@_eR0}Za7IB4x6{-44-_+I zx16!xncQ2uDoxo*bUZxU$K2)wg!XftNE9z<&uG$11``ac`fDpyJ~IEte=}&DxNePg z;prj*{jEFbCh;yY>yP#u5-IwIvgO1q%sE;7;HSwGovXw6VH{^`0T=Yezyuh4sQ8 ztr@dW-{U~)bwhjyZI1G8nG7}wT>*UGsZI16Q9%!Mv=;oiXj#9SA1bR`s87Y4Um6Jz z8(o5~A!A(wD4hfaopy`1R8LXn4|hbmSl{!Vww(10ISzDG!pTE_J|;{lhqO~>!d=%0 zn@R8SYl3m%9)^FfSAEZi47b zv|&=0mAmw&BLvD8Xk74ERLD#q5=0>)(c?9+f;z1!GhUiG6p~zQMcbug5dZ zrdC@6Z4t6>2QRrwh2}V!@7-(iw~(XUgCasxuTM#z4aD4i$1k$IL2Zis z_B5L-p`;D3Q`>`S=pw7KzrchaK@ov&Z|<6WaL_vl_@*{I<}~z$`7yQb-R$(UU43k= z_2Q=vfc?(G(?BQcU=5Ooi+-JiEFN(_l8BBqTbZ?Fits;?pyFwY_3nfGBjLI){6ISG z1Per+4xc2FiQL;*W8&`w?HQ`m+H{`0W@yE`$(-SKv&7&a!Nu+W4Dq?=OdofH>-ZbG zXfL)*GM-Z{;tZ_HopG&UJvU*_iB&@G9^?y$_Hxwvb-l9rW7>=9U977b$TpJ)dhw3S znY{Go&-2$A-_ai@_3^y+f_RM~MBsM(P?=XBY4f$+4#5ra+$o!8>d9(^a!BPi6A9)) z{zN>uOYcR_E8FOHNk(RE!kw0b>eQ;YqD6wD=3(^{(oOF2YCzAcU1l>=`D)@)7ej4x zU1~01N6%;&G3}p`k6DyO>WuE?>=F3@f&~M8 z(D8>ST{4X`{)FTVRp3&+39>#w0&Q6Pck<=v#={{LW_3H&*7U)unb8+q8#ZUf5S6*V zxu%EB&x?|j3SG!9EjKTy?-JZHc*Ud&w&paB2Nt=7l=OFq)Ft0gd@LCR+=g+}fvgGvH)38`(#pm^3^g z?KgydFl>WwL5Rv>KLBjBt+9eMH_0WvnZyGVvtaTe9BNAZdKg`}V~p;wF%ipodFMuc zaZ!fElH(RjSj9<3kW0ZgLAPZQqsV0@-zyV5lq8}WoCCc<2)?EwY&e6!@~j6&Docn# zqwv-;A6Wy|4W2fu0w%oIXYuC4b5fzMr4D2dHVpziNhC<{b=gqbKw>tzSz4tX46)2N zIS<|bM?uW)mRN|FBHDAkdAtPKradI?lKrd3!`nxoTdgo69+IUN2Gd`7_hqHSU`ay| zMARoRJ*n(HqcS%pDD;R%YES-yv%HhXn3SY95mwSST8~cQLOKit?m2&F49Y3EIYB(< zO$Fzgi-7!pqT)a}X%*p-L-}}i?$f;W2fVAGPCt;VdpwNrTJqI8y+CpHXy`*lIxsCp zmm%!sj_@a{{(6rJNtr0~2<90`k5iTuTv?EGSM(?VA(J z{Osc9kB0>%EIW=8rRh0Vs(n_&fEpOSu8idC2P0cg*^bFKA8n_U0+p5eXGdu=p1zV7 zD;1@yvD8%+?zKz)Z2c_fz>u3?GO>%Yx_vRiJ&@1o{{(wsD0ikHt+5@5>SrgP(wCbnf>TGduX_iGzvf*YYNT z<0k6WCdbn*X9Wc>d1i-RwAJ))J_+O#d0-)ZeK+=N9MjV%sI6&CxRD&|2V(0Q?siNm zV3l1z+lU*V_8z_u3(|=Hf$#h|AE}Dd8yQdWGlrxmtvU2!KRj(lgl+z`k9>jIx8Agmf zIQ@DKcjvpw$udGrJMt0Xts?f}{i%|h?g2v@@D6wbaM`*bo z?aBgZuRNPBQ{FutAaZdo%w&WBliA*-Cp2u;kcuaRxDG6{>{Fu2dN+B?mnF|}h`O}g zvdHf!k#zc9^PuCDX{Pmj#=lQ$RXy(@OH|6P_X9~AKM1f8f*boZKg$V1*7W5H3{* z&VpZ3n?`9LtFX24CA6St1YA*Sd3EOiml8?ONT;s~H_z>m(^@qMOYl9*NFkPCE>n9c%po}_8fm`{E?*W{(CP_Ii?^7?#18Fqhrx(g2 zZq5w7F2eGtC~)r{hs#*EI;n(Ycawoi4g<7XsX3`6NRQR#Osf2dGRV#^Re8r`cjTVv z1FDkZ<*#(Pi)DQISHe6(odCF|a{2WvDtbA2v6WHY&|_&*361Xax^hN347xQ)K)<_V zOp%%|vOH&~Foky^r{%o=I4M)Ln&i4jnAVY!T~e7UN}{b<0&X!;C>Bd99@U%} z1rgFP_;xj0Gzv-FlHNLIz$YVofAfa+yxsra0rlqK7?ZD2&X{KRj_EWyM56^W!2`Id zY$!!c%XmvpsA-(c4nLeMu?pSLKsqw2epqj>$&`%eU8TtWqUjs_JN}69n*~~+950$J zY2Zc^-zZ5babn6U7W#IVvva(JM;@?7P<}&W6gR~-VFcJGaYzifsXxRzKOzfS%hL6Z zv;%5p>*=GSadiSuF{Q~F^Dwy@T{VFLE=PgZ;*0R)TFR&quWg&DM%^dB64Fc3Qv2!J zPSza4c5Vj57wO10)8s1Jbhuc)I|OGUII-KeW^-ZUGi7y={)xPw1PuNpqkUo`sDZT^ z8`eJc0N4?5``groq1SJrGmESpG^FJ6(}ZSEHflQv?4-|al35J1v2T=q?Te*fjmx2x zgw#2vXH58xmcMmUs)ROL6JUq|4rMR4!&DJ(+l@H=-izkp#K zA-NtTP76h?F%iC`4)g`U1Gh{CVeiESVQTMQe#+zG5DhIwf7&(tct+mUJOs90KoV%g zb*M&T9K)_|nS?sJdpdKpyh;2%R?SM_*ib?BN9E8wLGlX>%ik=Bw?<0G*WPDvezcH48;tjjzD$lV11^QOcy zAZ539l_+(0(XNqB6Cn6bx3ZT`drL3S2<^d@m}voD#g=g3B2SHbggE-=UFE&D236_L zgy>1Bb$|A~RnN-5r9BdCJa7I+O4hCtx#?Ua`-vtP0;nH4V@6USc_Tdjk!c+1zc zcpk8&gJ7Y!?Fqw=TNd?>Y?mHWLyB4u-1h90wKy}7E~vWSmj_RKaT&1tn~v@psrD9S zT}w=$E@QE1bVyxV7xM18o!W(0a8y325--p zgoOb}5n2sWjpZNpxS_O$0jhWn^{EC{2twBjZt4+fb(}mf3$dceurLg=$@s_M_y^@Q z!$4P{(%@U+8O3jKXtmsdE%xTbsyHFNJsG$C{7#lzI=tvJEo zoX&)wF5^uzN74IDFl~kpo+Zww`W#14(d8m|4%4-IN%a#3HklI)shJH10H_@0FEU?` z^}`s)D`!VDoCka5l+73}DoLn_OrR+BX@uEP(r)mOX<=BL%paSogQnb9Jtmx};y=l#)F%7UdcRz*($MZcK}_JrS_gaP1?huh z2pQbyy1m5#yB=!>xEO^6#T5L^8sbyf=>k?<1rw0IG=Fd0j;=EHip~5xjcT)xG%S$2 zeo{b$4v(|T?l81U6@`tyE;Y%Ke85FD&2xPW|68POQ+qFdcdXeh#$ncV90zYx<1wpI z^`j~tzt^Gvb1r$!`Paj$20`i%U2YobiZwJtLdsI!OpzsGgIU^oFcfpyTd#Xtlw&WQ zRvqZn(Qwf}0@K;omoa6B!L3x#&i%k6{(Il|qW7KW5?$>}9wqLfdV$09XCy~GPVdY%?CNtxP<%8v|S&Xifv3L%}TfpZUesd2lR2}KaLTUW@! z?(DSQfdeL(xLN8rXAGpSj}b!wM3aTZCW|tF0Y7QTLrGDGV8v)6Xl=oP|LPWmY^k19 zz9t%4jv%aqjd%d5!=8sDIuL1&QxF8{GFQZoKvlVebk!iwI+rI*o+*i|9U|jYF^9dr zEPPisQ$uN9XrwtKx{@-FT$?Q^>VPg(=Dwjg!j-^s6_ZaWt5SG+iqUtP0O++~VDBE- zZRw4V6`4O7gS?yRPCQTs*)XmoW1kM<@@$@k9*`-%HALm4NS}bd1Ag^rEB54HaE7Ms zFYrj&4ehN4ec*)vqEXL2{LBdfJ!9w{mtdGKAcwYL??4cJ&4eOe^NfyUgmRJb9c-+>|(%Rpf zI^G2odZ}CL4#4j}O}iG6CoZBRXz~GL57WE0lz6IA3&txU1eq&5#|hR$9sR2elnmje z-Cea~X;zNRK7bR7z#{si4P;tTa{Z~-A}%W|nmPb&eRn`SxdIsJDL6I!P!IgGs#MT+_B=~+eW0#pxIme@SL)+Ke9Z%OP zOQ8;9pPV?$ zM~d|opMT?Y{QdUVE@5Mt@$vRS8O}&xRB6GVWLVtg!H6fhJXSs!H&8LU0P31wmV3J_ z|9m!bz$)|lH5lnj%FPRd4BsS#Lp_oizxyC1+WX@bzZrHG87q^R*M5Vcq41j~$rk@f z`8OiQKR}3RwiD1IXtc*ch$a{&zJ)^a#KFVYKdx$kxmRMD7-yHXGJMk&Xd5N^-0*$* z1p2qfDI4J?;WhAE%11$nWW2^6fn*y_?kRRsy-M3g4V-$zX5ECSBziKn4p2sf9@h$TEn`9TVcdacfm}biO!$ ztL7Y8CaVhOXR_OVMpL9)h)XKYj3zY3E-)0DZDS(|7md7$M=zExu#aCx)$Sxbdv^V^ zL<(ng3EgyhU&m?tJZMJ2IrkXX)QTE282kO}kIi@%1zoDOk1|u+IvbP76;}35NLF3; ztP;IYx2Ndzd)HZV?AZ&V@@s4@{pYxYjH!QxL$O(-DQ#i`CQC+vfyWQkFC9)TME#Al z2!op_6a%hk02XIsp_@#qlXD%y=c}WcDq8$~S^X$?e0xG|VWAc*`lkYr(jF1%Y+v=2 zBk%N`xLs&Cw2Pz`$5Wvu12HE4pVb@GgMZ3^5G8#}z(-L`KVR`$-i|=!gb77+z(a@u zZq#o^RHOp4&c`IytXX|T>rdLJ-ut{|j+s3{WU1;nEuX}`M4Wk*X*+~}h@Z8VoG_`> zj*8;s65^7S7z1|PxSZ1Bv1=l9n;r-* zm30m}{~bYWuPYb{y69^9>diC+E-RD;AVtq+`7?G~b*mdn2990ej~!HnYt+ay4@lbh z``I8qeQ^S4b?Il4yW3nqx+8ZJ%@7tCjGNRDDneny1mtEs^3+DUJ|jX!wNuezGQq&D zy1l~)yJaV+7mse=5Z3I=C6zh4_Y&cOmosGbiqQ}G>jAdk-u(J^XB>k6T1*`7U~8^7&aeDixhyLQx(gbO zF}#d<6CZQB_&0XXHS8TyoN=@{Xrg71avMeHE>Pl)g>0~EH%nL?@n5^r*v>~RR*bH= zeO+g!k{DViw75ZeMl^9lZlL?-ES{n;ia59-@4k7H&9_<=Pw`HFYwhLGk>E(CAvU|v z<>SqJ*%bCZ4&rt-^d%I~nnYAly^#uM^f-f*qgNmfO7_)|C%by`UFxv#iAu54kWBhS z25$&y=0pY&{d0K-t219T6F^*4@~J^U^yJsW6F@B@^B~_aPP6yn_~F0_js2aA@5hOt zO;(^*Xi+ZjOo1g3)n5HGH2MR~145{}xvyt6=^6yj^RNOewdPJqHwL|N10xyqfnldX zzh_~lgW18cAO^{6e_S!)gGx6(tbn8=#VfpOGj<*ybe?+DCHJ;%zk{UC4F^7J;2&8q zc&q6Fq-VT5$zuQV*fRmPkw8N4nLcU3G5`}sh#i0fFK79EGQfBM-6`A+o-nPr%(Q@bi ziQa!wfpAlQEA|?>g1Aw8U#N)(W@=jYIB*yn;*zUyq&DP|(EQ40XQT13C&zCSwRt?! zy&Ro1Z`tu8w|0E0!qw`-l98veNR7V#psUf`&^^GA0@w@h=0mV2GT((R!LD$3!-k`G#oMH>gpt^Tdj zNx}OEzUa4@9CFrU)9<`woaL{}E6l(k3*|epHkwTyEIdc{EK+N`kU{4gSN9A?=s=~| zmHleqt%(CD{A9EP#SsuYl^8zdwtVyQ&m0nwLl=ZKACB8WfEUj(zq|txNOMlmJF#>33~y?*VZ#b=HbTS@zj9u7Udq#?d>}L!ZRMe8)(pgD zdXwC`WCZeIX#60--B@bh%iB%4|B=v9Q4jCU&l9=x=jR~*X?FK*SQMR6 z@kS1a#Lz*Y2k^l9Gvi)ie2%XdGtdUI&>;uLH-U%Mc>K$-JLlS!zj`OYpuxUe5Q68p zX0x2MI|)dSc^l0l>fh`Hc1w z6YSUXR+40PHY+B|H#7jHo>&NmmA{{_!ameRUm2aHwZvh7 zTEq}C*B^MB$syQ)Mpyg=wZVm8u=IBjSD^OaM&3=&+uCHMLT_z-%mUt!nT6&FiXgw9!qyv+-@ zL38WLLRY|Ja#s#TP!a?38g!8G-@luJ-rT2D-YSs+#X834;NMp57s#>v?h&?YjQx>u zJT7N(zhAHvOXN@@_ly_m#=%fo>?srJ5c*}+ z@0(4l0-E1)y%V=I*j;VmzA@bWO|y6B@4U#a>zAp1tN4fX3GX9ZE!pLz6OM)bWEme% zssk{RkIe1%5=HQKuq^T z2Sh8;)&x^@i$qDCT{B%P65jlV^(ao~rW%L)Iz?;6lwJFF`yHWO_?EUADm3{01Dz2jK*(A{|kIq3u((fQuKuM_PU+S&ZxQtGc8KRWl_vC9^z*c6)G1 ztMi!7H}dx!+n=2Tpk$Oq;r?am5yC(}|4u$8^k=srvt7Q{jTVpjbs#Ygw3DxZhxxWL zPNVOY3r@NlU}DBY+G85-CXU7A zurHcsJ|*oRkv9lJ@bC7pT*asiR}44Xz~xNLUp<~(u>6$G&`ll=Tmkpm6cD6&UedhO z1(J&U>6T<7JPL1w*~W^de{#ThEa^-+>%+Y*MuRmsUy$~n&&+iF!eYH1wVaok1tWU= zYkz|55w#+?%?BAzy?|md@1EfJ%oc`u#rWX4`No1JcfnV~1BXuUfqkw&@FDU&V64xN z(7mZaH^&l)q-e~FLjM@pN9_p|3PHAFw;-@yIOUOtx(rMa<~1zT?mihRD*q)_v=YWD zY7PV-``aj=7d!=1_pqW*xho1%J>Ooo#5>*DqA)G?OMRz4xZb0pS&5)(%s@PCo}0=( zv^xxEsw`!Q-^qfve0e=@eq=sfplroj*c|Y!5JExE4D@W;29ejGZ6_?=dS%T9@u!6~ zXeJ2Y5!uz4nJ)`Wu?yz`wGbv1r9|$k1_;60c=TG|diiez?Ulsr=Dm5I9(E}%8hWFi zX>y`1>%WO^>teV1*yH`6{{^Es67UiYEg!E9bTi1C7j--N32^T7uLl-WAgq+oYn$tn zWEtVYpOK@>9zYgQmaV&=UQyb2ocYytj|C_QN`(k8B&(8UnTkW|y=(0H%5kFkf?h*v zGu(}bRyGp`#zyt;Ho>#LP$PYBS{63fck(t`wjV9Mo#{-bsihJhMSwWDZ39_HHa>3F z)Gw9K&bX;ORK#EBL~aq@a3$Yt^58iQEdAFDB*eit-+#cx zSvhe2CJ;_g0S?fY?KAJc&Ey*JB4=du5+n2Zu@dGqhiqzY`i_Krk=-_QQ?otMO; zF0=^_$#%j7ZC~(!rHbImuPG4x^y1n#J$G~Sxob$K>3z8BSW@jhavgt^ia}?1aoWZ` zfClIml{LM7zoq(=`mBmGl!>qtHC3W9Eqpbo-t(!Ot*JmS!(!)EXUz-BGFQh(o}TB_XkP)8i|ms1KyyJ^XOCm7{z@io%^?4(S}*R)U-rri-1niw5-^q(@t z=vL&tyLltI8aD4p@A8%N%O=z;E&rnN#)-Um=`p9Lzyj zFRwxE>d-}IMFJV|igkMrktD#On>HeWu6CL-|9qWU zyJ4%FaTr)2Cmkj&zqf%3b;zSX3j-UtPA_z1!W|}m6P$%IB@E%B&kd0w!P7ge>LpPb z&0eKYro94H_>O|0YT0_9| zMn&xUXMJ}~Pt_iINg*caR(}feg?0B+Y{>&!8WqylE&F%!JWtHf6vee$g)*}O)3bia zG#6xxdf_#bKV`~V&?s6<`bikgJ#rr+LN6KQqQPS~WM;vPo}w~dz&ocKE|cl|^nk)A zoU}FV?f`O)RbX7F4;XGW*VTw09MXDi5`mf;YRG#nx>G*vmag8;YV^HUY$TXq{0jvQ|Dh zb)r4C5bDlndeiB5qGz@9ayNXK;_))R_d>-O57&gnJ3V9NLqmTU9zWs-o>QkX)kqNH zWofK<&&c>{WCq`xcha1w*S&Ql(x33w9*#T$JJ};SpmYI`P$7clF@V8S%Qk{r* znIAyHRQ|I5nM?!es+o5vhS%ETHejt2fjX$c$;ji2_Ka!I-~Bhl5B&Y1nh_7QW3g)X z9;EY1{&#G3EZ4_f32b@@q}`QjZ!TkkYZ)#-0JH#y1HUr8zi)zG(t)6l(xFcz7K#gC z(OrCD&2HtEMa!aN9QuC7+di|0`~E`B{P;vCazZkyMquUq!TPmn_pfy0OIyo~y6!=) zpSsvEA6GNER;Yi~E%S6qKz3a<7RO>~jKMC!BSqZU3o(V)N1xp;m%~6R$4QoZ@ejzt z?|uEX6!^y?zDJM~yt@*36^>9lTWFjftZJAAPbH6-(H`LOysot( z=W6vSkP~LFW*r3k+PBb+IKSs*3~U(0ML*x5d587rPCgCqSsVrT=9^8tSVf5}6D%KJ zQyksmU-U6#+%RADol0((I~ux?&s-6fc|_z|ul00utvLHF5kDC{S5uE{4|b!pP5iW* zV)mVp(tqK=pR~L#dorZ$)9@-WIaL5T@WKnas^)>;UcM4p+5JJeTCc@}rU7kcD`_`_Not8JRoh0gyHe%4ZjscHntGKFg6=y-mtvNxg((Sp33 zQv`%9yDT3x%F`pwS;l}a=H7+#y$g+lxWASeclX>tQD|kv1pzpeW?+9z2;hFRD#tO{ zhWGyW!_lI5*Y%kXLZN zxtC+%xnB<2FY$i&(-fOI$Sx=s1*V$&2C>ee_4JS$ zFXv575Ewti29WjA98_)Io%qTa)MddLx;;{{&zj*FC^j2~pmnc4#a94KUukD?{&kqO z@ug&n%1*i+Zx{3~TsyV`AqU7UGcKjXvh+kZSq%g1@*No{ahBo+f2@!u`?|S5{ImMz^1ZM9 z6GxU8yNjiIFUBm*!b@O-{_k!(M)Ik9-P)eGUC(8kKXy%Dw~xOqUilfm_dtF|n&dpM zzEn=%(EO(r7i?`k+bF2NalW&mvFSvrCx_n=xfx2SklBNkT^_%C5otm^?SqwKbkr$3 zdSk_R{%uB=x_p^0mkWB`wkwzYD6D-xJS{tL;kWcL^XO`d6W9vBhU{TNTSR(Z6;+cNcES zp2!PV`(@75-gXdMyS;NqZtv@eY0}h@6ADKhGcT98`m`q5&ckPadtlrf^^)g8_G9s8i*+EVke&dHK2f_V!4} z-q+c5`IQ?xf3C29!|M7LU9j7GIn>F2b#17NjeO@(S$WfGz43ijc!91j47g*56a3UR z`_W2&MX;2;s^v6)ZY6tZ#PV@v%-Vc-KJF#r8uLbO82%e5W-a~%so@37~GSi0e}2e&XcJ$@t|9*nd5 zsJ@<9=HUK0S#b7T*)gt`kNBt(cfJoS#PNfD`lhIjq(ozGgQ-p1Lt42$JnaN`X%Hz+ zt-tbpt@Ze>N5qFC7usgYQNQisGlBK=7}b;DM)bs8vRoB;>#9Gw`@qn0VFeL?nWp^a zkuz8J+sd_gZw=&+NvYOdcc3ouwf9)>h&8(a))+Y zHbYo^ChPx(SW6mWI~+b;TNShJ{B?Js)Gl_eP|lX1^tP*TM|`EnU+tKYDr14yTMM!h zy-Y;Z-g`HZkhtjiIdVc`jKGBPvzuy6w8ILUvU48`{4QAKT=-yTiM;0G$mmj zK5jd=4>m~F{=K&!1+;ULZ(v6=a0kyz>?Vo`Y>d^*!%;`)sf|NBocJjNH&$m4Fb~p> zj9zpblhbLQJ=Lv#%s{*UxOj}-u3F-{zrpN}(NEi-3YxTnPb)OWDSLXHV|kYD*&4~* zhlu4mmH)%E+p=e*d-|P5^T!UJJ^DtiD?Ci64o#DUL$+5f*Tu!(n`4hAwG#mo<@R+!)|@Py1d;~3BZ?PE(0!?)Z-^x;)~ulxB+34i*& zEW;HWlIGnYr9LUMxMAxp1mmkU{i{E$3j+(~wP{jMs&XWrLXuDPCOX+H=Z6_bU5p%x zPfHS_5niC9UwtSmjG+}SzGz;O6CiQJgdX?2^xT(+w{QZFhoPSbmbv?yUrgMG3as|M-wOUs`*=&roj7QOPWE!}nUoe5vi| zd-?tmcyX%~`t;L++56JT?sd$*e9z?RrmvbMiMNGDj0fA{Mefpm^szSK=IuZimeQ}6 z?yNoQ_j}4A_;)Y1X-D`O;`DrG_Q6w*#p3y{r!5n|gECU~B5qn2J=-7u=a9JcIxp=7 z+u_2f#IHHO@q@R`yCW>l%4cKXL%r^-6_XwJyoV1P(?YG577LV~9xOWEmyZ8@b#rn* ztNlz-KMU25^Dk44Eq^?2%Ky64KbH2~d$(y>w{Lr+d;j76fq6mwBP(ClM?&X&>^z)E z!s7=X8Y_RR9gbCvI;V5JNZel@H;Y{E{g?5=zVZAv)jUyXTKUR_-VnFRg~o}Aty==0 z{)v&6R7a$`l`GqKeMGBb|2+}9_%O`Z9(i_q%x`q1Y^EXol)v8DJoQ||+4KyhjG(#b zj3W`-_^g~G3)lVQV^-ae*Wdej+xF-UE}92gPUgE*37NJ)0u;%(`V&z47#n zep9cp`Y`fQ$KA5>?=!otBT5HzYckQ-9fqzArm7xzVwnuzXvamnx841>{^#{ummxck zIZ}P>c;NN5k6IGkvxGRq=u7V%U$LJ$r;p#dPgAewt*MuM#Cv~MspRyLSf|6Opy2?a z2|LfRf91vcvq~|cF{(Z92X`Nn$IbU|Z(k#^7}c~_N^W>*o!=}BWdm-I_lXa4FU${0sx zIGPyn%$k0JimB;uZ2K>s)iaspb+4d(Gl3DxrlOxe1usX9BcmkSi@yyOhlzjQhkFL| zMHUI&8*pGze450vn445+XLL54aq$nn#%1tuc%@%=sfx0&>>E-d`jV@(k5HSdYDsaw zvIrjpikJ&+9P&!*|7na@VC0gpsBU=nJ9s#Lb#pRMDpK{IT*le0ZL-_I0`tX_?V4>q z8O}W3TG|2;Y&@zzx&OjFbuup74Ojk_=|$$tlG^UrtMAlJZN5`Gv?u8O)&0GQ8wkj0 zqmk>QXAqj8V?8P(Eh9#Ewzq`mk7}tDU&q-$jhX_*Wd2bz?{9U282&X;dhTv1VT16N zfA}LkR6nbaIqey#Z?@6faFx~Fc7o2E3*4Fb}++E<0kr8AhX+Lx4*8D zQY?+3()|YCvD6Y`(U%wt!{Rp#=*!Ib;zVNh4YObKe>&#(JZ{`zf3ENCGpzO{h@wALO3* zCH61{%UDe{*0zEjNrQb2ej7I?uMSF|rEjI8tRH*N*wBjFX#$4eH~-+l)=)*t^J~|Z zuce~Lyf0ftdf!-~+G;nR9;kb@{FrvSF!MKe@$I6ldzZrsPjq@KsfZ}b>3v;!g&}+w z)eN@q(Ym+rxz*#*@WPn1(Y5O2PTQQE&!0VVKDWG+JeEFkLF2K%Qq%?S$k8`5?;5W@ z|MNT*6Jdnfv-e0+x3jj3wVB?o8)okxi((++0&TT2Fsmf8Gl6;W)blJo~CIHKaF2i{5#S-e)wuVkEXI+06 zlXtz_yglJ5QDjM;Ztk`k;_yv2XJNjQ!Yf~A4VJIy++3RP@85RaUp>LXoSl1bXUkJL z%7T&8bb-Ow^X;Qy%YbDujw$IaRhJ&Fnc?pe5!H2?OG?+x$A_wiWYhUUS0Ifb3W;%e;86! z%StVIC&TRQ_mGP>Dr0Dp&$>ij3irv${^P=MC>2ASo_(8F|D*`~%{O}vDf-+(R>D=2 zI?H2;x`igw|Fj==Z}5@T)Dq-gwx*x-vqqagB2ZgC|6_c5D(T^YljDwT?g;*0xP3bB zl*6H?vBvfXX%+sNioO1@_mb^ zn$?YL3uddUHPnB%IK?RS-iUg1Q-EWFu1@X)JyiY z;LGA+y)Gtl?VQZskRWGq0a;Uz*=nAfJCplnk}notsdx7G%8iWAeH3!16Nf^l84y3(rbQw(0&_(yc{I z3l8X74DU^cFB#9y-0-QGUix`6MjHD#t6es#zKHy2h_36fLL)}-S#{}GkEslc361Yc zS8ANy6Qo&Fs6W|f{X-tIO1 z{k@n8X*I=X0sOZGuhdH&l@`!scpbkaCcrmxRK9c9V^mR(t7fCrH<(KB};r2hN z{VZLd&E68prz10H2{a3gQ3o?dc~*2i`VyC$h!~#Kxo49qbjo1k%}0C(eK$j;OyUCr z`)$k12gVDLpL3=>ehv+t;|V_X!JSCMWoBpdX1V6!v}~1bSntHFjs8i-8B0Db@wV>+ z#CL?~0o!ZIe~YTa-Z_6uzW-cLZ>3Uonz`x}ee}@D7fF`+g@iqAx)1in_w-mroW&KX z6B?v1iBp#z757f0*f(EzDRnE=ZqZKIySLRyHb3!}2g7f^w4t!n6UA9BwCxpFee_jy zuXu$^$uO%t<4PL2BiDE=y-eTrQkb!yMi(iZSY_W9(_dFmVot-@(d9Oz;VVL*$=hgO}2f<&= zg?P{GaKvztao?g1-qcyCULW4uj8A<3M5|2l;PE>8pHu$kx0oxz``R%jTq#9b zWoieHX-8)#u5MQ1g1wC@%nz@$?CUSzJg}bHGB1{HzZ(2}#OXlj?B;M&;W~X^!vOxh$IQY&TQJ{oOYm8d_?dhh!6likE|18s)c|U6<{`)J;(92eqFs zhm}XY_Iop9|i?Vqas+s$@Of~IFe zZ4x9T-?Jp!`rOl^;y7y`PEF**N=Sr$7^qvDY+GK6*;(4!dNA4C@!T??=D(2e`H$ zi$4V0eiVH>`kGA1-86Og^YasO_q)X%{xE*GwYG(Ntc>~KPvZWU<67^=_#z~ZEY2;& zng`%oYa41CifiZRxi;3{hy9Eie~7E7b$++L8f@NN9y!jjDd8UStnl~zPD}KKxb5)W z2>NqB;@W;7{s})rMZJ!Hy+qNF=UFm6yri}jo@=%Yg@keE(c4soPJ|>7-GyM5mZPKn4j-m z%2*A4`3xJrS9S8R`X4uy#Bww2=zDaFSDnoZiEUm>C|glwKD6zP9CryBJA6g6?_Y3~ zoG9gb#dPRUziKaL?0bnA92ZLVzBisVdEOo#7sDGuC+Ki+o=3BK zOka{#_Mj?Iceu{Z>RPt>{;(RCuAr<$n8x->?|{QFR&Q#CN`*jUJ<@RuUFS6p8Njv()c}88qj^J zx8wZI?ATPDUHU8I(@95d@0^wmm26$q|8x**JWyl*Xo}&_{t+YRv-rppy19N2K>`XL z!=Ks~^Y7C|`AV#+#&|mwl?2}QI`tyz(94Uy(U7I+a!1oiFRJ!Z=>UZR=S{zl1-5@0h* zvvbwCYX|mpc+SW5{hhFiy`M$YfBWZfhJ)&|(G{Nwp@`D+_3eGA$^Ap|^O?V_RWKYE z+V^Z{_iaNCTtB9=*d=%$IQ$MJ8K!j|NBUYAeJ-~Y;PH+Ll=vuK?y~jh2AaY(dv90r zf$=K0m7N?W3e(?yJ>akR8rR|balfTUHGDK}^!56`4*$knQ#=gYI78(AbCHF>wt?A7 z`&_dSPMDsqF#aklPBZu`_NRf08hZWF8B=Sv&zHQkv5biv4<*nJgVALwm?HYI6urFc z+4#$hiJTAZKK6I4X>yRLHpKU;k;S|Wwv|~TkY@>^WphrQ*1|I(r9XJLTUX6=>J;HzNNsk4W*5o+Jr*EZ>lE(qxg)0}4>MHvQ<_RLLU z^XHA~X-x?82|>-yw0%3Is!no&QPA~(xB3Jh+n(xbbgr{`9MfXTqw(gUe7m>$ONN)} z-xZgg|w(LF?f~cpUNv4@&>lcd4hifH~nw{XTD9p?Z!<> zHzquqTAKuEoMcKWU25WYJ1$-u zDKkWOjggK)TK7AuBYx@(-QJlFE3%BtG}cu2h(wM3T~*9t5n8L!jOEa(L;o-7SC;z~ z(glUXahWGIYzvbXgX8(C2nhWTF>6zmCz5MdsT1ddtaRNX2JuLcznRA z*r1_^YAaIaNov1|Y=9Xd?Pb|x4JoHIc@z2ow;NpCC7;|=cml9TQSNDH0xT~l`@K68 zaQ+kf$UDj9*BZjOWaDYcy%qDVF1w{owY?B?X_-a)m|=?B$A5MY&qc>{X8*O*xRl)? z_V@gKljeI%Is{Q(`v>#RIK++D6aPeO&KMXNX#UE`C_^lM6!^k+CEG)KPqib}j-86qeCdr{@bUC%e0 ztTiC!R8u+cYORk7Qtvc(1BEJzoRY66%yGqH;&N z)Q&+R$aJe2(~La0GbUNY&@fqI@3kr0`KPq|4HEf`)$Lg76eBCyg;n^%cM%?;tiOhu zuGB7M$+`LYx?nncHaUYSv?-xMFgiJ=MB9R7pMv{7CSH{BKN6j~TO&bfc{yRW{%rpGUVmFve{qxxSuUH&c{ z8?pX^>fZpB_eWn*QF820-!f`-341}O7xM__$%DuItEG%b&+q-*^jad&JR#WI{kDoi zRjRPwAtny!^rwa|Y1&^CFF1iMOaFYX?rZ@EYx`~g5@}YOi=89sxqn$IDh4hh^%h>y zb)1cztslRs!jqa@AQw6>{z;&*v=Yn6v>u11DL24I)8Q&L!bGZ~`Cgct4sA;xR#NFM z-jSY4+>V04A<+(G*Lq%r>{P0=@f1LnVv&(j=@ zdMEZ+_{yVJ(MaM^?78DosV8bv9}!aqj-EE5z4FAXto4{fv9ZHHWZ(qVlOMOjTT{?~ zZxY1#neH>~v?;GQ8ktL6PS9pY-SGOY_ToEZS}sn?N6j1ITp9Dmmh)+h=O*3xL&GH| ze(gIwzdhD$u#LC$M%xE@D*Kz2&e_I14Qy)6M~#^p>;A$fq_X-eB|Ln}VS2|llX;#* zm+;g^_u)XVDz(k&fYDPw8XmXSP89pSTx7WLH~ge$JO19jhG*l8>xPN)7HeBUrhkT1fJrDKszH{RSdl%&VmUZrR=58>_zO>C}em+CNPn+q> zC_na~v?|<@7gBCIaKh=xh}hN$;_UhaL+bD+X~m06#_xAy&RPk^U>|U1w98I^{~)^F z!B4wQEPiRC%6nHqPV8;u9dhVL)M$rqHIdGI&CG3qlFV(~!(_iwauAWnJ+L{=pJDGB=WGPaphkGZBPA?{N6WvW%C^gA(LHl|z3F>%C*+L8+#S-==AVcOK6zM~vt!(#OaK0gJg;9cwWK_o zx1+)F@c8flXv;UBj?rguOmRy2d$Tv!=W6_V->K>PAo)1XT|>#VIdpu1-dye6_) z)xY@m)GRw)v+Vr&6E!ypf==}utW9AAloRQjq?1X0>BCRHWfZe)KW~rk1m2T2_4sFB zt;#B$&J!K0k{P|f(!8cU&YgTs^+~3YxlLZ#h5QZrvsOv1dt~ZG1N3FOB|A2%H&^4Z zy%WrAW(P~uGn1_~Pdn(!Ua_tRnViTaj{2t6Jr=x3RN5dE@&>BB`NSq+eVjU1om|7k zbzx*~kTNPMryL8BUL4OC3rgjg#*kl!-oO zq~(tbd?16#CW<)3**dkC{91o(Hu)ESItQ`t5LbE;r&M=DoAJsw?1e6;3AP|rdl{oW zMpOF$(ZX>lgS>Bj@tK3?t3jOXGN z!?awbK+~3uEBn1yI$h`v^>qYZJuVUIxp?hscqe9_$vU02)Z2KuZs)02i5gq_S4q04 zN~2rFP8qx4t{@ zd|mh9+LO2<>PePZ^=Ga+LKk9_8eMOYMYOJ!%_I22_b*HDV<}BN&WxF(R$EW1O|PtL z4kA7~dOJS}mCvdsl|9{6x{*ttcrNPqO6L-v`OrhT1}cgA${y?;y|V*6{hY|%An|G5 zz2+2cUS5l&L@xw0!;`v_^II*3pFbQk3P4Ny@b?NI&D~9z!4Hfd4L5#a}-GP3k@@-6R}1~Oeo9rRD0^u43-kjuFjL=ceSnX#FF4bjEiW}AL5nkMJJEmWPuT-4+Gm=l36(ERnS+lVechz+_gBi* zxyV6FSK;PLzZCAT4PDlA_KGgO9JQ6_FBLQ!opd~#YNP7xbLMPH^_=#lhGs{8>`02o zoFvAouq)3yqp=i+(tpxK$N1+O)z|Cd^>4c{AuRKtQfrT zs*7cjPvzfKa_#t^%N)5J+~ngRT<(p^AJL!kuC+zynz)>w3Uc3a#@&BkVk~QlWo&tP z$ZE?ev80aWqFjEpTR|XOec<_MU)_93GucWBhp2xsh)Fgo)nUjVq?78(6331TPeI zPw8x_Pq+#v^=olNS)9nNK1Pwv`!^G-LEtl_es6z~=xUzOc4i}+`aE@^+dhxkSE-V) zjI`-F2CUWo86sAnoig+VlhV(`<6^-PGEr6`FUQ!#M7iP6g@1D9L7)Ba-@cm4r?a&Z zTS{5a?6Y8y^E_rKW=IL=um z4bpu++C}=f75jPsW|y3*+EQIvvBCSS7fDG~J~< zj~fx{by+VM`1;Slpe8=?(2e7COzh1AhS6=cy48LKsuu zir~-?>@gTG{h3XX%R4{P)t|NVjA^ikck6PE9kxbiAo6leYD=fKmV%ga`z10AzaIh{@C@ie@pS~ z+V$DRZ1&H;>*%vu3oiaXeE0d@>birdmQ9|1Tq&Db+mV=I(Pdhv%Mqa;-jsY~yJBc& z%NAbs_a=&dgzj9n_>;T~Z@T}>b=YGTrw`z&A*?9naWou zS`2xoN;~-~3Vhada%Cm?KR**;c5-AcCEY2C^%HXW`7kE3M)yQt$FgZUa}#!eeA*18g-fv-!k5;yg-|7+!E2_N}wPH)h31A9;JqfEy0!jbhEq89UrXa~>bx($5tKy&J_Q$zRDDzz6o ziC&916SmV2i`hn_P}ITR9!-UUWmGFvT{qY(7#Byf?rd|&#A`h;Y`gm)VV*i1lZ!sB zYp{u@@LkZMxqs|)P}jJ`k((^zl5DTi4DERME{|Q8$D`MeU{k5FshpfsjRjovs`;3b zvsR4mbKZ4zJ=v)yXcaWiA7*mML$_;_IFZ+v(zF&GRp*=aLkZ?wb;6YtHbQoZgmq*5hdpaqQP3m=KTULqm-U#Tc)xn#68! z-RKxAt9gZNz9@|xR2szgaP8N9y%hV(?C8*N+Tf^JcBwC0?e)Sg72mWELpSlH?{ww6 zy4h6=sNK5P)5*C~r#hN~Mx&P#Hlhtfei=!rJwi3H98Ihkx^F(?^GM`HN62Hj^!O8W zu8|2}QNcyU&uELDNXY!)eps?Q$8k$L8~r}cwB2>%GV48Ky^t}9&n@}|Yp+HV4I7Rn zpso;npB#8*O+Rt-T^rv>Sxa~^k#w;=PifU8oWSWw!WXk$v?J&mm2vADEZkcfX^VZo zYft>##&)I7x-9qR`Js`T)QVBnL9^XcH)4Za>-gw?g!37UAFIrj@J@L|zOP_!lVx^e z`lj(uBDbCOZwIz|iM0|nI@`~^Q7kp^AO3tPi*Z4>p2=u%yB#rGqP;P=Aw!D7_64pA z;&-k(E<6m&rEy${f8IEuE1VRI@R5GM9Re7yJ=yY=8$;6DYu7h9Q(RK%0Bkc#@ zCT_AcB~dcP9^`m^*7?ca%%f9k&Y?Um_JYo4lXhq+tADV)zkBQ73JMpt`4+G0d4F{5 zy+psS(ZpVZ=2yyfLFccUqQ1upS7ua;Grbm2nR+)f83ahXDG{x2H2d7qwLd(n2GsUh z=w2~0`WXJ|s+^W$y!R8InkPpqHhEY(UDSSNZ)W1G%XSE-{AOsE$i9lZY|VxE(i zLG#ulDVbt!Ne{Bbe#E{TK`9GM|4lxh#S!qXP+)>HeSiN4dr-^ugN5zH)!&Is@bxD# z?RTQ}@5H;2Z%?*OF}7V)oA6hi@MoUz7nty;o$zO$P@reiH}{EqH-T!(;s}0s(;`*# zl9YItz;iyfZd8OYgTINOxCH-mq1(4JG?11hV#f^aNhot+>4oI-EMmYr^DKnsG>`Zd z0r<&GV1@?6$I}@abe7M=P8r+(KzRy3o=gtPI&!NjfdJHPnT$q+rGvRk zqWC-1S&_%TlCNhGw5GMhzX}A<-c~Rt6A*}PE^#+=a^izTu|)&>FQ^ca$CPAuk;eurM3BE zgyjkI$26AL%^Bhzq?Z$nR_>J(4A~aYZWg0jR<;(SnpO)L_nYTUyX@IGAIhbsvSpN& z4H;vxqL?$pM6`^RcuFdpX<3pI74(4m$Bkw3QkAkyOplwCm5D>b5~>+fQg2(8 zl|9I*M8AdJC~+AQnvL^{3REVVn0|!b?*Xv`f@%^6AQ?dECZ=~!m6d%G$6~Jn4gwqo zmdl43GmaIPp)R* z#h#UyPa^-$pfzZ;wHY(saKruuZu1V*x35@##LXZm9T$KtmjAZCz}7|}Y{_du>5u=? znUKB}09()hbG85VnuT6J|7+9wpZiy-K|`-0lkp}lBUMbH0~>%i7I=m~E?$7s{6bmz zG?ITB3Uc_ty#Qwu08CyJ%Fmd0q4IwL`vR4d7;qY&{tJgdff$reTKu;~f~~f{P-U(S znX~`x^Zd6zjJ+Q6*X_(@4R2SQZcT5Eik|}Yf)%w|-iQiz{(6xLb^%qkFP0g+34bn| z`{Ms_nENLFxt=jf^W|~IDC3tAfqLeOFZ`;!U)1^Q1uDJ>)YDcd^Vf@2C=1jpSG?q} zXR3H9P|sK4r{&FJGppe(Z!@dq?PoKq>3y_fRiIwJf{9=C*p~+Wdi@F}fnebZKkYeT z8*WW+(TX$yRfaDT83i;mim9n$CW5M*AImGm!iFwd2nHi=n+qh&V9nXXh7^Ise<;t8 zTB&4D)|nF*&D2WxP<~2crSc2d8(?!jl=n%lR0e_75zTCl{ZK9^zEYV6mQ6IXz;Xur z5|)gxw4K48g^sEwg24jW=Hmu4Sanp`5ImPK%j7wHEig=Zp9zU1)*CK zv_Oewh7&)ON1M!GGa>iWL~va^+g#Ul25SdhmBI3ZwVT1pLpBX8TekUYn;C2^biNK& z3#{P`)(@;RST(T5GuVG%-BWbtbfG&8(-U6t!ha}#Y$9kYwc;h2ZT>Pvr+_8fd{tt_ z%QRW1KtJ33gxSm>9NH1e=-9&QKAQ;2CVwcuBevqzVIo*flWksQGBfyuHLQ+RG?U9} zX0Q`tc^}HZim!Opr|3Aj!tSY=!8ue|9a1!NIO{{XDRe=@lJKEi6}reK>o}bNn+SwG ztnMZ>rOh^J{(Dq$lioAa^!3M@HcS@^NM8aiHw0a}uouc*H~%y`A{#m2m+ zvZ#L0_${a&T5ZF+e`%1#pl-q)EVd3 z1lNh>*96s-=huYPWh#tMdUY#||Mu!u9G~%$QXK#5^+=&Npzce4+q{>j!uYh;tit%5 z*Q{c1a2-=VE~qXo9~V+*oxkW`*OR|^qpm7{F|h7>{^HHL`TVw7FLj0SpI+*U&)n$4dSLpPMAw5iGz^ zQ)uBoZib)N1Ia_yaEsvQ4@~@D^PpTpk|)C%L>mPy5F^&?9qYoPjcysp8hThVLIE4f zrPc^BVhlxSlnaX(e%=iVa*#D6lKA=Hl*w=nC@@Eih(Uodbg@K?l*5u;wDHF+WKDxG ze!dzk9}ru_$QY_){TMVAL%IC3L5#GpcC6#T(t|Zcj6}dl9>~G*x}gw`7bT2x5i&uH zu)`cUh#egIv5CL#ePqpl2Z510XwgQ!0%T1lkmFFV1AmW%0b)c7;?iJcz?vaO9zo-~ zVAa4HBSvO{(t#C0xwu2~JUE4oXk!ta;4CbCL>t?nV=Z)?hXF^xrXXu(fylyWIGdjo zeqK9eat8+_2?%uCH}T(xqv}JqOeib|D<;|)4R?SL6iY#|G+5|b3|(iTYZ%x#WR1Hx zem)QE6|i@}!i^e%VrH;#4^N2V=NrHZfQ7k-R)~>*Fl-mPQ=`bNHvYy}@O)bAWQDtv ziMTSx9u5t+h6fH}1|zXH{vIk|-y+nN@+aSiLVX+q&gK%H?=;vmVAH{R;`x;0 zCLQ%U(!X2ydmLjU=O-c5xr95?6TqTS;dvDRk=ZQ$%Q!zXr zU-IO8Nzuk^V}$xE){b-+Aor2Dzv6hl7AO=1VvbPXVDCteH}U_;iXv-3w+yz9^i0Sp ziZ%w^L*nj1@guO;z(Uu1&~+BFbYQcQI2TboUmjQou<2l>@OgWwL@mJ1A;v9wXg?ExCuX2hu9)|-Pr%Ybuff!pyZvk|GW>2jV z>Th9J7Yg7`;R6DHkHv9QgnA(~yb48hD6$XOF|b~ujo&knxSP;a05YCn6Tph$3w2?J zJlH}c?mZO3@sy!(1CB?VGWiQ$NA6l6)N`PS5kQS)JwI8xfU`5%e>TfMG28leri0&NA%e&vz$tKO!1@BpWGj5e<=d zCmm6+>_;@DDt5@iq3=LhoQ;1KJOdan;hib@la30kWH}i?h zqZ%XL$Z3XXXf^S#l0=c8*diL{*gC5HMH?M5kvLP2# z8*HWU&dSgYUU5~EkhorG&IHs*w6PwV%fcz(Mf(Jtpc-!Ucj%~!B0E9HVK_N6SauYd z1VzqpR5=uR^c14uCLCxS2n!JCwhPS-MH_>mn*bD=gEcqtpNGew78IX?;?rQ^oLbPe z54x^`r9qLKEf5WIV0*yIfQ1`X!`@NN2Nv$(W>Z814y-mb| z(QrbcW5LSCzlD*VeC#5AtklL|`xXN(;_l>4TggV(LI&K(75vx~6bQ1DGcMrAn1P7H z@)CZ`Hh=P_vSi~pJQW(i`htbW4z3%~pbbqkAfwDqUhG6Pv?z8g2!iDX+ly%MfI@f4 zMgb_?Rqj}T$6N#}JNeXQ{Fo(7hkrjjQtDW^A=#)42g!ty<@u8vUSJa$aGub38R}`+ z$wluF4UfP+1`E%IqCP}}C*;0^Jq8wp(QX(|f~Pvhg)^ zto6W;@#RmdU7HlkxKAs-DW8Apd4n)%!NsKMwE!0P&xAPEf}(5)8a3TFM>lM;lNRC$ zfxE1wWIZEvLna$(Arnd2P&8_ax`)9PixbBlfxQMc5v&+-Y?gttK?gP)gL4-pj^%-M z0Gke0ia4eY#kOG6Ft`ax;#de+SEHu=6Q$%f81@f_(GvnQg^3YojGD})h!HkMP2G~j zh)5(w(A}u%5wev0(+<7KAx4bg2a6~rvs<7yiBN$@Qi=izfp!X|;nRDt$Ruw4yd zHK}Ve5oWxAZB7`i23rM~#q-AK&8KiX)F4p^h~KQqlc}7X z(}Ujh@gzpvR3hoN9H$iN-U_r6EGNG##x81pKyUJ2B1U8=kaW!fW%5vpJZ=T{2beX@ zikFjvQlX?5y?O5^Y z%-(|%GL$Sr2@4NJ5070eS0Y8-Fl);Eh~9jDoT8_9D^SSYtjP`qTl(eXM?B@^?u*1- z;sxR^0xGSPNl|zRQsC;i63gCS98SApRl|wKJPT* zG!pDO5?meZdR+oG{{I!|3X4BE;vet)e`kCmtZfh1{xA9<|JvN@?EJpQYQc}!vsVa* z^D&Wp{k{Fje%TLjeS(VwS07w)OJsYH_$6{6vcEcZiEIUeUm|;h0CNHX7LM%q1!e{U z>?#N_M-X5)k^Kw6PJsZ!fdF#@0Tzwy7XW4m0_-9PFf0hL0A&AtV3r`ju7LnM4+1O< z+3yO>6a?565MT}*%98 zS93s)cdlw8`}tUl)J1gs3`2h;F16B5g>iSTsv`R%Sc^7AbSCgikyKOLtevZHC=X=6 z6l;;4h>kvfX^#WhZ(H&l#y-Dan39?@Z;9F6h7?_y}P!Uz64@oJ250L%E z0KWi)nf(AY0YZ`+U>UOC9bgYYm{|)@6;;#@Np*k~$o>g{V*p|1KY+RbA;|&mcj3AN*L}EXDccR0q8NJ0_9mw2 zkczUM34)+(_k++-wrfF-P`3YpP*b*xLFg#k6Byhr!zM*)QhEvoXM+#)P$KeaqScS0 z)osw~C(-IYXmx(Hx(iy}8-okQ;I=Thx)L%HzDmi-CFJB%vPB8mqLj=7J?Kd3kD*6= zpobQbPq~Dg&p>$(9j+QTDbkbDn=rUffb@ubOeN%VNXmOrv^tk@({ltV{UHW-5|Ad5 z?*t%7$)MF80UaTw*JE%`0qGL?_)5s%ASH=bR|5pIsxdepK-xq;Z9tHcL#y8e1hZaa zaDM^m6Zz;%$QqCmL8~7#ZVG@|NJ*pBPXU5iFEO}#fOLp_+$H2j zNJ*g8ZCW-W^2vi(5&3FC%!qt`Ag73Y|3D0hd_o|WM80AWQzD-`h%J$C0>l_T zdK$!<$k%QfcF~5&Et$O1X@Ygj7bh|0n1+c+k(d(E^7&=07gAR6vLvPqw0vV(D~6py zXGi3Y#JYK4}G_d)0=3F9ENl!VtH^pu2s zjGG1(B_SRJK}mQELPJR?2Z7vA5Xj|#K<*0&0LIi=)JhE3NDn&7S6HCPxo z{V{0zW7Kp$KJW{CB?Z2uqgqufQ}OjdjLVo3ax$? z5HG1$6@#k*BtR^jFC~+ONxkW1WU@G^w--c|)LRWAN$Ony5h3;72azE4j)RDidS8P` zk$U&b$U2aV2Z7vM5XhB-K<+09Kw5XcpR zKyC~KaxEZ`+bttULM{M{)8nB05(D9){9*^;r2J9_;imjz!s6P1od5yG2LenR1Qt$?9e!(yD=9 zn&v>tpGsJoRsl&`nm&q@?;|Wtp9D!w^;m0jEshZU=V)1Y8SJ z{(yC=t5~#k%bLI)ljeWjhTzO@(x{3hIOl+zCpc@OaK}Z-N~VohQv7?krgFtPWzQ0v zRpE!pqU06R#;4VQ7=m*)vf&a6Cm~9%E1Oki^g{uZ80|JZ}1eg{Gup=m(FEB|EU|b-; z)Ifk8L*W*H$$6IT_Hcm5(htq^As*-U^)eH){%pZy>Y^usDGpbVG)5 zQ!ovwItPQhj}M$zAv$}OkhPd7!K%3%;DO<1u< zP#*G-tQm-T_GtO^l2#QulJ)7*Ru!oH0zyl&Rt8}rS-%9KCs_x9u#l`*OIz!xNY+ds zNRo9L2!dp74RVxZ-2*~HvOWRANV2X1IYP3&4gzPI2cafe^MNpstP4S4o-+u{8v}uP z+8{8m1q9|rfWW-n($*U=kKQ!wPZnBUfQ#}_tgQ9M8Dd^W%F5>etechy$yy2^5iNfo zpfW&5VqPD>Fsxg%Fv*%5;BB1d zX%`H+6b-Bi{-e9g- zf-@Z!r20sYMki_R5ayaaP|mD3m}`dNG>0LnUc;lYnZO;wT+=$wSJNRBs1`UYKjrpd49mFxTWEWksq_hC(mQHAkRaSZ^@bbVka6 zRIljKxEsAN*VM~M6fa@D!CccBskx+j3KV)_u2~92X1&2&vjr&=QoS`4dSR})0SaFi z=9(=?S(55$Q0RrZW)ZPXcNhL@C-Y~mHvt;x+*2uti|n8U=^$3 z_)+plp(YR)QU(&qD#+_3>r%*Tkm%V1 zDMbxyL9$?Bo7~j6ZCFc@a#+i8jMEq=FiJ3{@dbrSVJ%X8!5cu5FK7a!`2w+0Sh@sX zkU+F{VG2b?K&DWn3hWn(Y=A7GNRDXT3O5gc(*oce0XS)*^&U7g08RsdvjgB1iPlqa z)<9-_XkZ0M#vGavZ92 z0IHkB|Q-v4>7^T#( zHAgXsf_$%lur)IU`6hs@Ab&HUAjnq(WCZyu0eM0GVn9xizY|atM*-kyq~y*seZ>-jVNX)BnOmcyCiks2t7!(S$&}Tk z&T6t{H7T%~tXNHpNy$#6 zLx=lTGhn!znV5_{T=Qyl^kFq^2Pmwj?_P~fuB;|GU@5EV5a7vbS^@a7nz{gYR?|FS zIjgA#@Mbk_1N>P{Uja8(lNPXy)l>+0v6?~wKUUKlz=PG~2&`Z=H38_C3ZS3Zt1%V* zqyhBH0?^L~K)+4^{mcOLs{+t359d4PP zIJWp`6K!wbZn+P`j{3>{P}ADOrR;u2sQ9l|It6%5f8n$yEdo8v~e^{w^uf|fp zZiZ`^{66-aY4pW2MA6efJezf|#z?=;f12n^Fd!-VvO~YFTSD~37nm;k5(B`k1K`s1 z>#X410l19-Tp$3Ks9#qLw;X_r2H@5LaJ%&D;@~>=IQOr9%krwcWq)Y-&K2tUU!Gf- zKZ{)xeBn*@@}1Ju>S1H^XX`yHZxx;o9#hKy5>_7g)+hLaID7d|32L=2q=#qau9N43 zb0Mkafll7R7djyc)anw*Ajq{;`-<~LD}%e|nh&bw%N^u;c?ph}C$6D3mY-j@GPriG z`3tptt%F=YFTsiO#87Hu#reLK!NYUS$JFwr4{{sIMFCX$+4JO8!6hVfiduf;LGE@h z0ba)+NTpYvXRiw8k<4jo`N;>lsa}GNauJm}arS)Ls^Auq`3ALo+CgrzmmsTL6hxh< zJpaek{KkUvz(UvHXw~fHmW8+XjPzcWS@#7ufAosh+V1Q6_hyPyy;-%P4>#j34mV<^ zhb+O(R7FsiX?!Jagf8~~Zv6LV%B<>y-$3-gH&fsK-P8Mj_q5^Poop-qcTY9{hKm0U z?b#mvicp)3o5>M>be8}3W~%+)PLKcXRQm7z3;$dDyZ>%{_3y?#|F*CHZ|$xBZL;d$ zn>{C`1#0bPl#8{4DF6yl{pbR;PdgJsdL#6;KTT$;YDk}h$v#3{BpAxH0k5)WZ^@~W4 z&IJhcXbLcs9^C^>r$<`@vh?UWUoQ5I86SjE$Ws3P+fR0sQzeGoDt=%Tgk0MW$dK2(>wmi%4@xR?Ci z3b>X0UIXNje||q+mF_0$wO(HG+vI*ws|Ec_h%x2wg%8ymAiqL-hIi!6nD3|AGF7c{>2)1ul!Km3i$%kJGNqS z6^1`X7={}L6=NC38VoOtl^A{)>oGhqf-qKKgvPdO1-%iPo{vpYeP+vE7OlnGbVJ^{ z>Ly<^TC1e`CVvfZ=_cPEsJY31)@w_q#I}FOT~EBu)Ih2XsE$p!@;b8sRrTvkyTCWX zbNDm}_t`p?*7CTpL}vKmJ;Kz2R9)dDsq&7hzrArw51%+OJiNiXs@gw?-)GVbwN2HVqV@C`dlF{ouakv=D zn2}lqg_I^?tQ!iwz7vPnLm4ts3zYhrkWwRz)k2}ySK{znC{spiJrq(pgt1{L^b!+? zo$$}l<}_#FGxzwB1&maRQeW!90iF$Eti-5cY&xg8fH>R?wV07ggE}<8b0m!Mpr&z} zbBV*dp==nb8w*W+ke5@-Y>kEqO6Hb^n@7J4%Va%OR~j0iMeH(^IG zkT;O?S%tm8gJHL2xv;}RhIi7EqqW^QC8CxBg|Lg*27ny+kq;vW7s5fgFNF&m>4INF-As>j<=O zkbhO!3FxT+X&}Q}f~1de%KP&Knl|KnNc8lFoC}F$B;-W`tqAfvBzjswn#k}PkPLym zK%lLI{0fPlagdgfNG3z#>+BN`e$UAfpBl))WnDR=zQT@nj0%hh0*#DsR1n}H?AT7A zv0a57D*$(4$2I^i6o5-5(9+<10Jum1E(Cx}CeZ%CQ2;m^VXRZBuXOLgq$gp_%%H(V zlk-=bA)dhyn=-`e46!XktiTXkF~o}rV@`yz-Gs4F;;=Mv7(Z4%#Nkfjuo-cw!Wq zIpXjJC>4gdK)J6Ksg;DWIwY-CydR10BDZ)yCVbqukhNyF4q zhBz1SWQZw%FGJh|xHH7oz;cGT4)A7(X@EaNJOa2e#CpIohPV{)Vu&{YehhIx;K2~P z04o^cR+E(Nz6?9FrNWP%GQ1*VPGO!&ij5hkFq1$#t-{{AOnAjfNNtG0ZU>FlKNHw<)t5 z6*z@ofoYsVEkK4-SO`dQ3PS;TPT?Csl2hmi$Z-mr0BKHPDxkZ>H+ji2GDOz znLUAi?}@y$0|O6zfWre1&47ag4=yL$(rVI*=JE z?43&)^$L*6GCT()JB?GmHV|mVka>{k=?|$1iR2(8n?PF+c?c3ctsvE8c(;&z0eOo+ zdka|ziJozgI*>??LADTRPLK&Qyj>(tXfC!~!IonKm#S3QKYbbXCAhmBO0S{ zou+Z$sFtyvWVmng%GkvjqMOqMv8voR>a6-$63sDymsG}HkFC;zSUv6=OA<{wfTvK# z)^VddW{Q%g3x;NK-x!f-lzpOK!9a%S*A5b`XRqj&FTfD}iUHu(0dQ#~nl+p|0Jjl< z3k2X2Nwhk+H{(iru%yqC6fLN_ zFU!gCp7eo(qBEvkNeWB4g`~K)oJ{njD;*T+s|egIxEY=->1vXqcRBf_AvdEMFy&@^ z1`N0vrvMXf#w);xo6!iEaWf{$$*c9b8T$caZpK{zxk>;z0f1aSfZQ_xxf=j-Kg-E4 zk;?&)dk7$R2|#XWkA45_Z}*6bNn4oGO$*yH-fHqWC5MIoSTm)?`eeNDpEHf9sNkLw zPi)I*SJKtqCmbL#r91V>OBDDV8KR;;lx$nZQzhLZC<~_aAQVzkL`5qonYN5BCEayU z=1l1q`s4yaWPv}IH&>5?;q z1NKa5YkhKx44*TPs2Bz{qb;LeNtX@f#FW<4Cyyg#MpSf$l4{GSQ_@X?a%4)oKp|yK zRKx{oIL+;d-^<%5w>jeX@-~`nj`qZn*-E?x2J8s8l+H}y5lOy|Mw{be;z)`TZ`6SO zlp(~4?qa1jM`dR6M&gLE5^tFS+lC?Ro<$t--7oB31Y`-jXA(yqFooR~K&G%;8-ODN zaMOt+7I20DoC*N95P*{D2T5h(q_?npvofy{$q>lX#F2H7T9D`&2N?^AWHMw4aikAY+K_Ey)rQmF zDTBv|BV=`cv6&(JdoVM(1b5%A%%dB$;k1W8geBwxdk#A5=j@x0^-OYbw2+jQPJ#x@F=cxQ}zGdHPI2D=uJP_MN-T;EPC{S zq<9I)6g}D}dbD43d4`}&T2Q7a2$$owOK{tjxa~x4`)qDIf!jWd+pf&Y3OYkBk`?e5 zkrb;u=u0HI?WY2CyBVT*TUOR~C^-S2Oi~>5pf@1BKS0+CY5^;2#ToKCq!yAC3!tWR z+w%i-YoQjivbI4Xz=0X2==o)e%O2W7*`3Oz&aL&}z#R0m*P{T8u4d}hK;GbVhe7QJ(aiElm23sVEqbKax9g%6NQ@K?P=1;u5$L* zL!vlrmZb9Jz36r-g14(#$*NSIpBFvZnA;TONl(6jov8}melBM_da#ls4~m8@uwP4V z({{*O(nvStL^&Jhx|1~^4XM2KXu1NjnlxesDS&imC5J$oLn65i@)BvJ7V;;g8!Ook z(v-@3i)1Kd4QV6}atIPVlOe4jkxYfGBaIA0{w-(Ye0Q=Uqyd%Zgrturee67GL>KZs zBzjUN1!)mu!QS+-9T>hCF&OJG$gE^*SNfPC;6@)?$V#q5We%WnU?tN~nF6S6S;-@) ztN>KbtYke`da^dRNwJJACUTo{0Rp#)0?gz#^#IekP1b-cx2X=8!EK@e3f!gdhc z50K$Dl>$=SrVW5Rx2YeHswQ7t2%CI}vHBIPCq=xPS&;=jw9 z0Nqysy7mFOjRCsP&X7g;C?iL^(Q#?TEO+`WeBwc8xzbtg^hFF&lq}092>X~Jc)Wv@ zyTz5hNR?ZGJv_`5MJcd+wnIq^9;cCV)m`!8TW*C{0A3p_ijraZtSG}vT?LO5Nx7?_ zRJau@19UGz$+LX6K_Rt^lxqv6%&qVX(2a$XWBG)ZkzXT~M9NKqLa+4!x; zq|!;b3a<3Ce(j%>SUy>0WQXa3$5c}85jXk{ZEl5XfNt?D!Q;79U0hM|SQAhaJhlfk z1dpYty6fRg05~-OZZQBSPt|=3X9>XR0B}wKoFr8@=aA@A87UW+Q+&EY$}Kq{`cw^| zY9!@`p{fK>-5}-iP+bC0HIs6kQB?q_u90$EP}Kmann=0nsHy-|^`w!UY!Qz@r=x0pzX$$bDDhH6eEhK&}fwt_DEvD}Y=ffZQ7Zxh4QP zu@Wy8xdh^f6H~}D0y2d>Rbao6X9Hvjd2+;&X1I9(oE8A*2*61bM|Q)R0dN`soE-qC zNF4bKXANWuQ)afkmr>HCFoh{9%+5Rma<^MbjB84adrAyG@ksgRn)1y(WnG5wB|fr* z4O09B34Q{RpFrRz%;YB+w!IH#b{Z+`Qk40l!GJ1%bceETj}m{>7f|7k#sF~Z0Jt<| zU28aZ0B$1y7YM*5D(lw4EeGJD0l2jQ+%9EZ8k{!(w*`P(1;8aK>yE(r18{KwTo?eC zuB@vE=LW!q18`ITE_=Cz%2$e z_zQC1C788L6nxJa#Z+KC$(x>LRzYqlr0Vu}k#cd!`y;`9pFqmRA@2{7`yPipmwlq~ zxvWkc^3oLqqjIEN9P<9ia^K^S*9v9H>ck;0T~RP9P0Ga~?~e@kJq~$$pyshUambrQ zN|BU{L*5@b?)&}#9@aLKIOI{7qDf;QQ zvE8JR`ZH`iiMudG=>);w*<7qw#)3#Axo6leQe1IR8QTT-d0wI*wit57 z6x{t3X~acC@K*yekTtdeavP)(S4@K}CXHZS_ZREBDJp9W>pHx{4Q~obtm~!C0N&OVvs0U*KIlu91x;6UTJgn>1{J@Xx{db2&o0fUguP&+}uQ@?2vFIUDaLBu=!p&P5 zP;xO-v`L<2hC|*OX~F$nBnl3BSCzSWegP#hP;x9Y9P(bx5Zq59QE;nS8%)J_s54hp?O14{a!6j)}-P)O}2QFLAD3l#+SJ@AI!kdnNsk%eeBex)lE;MpK9QTOAVZm@c+Pd=A9KKM;vWZ=;uch< z04nU{BPuHZl`~6G9hCu)EyCY}b;eR$dWF}-Kc`4~78-&Kweqyffh@&UkkODvT7OFEAQ3|T_b>w}aoPn&PWl~%--VJWUwPQY^vUw^N-{47k$PQ;97JLUW@u zp#z2~hAoB_hHe{{=4nFZHtAA8vrT#fpw=ec59qXEZJs7nZIf;VwA!97AX3a+Qyi4r zo-R`=@y`@4lIB-W<5$b@tEKqW^89K^ezhEbt9)CKVq1`2+f#LB)ih?60kcY(S+#&! zCBv+m%d9dYQmU{IwYH~Qv5zd_jv34<8v}B&6#sJ!kunIS(e{+CRMHKFw44EXJ%Rsu zBau?znsRGa+tbZTC00;U%&K`%NJSGVFQC-hp6*mCsfChcR%scK-y*ezNU4WHuUMs$ zI4Egml_L~VaYV`(6ngDeDjCia{*Yi+NgI%zkP0VKa$Qq)p;v@b2`-iYL10#yK_Ru3 zNa=w>ukA`DxKjSdbY_)?0l68e%|uEa6nbq_D#3;FKk#+gK_L}Oq>MnJ7hXe$>*Rmn z>w2$L;>;BOz;`CsfV_J;|8o$LQtFoSTf6P4hEhq(EdJ+t$|Wu8{Lfl|8vnB+puztv ztz420X9mD&0C08yoT75cB%C#%&Tn6!>|CVZmZj=79)Fyu=Z`H#M7=qNX;BA-WhQM| zH;H-}+AUMO#)jQSY2#+7cCh`&?ipQ?V*r z$lrne8nk8EV817bdfnKsJ!A+|aS$?1*?AqB%0V6@>RCaW7^XD@GZhOU6CshD2boXQ ztA$()xr(Xy0&0OI6DANk)$^XXANYE9?xdwnz~Lz83Jw-Q43jE)j2ObleWoy;vPeE zOkQ9l&GoTj)<4NhS}?1tTvRp2D@yhEcX96LO)Gle>+_;hx$Jb$7I)=aoT%=S)vT)) z*&SosIeyk`qeXB3oc=7mz$ArpIcAsJw=G50)elyi`?6tx$9y@uyVfMY=U0Z40J=}FfjXmo6*VDaMd}=uHpdy7W%bY)+e=oDc zPxDvY|Jt{i-A_gmrX%cPgCPx%T-mb9L$VnP8A!vE|8;JY;r50wXPXWR}vSjO% z$=X#4)vF*Og)tF85y=^;et>*C7v}j_75}LAt+F0k5%$`7$HL;RdEH0P4mEyVoHTRj zy6P{!<6ueZNaJA1NMGvM(4NU}@)A1ZS0rW-0&>l!f9gnZ*=puV*4!&iIgqma&eLh* z@qJm=2@^B3@|+*UPY5JD)Asj_U)X!Cib4=BE)xA(bbB)8>({=~ivzcQzEGX+{(>U= z@|T^TkUgeAApfk1BqYSn-D>^qINNFT?wWq3QH#=XKfM+~dwt{YqWZ`dJzk0M-MvBk zqK}f@#M@mor9auLHvZg9P}Cw^!$l^|p2C(Dd*_WBbBv0o_r*p^rA&_3N{sftnf@oI zia_`{M~aXtJAHY2x|i#kkrB@#wNV{q>-kLC3)ORfJ3q6C@*d{&u9{(cJKzcJgY1dp z*M802Mg955@JU49E$VM=k309On^xLXe7qQYZtKa6=(q=SBIAcB3mW8JQ}eZtei?d_ zc>38xedE)=sFc=Yl_gi*EUSji{f}JuD9JtVuTFn-?~zDW$}P6@)6I?>(=%R%^!~UQ zy^s*pSQP#1>+-TQft@!whZnp$@p$E3iw}O5cF)g!nDzHSh@a3UQnM?y>3J35a;Z)Ji|bx7UoV`hVw(j1 zd9Sek=@7wZi7#zn&a{e{{nbhe=2Y}*J$rImv?90s3@{NXfr=%R`sWw+lrb+xr43w zJu(|5+O?fE?kEHpI=D=$m|3GfR{CV;PT$9=53js4uKWG@@ag&kYMI=-ZtdzD-v8n& z>}G4f&(?1_v|YP9XzQZ8W{0HaIbZ0=PvMcGP9!bO*=D~&C+MMm*qs$=di`=69i8XB z6T7XueOEtS!sx)~B zH*6oz{;j$9rNuS-hOirEL)S~!YVgIvcX}_q*2bsL&b(Y;oV?&$!%KgoiI=Y5wV5AJ z&x^O-#iuyM%f+QhxHw;TTKOP1iJXul?Oh-@_pUg8djH+=`?`@=^%RYqTuwFnzxTZQ*Ljz2O`V7DhAe9* z=~nHAgKCd!h+LDi>%8z6?s+?QdU?E(BerB7ee`;#Opnjz&(o7UBWvAC-l}-h4`06* zlYD&@<(9|fNi#>?gr;jo%P6sToJxLpvlrRC+nSTI%_rue(~~*PnX-wCmGb9VpILX} zgLz|MZPG=pibPiEeM29?oX)ix`4JlTm#f>GzHnHzVbQGKrsyqg=WS{YoSOs=U!E>_ zcX}}Ba*&9aFn!fDyBc@N8aJauW&59ns~)PzyX3AHn&b9-uTzY?ZbZ(#t2dT(Jm(X( zah5$l`1GRA;A&~BYdI-7CZp*>Hc?(4vt_y-w#HPaNhNhAU}ZE?qP&^%0{d z?_)>A>TI87-}MhgM^}>mveL+L1u;go|J8KjBPtdWS*8XP=R-)92X3 zDUpZoEWX%CF}}2%{M~T6GVRHBnaKk$oR07KeoSL(=k~Iv8lz#1dremTAFZ=hWIs>| zuil^kM|PuyhxUc2jnbD({Pged_;GdF%=sBhECvi#8S5&(Djd3L<0SR))i+jitj6h2 z!MfKQ*H8-XF(3LJU(y>Jx9jndWpm74lUeN=KMHmetRwWo7ps!_>ARvP{DzM%_;8dO zbRw#Vm_f{*9sa1caM}77OIF$1j^=Ha{xN>MseA_A?A9DJ2l2G+McWp&dtAM`#q`~g zEs@dNuG*+B2s}KqYS+Ylm(7m6B`#7@O}87iyprm;QU1{Og~F?t?L+e^UgryH&wqBT zEvSiFlVry)ZdzyUti7fo>DAt1h08|*zUH{DJ<8pnyS%AVv_Y}bDR5##=993w>lU)q zE91Wgyf)jPmHEVAp{DV@UluY8Tin~M_wVsA)L+Ruw%TB2oRKo?f`y7n;7@y%%D^9f zDw_iz>MdoSec8WkX<%_K)8f)aL#owcsin-yBR7lAM4-c6S6V3PzjfXCK@!T82YUk|IDGM12O<(YIk16BG>sM3L zTcWxmcGL+y{HBap;*_wrR#5i~Q?4nIGd4+pEaj zMs9h@v%t+m&CVVsR+)^l6H86H%_{ai(nve18b~?F8r)r5+2wNkVDpL0@UAP3M-F9Q zHQr&m!_+@6Xu-{^0WIewgph69RR=Yl=3TnJ zZH=w1_Y&`OCp%1T&Gt>GP|;d?+2GDU?@d3>iRxOr_Kn=}RckH<`p!w5%RKwpN;d3Ic(OGsX<^>yEdM?3RZsUE-LWvCM_g+mqj|C{#d~D9rQmzfAh}@u z9^q%b!D%sVF~pi<+gu6s1ur*}m`lj2jEwTx>*Onyc6@M8QQsgZoUJ~t(YEYC)DkuK zYpWfy2i?aVN;Gn-?g|;R!+M3sT~pV1m@;Vthf|i+@YQq%-B<4qSQ~dd-kx*Kk?&L#F5DF9E7e8#!V8RR+wn_NbxpU0-j%1` zzxMK1ziT8{-+HQUAEUGEO(So|3GzXyEQ?(^>|@0Vmv&sK|KxCv{Q@l`3 zMWu65#fEG3lQsp!M_qj7tGIFWt?ZAvPj!kC_IE~GSoLkaZf52;C{wW{cFUa)!{bk7 z-Jgo+ce*K$d)}6W7SV(sv-WpQqX)Pd+a~s)Q+Qfs@lFH#og^`!?v@O!*itOsz*GG4~*y6IL-aLQM)a; zHX!k#fwlGp{*t%s`N8aQ3x(xtC9NOg%_X;Oz7*tbfAz|^0;NFo%DZMsT!Tqxyp)Gk zUW841Yx9z*#`m=c4l&fOq~vVlT|6LBOyYe>+Wau&>;|0`tGF`uw=G@>ExD&vtE>Jo zP5Qul5}tDY_k5+++-oyi*X+1d#DA?&{3_9fO!~*x?`Z58@v3pXNB&0R*9)s3ch5QA z(_gc8=Zs-$oym_m<_8z-Gj8&2e8AwTI?b+M;r}|VPerXiXvRx*MUDH(utj`Mf)!;l7L;+dnxA zZ;kNIsd{)j)0)-?ey@#IPkxoR{+s=`kS)9+l}i<*lYiaaR_x9Q6yBRE9+u49jM*%Lia4C`+?yb;vnsXWQKRyKe7jluas44sfU&^eqO1p z8o9Y4dC2Q&Ns`IUao*68hzAE$eBbOpwV-9*?^h-#8tm8En7ByKcvt^wrP*V{D#_Jd zxjD}Qgqq`J2agM?x@4($*cZx=(ARhToc&H)HO--;*g4Em^~D+EwLd=nP#agtPUbgF z-($GTqjmbv`gLOl_Y+L+ym+LMeM2*x?EWp?bHQHSM$?4Lx>|QMR7ZAgr5t;1d*agW z8!?vVmrSz#^6t}nKCUE0UE{s9os&9CK4oUtE08~(yWoay&H~nNGKa0S2=rK zzU}6oZHWqH*D|(+oEeoe=zSF#<|k#iPu;0dR+eVOXhGra^FhQj5pxR^uDfauy1mXB#hY+qm^yROTk%b9as37Iyfrp52~6 z&Mq>Znw2cOO#Oat#Jul&H(2(Kl59AgKb;VA__hpBIi4R}%$p}9Jq&!YHl z8~H!9Palc3uP~=s|5@=#=V7qa_a~Fa zL)~X2d#>z?T(W2FTAue0h1VM0QlG-?zSkBydR+X|yyH!->GR3iBf%3rM>-$*)U_B_ zjARdl4&0RR3Rpy*J8OKYZBEtsYl9sUxpEqzQg&1u&APO2{k@+@m*?nS%D>nj^0?yW zrawP7wxqu~{wh~8|MyP?yX}xBg8PTZClhW@1MvCx$lfBKedkj9lvJDc4(%_fiE$3z>(E}p!# zrkV2e+G0=9#=bj?tvf7z)2usU@2ovMI(fCnAz6p>IPq}m8LRkESJU4GUDU~0$}|4V z@z=Od1y z^srAaJ3RKFtm4b9f?KVoSGvxM9dC`MK1mC?^;*DL742|8eZJeRZA(oarVr%Z`5UnI z+Efd zOox|6wm-M&oPPOq!t``)#52C&@wQKCJ=UjJ4_Y`p_xVw=JJH8;BtpZn!lr!6S@lDT zM?-5#ORjN^)w$Wq1G^J{t7^R|oh#b#=t$wk%dJ=1({G>OeQ)WX;#=uU>*KCo`75a~ zIoD*#^2w(0us%2Hj*?FiU*FtrsN1;6XYRh`3zE8KOAFTwYv(<@nDbbf7N|F*Z4g#J z>q%vr=9&Nnt-;L1zC5Cp@cg;5=5;)_>Xj+NHv3VTG;ZgCbmr|&<>#ELW`>JgH>*q{5FDE-GF~y+BemO*$ zlo<85y}4Pg+;Y>F;l9SPzU^^aoF{jUO}o9=!r^j4H)nRY-M!QG37mb^PPSIBS6@!J z-?4edFQ)gse=NH^KhB%!y?tvjC#K4YGym1G?1qq-r2V^YH!Yx_bJ%+4{m$C6ybynz zJr*`I#Bm1iO9E!boiuj85mB<4p%9l`zQg9gM$XD#!S~PV37MU58V_I9$3%I@y_J;X zK_B0^nGHRy4=B4qY}Jeo{8{^JeqXee4&mtDi@weppDO}QvP(?Q$WI=YUSM`W{8nCB zFzeasyuZxB{f1jZ#gdbOP4_lyGu1`~Q%0IMlkG04mGduF?mu|vLa(K+UUWnGtA_Xm z6;(!7+J|k{xwzV`d+=_F$5*92nH;THh4yzYNz&hUsCK%(J-6V}&PUCc^8Btwm7IAi z-+OO*O#k;8|J2>P7=C<9)~W#;i?n?{Cmd(CQ>VMjEC_PD7f#1Bf@=zq5uia&Md(jqK|*5Rkk|9^T`{a-(6_-Vt(|7h`ZiTeL8er{Ggd!1zc z@7m|n)hB*e&L565f7|chKKs-b<7Ic#Pt4=&*Bem$^x{DBImVf|S$SCcjFl9vDCyTN zmC!!3{_gbWk}-rR*>Ruc^IoV$#df~fv4ZODkTav3RGgHQIXyqj`NZ^}tGCh@6dyj@ zc$V6+)TmpPo4G0Y*q*&=$(0vfZMuV;2cMi3jawbF^B1huCqG+zI?Vg|@>+*Od1)#p zr;H`uX^j)QK3Esu+~e>MAZ#C86$=YeZw#kL1rcOIqq8Hz6i ztSQ|7O=G8l`RbXERF+IwFP{E)1NEo#`#R68J&%}vDSz(XRbkV~H=QHbcR2l;9Og;h zaq`ife)E~iZvL$hi-g{ikZ{fL`|l#8Y98>*!hT&WTa~1?G-LO;!hb#!JX5j=smCu$ zW~t)Y;D7D$`F~bBGAXkJn(1baj@MqrC>)o0!B{gb{F*lP{FS~YLbST-qrIOPWQR>= zO>%{A8>Ed7t|E9w*OafEH{f++)ieRuVCm&&yPidF3*|h&8TQQlQe^1pow3sOwp;HE zR^Mx%?0+z}XDXT9KT0W?+(@(AJ39VAL8|FH|BmjJ>ouP)mj!th=qQHQ>4=4wbr$|Q z^f2y5uN7fKeZcH|4JPgICIoKs@M zwcMKiqJGM$N&d0)x@S#_^TH}4-rkif*-(=reL~xR_Ot$#?BTzXt76}>*N*yI?A~+! z`YW05{~WBr?7=DeF7udKR+f`iG;qmQerYLf1z zZad%dcl3tA-P8@A?nz%tzNI$e!M9J&*)yPXR~+0hbmH1@W58(3?3N^MmKJX%o3@{} z%c*5&?z_KB(!M_r@$Rb~7q#!BXql_eYjNWryOA25MQY(bn!H;3=;uM&#?Xg9da9hy zjQ=UjOL))Od633$So~R$mlis@Sm)NBk@6-*^OmkK`|Ix>RCR}>g|s$&7Ve%GGPgy3 zCH2O&=hfr2w9oalq2FV(`URUubR5P-OTTD3@(-sbwVZipZ9Zx4R($M;XNI>sqh0Ti zX7=gxCBAc($*f&ZzBBdH+i=r^=-5ST1COQnGM;=pbd$MLhJI+v@}nn42M6m;9iEeD z!nvr?WMh0!{{A96t~W7XCc)X>=6G*`XO4cQdf+S8Qj6oKy_eOuCQe)CM~+%bsy%e) zu>I$cCf*xcj-Ciut3m6nko)23$&NggXs%sWQT1YRM`6vJip-LwH;oOi1mx>Jt%$8& z8gbS9)biO5c0WDmyKgamwkls{+f`;8eQtBYnr7a{3lUeAUB0F9P$_-sigDFxpR(@| zkDpgIx_{_!z?F3j%S~suT(2Z7z1kE=xL|BlFniQgMm^c&G3nFho(~VzSAXjA=sRe) zSTlRAlcxIYd&95tnH*i){;%&AEMI!fCjMw?DPJ5hcTVgPX(K;n)yB#{3&K|g72uDb zybavl7^e12Q`~2=BB!HwQ^LA~asw?_@8+!9l~3&Sx}DxCeEHhqiACAN=1+xXpX)x; zPpzAN%?;>Zbgf3m4PH>=cK`QEAqOr!VRo+4-}MNf!K* zB{?ttisXXJX_-G~6}ZeTjKB?5iToTR-EK_amZzqGjPO z*%ggvX*(~B7fM>cS5vEV5Y7qHFr6B9Jv9H6(h8Ni(oa?o-_}Zbx^LCx_8GsTMs*4o zT~m>vx>QX>bZOEa-SvO|W?ebOtno|dl`@a&%Qg1JzKthlTfKdzvLW1f-Kgn{l<-kK zb6(;=toDid7ktJVuWY(iX;QLOlhbJF?QZu_`_R*Ud*1n}O(hQKu)p5+jyXP`Pf#&@ zP`7HdL~`W4q_p#$)|G!c_f5&}zF~HTc4xG+p~^e=?z_1KYi`z-IA|!vcgNSx&#v`O z&|D()`15JX$w1;`c5Zx?q>u25WODc+$>TPNJ&Ea_}c~ezO1}m8>6@H&fVT9Y92PZEZ6vlJ;EPt=^mClbh_tq}z2z^axFsB8#(tQqwKK;`$Aib~2 z&dN0J@~pA&1SPNIldBh2cFwUsVDWHQO~YEhyYeih;r~&(VtTe7%RKYI=Z@SUzXv*jYYyw?CH_9ilDv0z9-(#9nb{s`$-+M- z4Xm%rTXwc*lAnAh7at{`Ncv!(%z0udJ<@i5_fg5pRbSId(^h1@lG+*Onk4%~D%4D* zm{K%!IdxOyHb+_Vti+P%3R#`kq@@(!yrwqfU9fC8j5nX!eyP&&+V}?_&F(hMlNobQ z9-32><4}|#6?I#{`cj%8)8DD~acqpf<$%hn(MF{wRNV(b36*z3l)Jw8S_IDZoBQEz z;*}Kdr_w#2;`l|vYB{eRc!h=C#>*)MjW0t-T=~wd|BJMD4zBd;wuQT6+eyc^t&VMD z$F`kxY}>Z&bZpz+vDHy0U(Px2JypM3_p5r(y;b}9=lScYvDTVo{s}}9|UdA z0sgoU%2oJY*CJeGIcp>bYVFYGuTS-d~ zq<>ozmNiSbrF9CB0%%IPrkI%`MG;y6bHV<1qPP`9UVF39z&i{T;|k&l=!ktrf(hWu z-6GM3BRX>wyFbn8h^1IV$QodxLKBjKMQ37hihQ?!;o8`H)I%#Ya|&X#aFFg|pEu`e zpTg7!PMplP7=Nt_9Jh#pQ9D6IrE9xUF*|#x)Z7^pLiQ2P0Mt$YriDLkN3fD3<4G6$ zH0v+1^{~yNiHYuxTxI{qk2aRd?vR$Dm;JtJwY7BNGQ0TAWg6(A5}Y*o5zow2#y=t? zdX_jK?9sj;LvOoqP>eiG#-VxpD_g<&kA=rkmo+JLOUsUxqhHeWc9(b3p#}d$2&x}t ztCSt<=#+fzr~?RaO8EWuG5ZKnZ6p%{WCMO+(~=d%>uR>R3*F$tBXKDk&V#+;vus!L0FC{CJ8e^24yz-)6jtB8l*+ML3+n{Gs(vGx&*zp zWVnS4;%Lm6x0osQhm&PWR^9L-WR`l7RLvvAnskXjF=7_t`*(sS2Q@&Z5H|+pnA*?S zckyjl398JFK}x8nhuqy21ITT_Y{gx(5Lp93w;2K(L35%NObV>mqW4i&1}uA(7LnrE zqHLiw*rIHpC~+!qKq^8OzL1AU#Q`BR&XyC}#wInEBOO~|OdqTLVwl#s}B)IVyDsv{9`hBa*p0Yx!`AsmEeuB9b z{I?0Ace7HW;T4pz)r+~aJ9DX0Hm4j1(e(ATgPr_0Ns-y5Q?0rB z&Q*%xyjXaI*|I#tD3cq*#cLs8!4W|j+-akNt3;PI8=5f8Y{mWbo3LR$&Tc@}dUs2X2osagZ0LdxdZJPbnUd8vf)La>Iy5 zm?V*k13CCGd$_~a86p?tN{PsORL}yqyDK-3j&1~0i}Kxd{n0j*PQhW?KLIghk!@oi zg3QoH^e;)gW24yN@n)pOp}vKCt8Qo#QZwCVqyqU?_44%tRMT{cE;;jAU-N7)Ral1Gt+uw@8s1ZR9Hqweu$hQipI-)U+vM?+HNaWcW+2W6N z4ksgoP!O4msUUJC?0PqZ=eba%s2`!JAB~J=De{SNhJooqaFMCCV9E0q%FMw$r5=iY zMuA=sAo_@HeR=~lMlvEuSOdr??Pr*f@IkhnbSolDO>7q!Mbm3=S z1b6@aq`jeS8&Yd#8NqCb0WjTAVBhPv2Lm{sItm2oe$RrjvLLRBA0~MvO%h3gQY@T` zz2SVk5k3w-o3dAxJHo2CR;B5v#WS%A=pnF?IXFXH-w*IWweZcB%ibxB?;EUB4|j2* z#^HYo-Ob&m^&fKLFZ4@kyghkEG(lk`oXhhLK53&n~KyN2ER|sXoZq9lCsPa7o>OP{@Wxf6i0K zx-GXwnpGG!ydM6SG@N5l_JKuRP+vVR8Gu^))jKL*Mp!bWNJR>sjM{;Eu^==bQz@Ec z!BhdqF3X0YBy`b@Tq0TOsIzU=Lzz~B3_-mu-8TKBaE0(OQR zF6JoL2|;&IlJk?l`&7u9ygG!z=LB-DYuBM&T#KB)JS#JT|476CZj1%Q@yNSJT7h58 zsHmC4qV=a~6dd04491OYqM?%NC8vPzC+% zn;`nX8EA#=Y>iwT9ZhVVmH$(rsqA87W8moVuRyB~?TxmC{W$|@T!Z@#A{iErhGZe9 zrihln8YdE@A0S1{IJMm#1rhyUm-q1IK+r|VId#E zMPCJWeo|Tjj588uUfKb1ljk%_9F(3|*a?aThi|dQ2a4WGA@b$!w7-H^fg=aZ0(&E+ zCLd7*^5eW0;zCVP&$mguvEw&QaFBnWt0HE=?UAq0QD=+~G!@@za}t|%4KME3o0mqMS9-lAs{67mcxbR%K=_!8B-1)`a0-H^PDA&L~usG&grppTbNZ zu+UgjYup8`eNS^(mK}%)vXJ<@t{U9n9EG2;NTVr7@GBf66K37sxOzi6x z(bH(RbY$iB@J+`0w1-}w#}pp1@8!+-x^isZ8$s2_SkCm2y*#yRvM8sXtdmo1vF|sh56X$ za%9Zq;^Cv7@To@40rM<1GsKU&@ap^2@VE}BMj8F>VK;wRyTY!mp1=E+?TJ6vhve?o zh2%yo=kAfg3ye(Q_!2ELnEX+1c(a1O;^;>ai)H*&8~Em1y8j2~N{gZb0uw9feHjJ-W5iGDpGBtVMm2AU=qG- zkHWvAk+xe;NqNBLaH802F;|Vn&?u9BzFyFen!^YG`sahBZRAR(}?bPwZHVOY;4HGV+|^)p}?SR z9HD=UA7qBHi`3^*lSCnOk0N^sz#7oY*dS?jd4(*4D>jXa=31D1pi==s{|gfHZo&%M z^q#~TpI!_+#Sojmk8N|xEy@6N{aa=NA)1b~*1^R^v(wQrY7I#%=b9KSacN4j7fRZP z`Fha|Mmc_=mTaY(1D~x#1%LZW&UPnL^jxNm5eL_B5}ycZ?<43?;3FhcVRx6iJs3-6 zmx(-aXV+||;FVLFB9P|chmc%;tvjQ?=A-azdv;>)#osj1@mxWCik02%&^j&G6IXt- z+EL7~F6uLwC9oq>g;nxFuD4xW?%Rww(bQMi?iUs2b1gG^`iBlwPIcCstRwQ9ke8uA zuRlK@;rb3RczN0JAK!byod#tsxf_k?_xNI8>eJ$D3;;Sq-fi(Ob;0d*(I}uI#&PbK z-~PN55`CMrjz*7G|A+B z%>EvQX|;LnhG?*87s6EG_h?8LF2K+@J;|UyM&zXhjvv=P-?qm~@=+O51aia}az6r? zI!~@ahU>HD7UwyB7De&GDuhA(A?+b7IB71_Ocxmx-EQ7=VYbC@$NQ)*!mD{=U0F7s z1i!%>aON>Sr<9V!^LGrAiRhB!^ryCDp3R1=kHfrwFS*+kh3=}SGg`D77Rf%Gp(AP? z%oen;O&4Z4A9td`>rh(8Oq3&}^bD1QOGPb!<;{lHSyjvF6v1dm;tfx7S}L3j0~ppP zn-A7u`@C<2v>JNh)DtrF1Zpr@DZtccOAfxDw2}=2KC>mWz_Rh$V)8YHTnn6nG%I&a zr8vp<(9a$mYWTt;i)eK>b%vi)YAW%D$li1Qpm`?znnWM}Sv0Oq^v7Nf0wKQ{J)m9ZM{TIEl9U1{88tu#pi`WCqS{u5r@6nPe-}48fZbTr`s8dtMaioQpr4)sNf` zF0(*cRilp`IvLJC|Ct9S= z4VGVB4c=@CMWAT;moTZNC~p?6NpkMBTe78&buBtGy5$4bFN}qo#CaCm@0Y;%?dF#3 zd`Obyh`~|M+xE8GRr{Zusk@oqejo7q$cUj#G1^p72C|bKX|Y4z1x7|#(3>cY>4P?! zu!dJ*YbcF;0rI!$X`LjL1*AtgF+YCfo<9p2v~5=KHoeoeT2dLqptt5!FVZepvGZ=M zO=ZMrdR=TJo3;Qqnyve6A@U=+f>q|WU1WX(HMx6KB&r|;VTMBvGypxO?3rrH26p<;#ruS{I|;)(&AgFlb`4kkq&#OKU3o_4Ka7r<1~_q^Zx! z9Y=tFcUI0RM??OD3}X{1=>6U%XTj8sJ{=xl-Yq=>%~P>od7E9LsN*S2mP9<*>6CHQ zwNM0Ct`NP2*pvqb)ra7oPt!}K9;fG$TlR9f|}qC7tMN-+NpZ1>jP#;QXraN_U{ zf^t)Xp6-WT-}r4If*?=z-$rwBD2%NX_4;KS#RTM2C{eQFYj75c$* z+xx4zA4{jJ>TR!v8J(LSTsU?{w$^T9WsF<0`0q+K?H}CXs<|+dY0)7-74)M8A3(N| zQY3fkd3da|yVCp6!_ipmJp~{Bb)kC2Pn8{8DZSx^9c9UHy8}vvanbNNNyH2EHhcgZ7_$l*HDKHgJDj53~}jepo7fipo2r^ z>FuC!E(=}#@-$F+w~jDQoY5Z3&A*&RAuLLT^C+v`oqksDOD5OVpdopy5QmUO8wL?gJNIykN#W-ecSsr)isYPcOKly zPKf7cL)-@0#W2I{N96Dc?OgsBX{>&cC?xoXNK7mh!9arjHI#E{BmG^Oi)F;ol$&d3 z1X8ikZ`Vh0LB;e5suaEK+wF81=C!+)I=ay!Xq_bTc1b^M)^0Z8sWH@o;sDy)3$n7y zg1qQyDo6*@Vcq1tmBwi?Gfgmo0V~AqzPLLTzPr}$qf)yxwWtzR{CM}VLVFDEOmV?2 zsraA*14lhhmB+Z=Hmk3!L$1=&2k1Ye5BRVf_fE%bz~E+{21CQugSO+z9c5xRq? z55Bt;AY^hO+K$4Ee-Q(1>FYWKo#7w%ULZlCqdPBY80Q+tlo3^qV)6;Sd{;gTMkf#@ zRAcD-+WSn4nNDgyQ*<~kU$(rd(ErP%d;~=Gtz$f(KoC*dWDlVDSYgwWXZD!A(zJ8cZ zsi9$<<>-)LQ?^F`CCdttb@I;Zf3DP%)i-zzxNqP3F#pX4&i}ua`j=Qi!@^x<3ETI2 zGJDgQSrZBlDIpCyfE3h#RDZCJj8q{2nlLju|IEZO5l+Ume^Ml@Wr@12X&L>j2d%kH zUzCiL4a4%hXQ^VzvN@tf>pb?!WBpa7a`q386N@AxJ-UbEbi3Kh^jr6i>u@O|UlV~K z__mV~yQ{H2voG-!o5hmE2Zi2Bhr^GW)H!%tc8>95+4)Ucr&bB4N>%|j1uOkh-1fF9 zkE^|bP!s1)>A}%df1deU7LH-V)Ufu2=uZ1qX*Gn(?v*`!4%Y(!sDS*4k1d*!I``A) z;@?yE-rhh*%UXYYjuQP)e;?bVeDw@|3tyrIMC=oen>yU@@AJLB9HzU!{Po(IP-91L ze=xr`v;JnfDf1s;jjFKGSu!75uM*V`P%|S&i#ESm6em`zVz(YXP}31!j!1rtj+{2v z0koDFOi{zHD@`wnk=zDhOIEQB=%zrZ!y>jiRp%T`5sF zH7tUsL{4a}6lpP{sW3(rFfc7cQ%e_U4sR!ZHG|v5m*e?GR}*oP1dndDQ;uzgR45Y z2isYlQ`rfEMaN^tGu9#CvDw{;R5-qL2{=di@WfKk+Q?E4L91=b^OB+&O6@~}0g6`o z$f?SGL%^su(NOrxZyE}otVOI0MYc)%vPuLI5ND~SwkQlSmC>wouape*ayHtl*>#qN zOpRV1>IIE7^-{W|A`UA-i#6OV1_&FyhXY*$c*3=I^&#bRT{kB(MXfi?4sF2!Y9P;P zGlkW$aNwB&a3`~DpsCDnOtMl4|({~yc&_pyzVgaUN=#!E*gh@LW`btSoc_U;=|1n-phf0@Q1Dk1>Vuh$A^ zyk|Mw_>Auqmxes6dQRb?7*K2Qj``A=<+l|m5W%+7n~DDpZ8sM#7RDwvm6xxMB3xz^ zCyRXF64KA$WVYs{Fwn+uW3K5t66jXn7btMR04i5nqut{hh;GczzxTOY?t9xChi;{y zQb={=>?+0~4P9QD*iZ;rt)Su9{puJ}XfrlAvu_|$MHl{ROs2qQK8VvBjjjh>J&@3V zZ-?jtfmHz=DaoDrXbUa9+3#=2>I-&CJ3rO6x`rIFs%m#y7pB51ErlS))0x_e;$*>c zUd;P*e)Jc13`MC%m%Nb}m27d6frq^F=qjF3uuYg)nO_G^DeJMNDRBmKrA);lFWk-9 zlZJDniU-*g8MM>oE`~$t=nd=wm!;&k*{Fi%V!O3$HbV7$Ncp%ML&18;7v4CL@l zY`RRe)kRLa)T4}ch1t9k-+k8ExoYkNGAa=n+l>{uS9JHp4(z3Gb9H=mCLbd__jr92 ziM%6fiV?V1G>BY1xK3YcEh5%gdpYQ&~o4Gu-bV-PTY2r!LXIo=Er8rJL@< zT=`+bOd+lTg0z9=mCELo^%;v+mZW0#74dm4R7O?xb9cnSuG1?=%zD@UBe~aSKU02x zeP08lKfbs@9>d8)2;8d>`(J%t1_rXA(=KNWpS*|_nBA8#E9GCuMJL&b1#So?Dl{if zNuj5fr2G_8RkB=zBs!ARiVDwIj(8x|yL&SG7vi?cb1i_Viuvqh`r1l;is3|q*p=kk zW8me$i49FlN0V;oC$$u3XkB-}hdYc|e7z7W6KMu?Px$WdL=Zh0+^mY{cT2VefYK<- zP6^tNQmRi^?+`=Ksdb99Uet3+o^rWgr3v2~FfINRugWSX9)onM_zAjHZ)63?1gDx2X0!#+h*?HIp<85+jB~IDv;~ zT#4bnIUU{&1=C}w;9b7>e=Ia&^WcpTf0iLpkFENWG`upkP}%7)3==4@CsD423%P0n z)PsL(6p;Dp<_*eZ+~xhYU}%t**ak8K)E#?Sa%KilfkSw8g~ZCTwIz|BKsi^oA6GbHtIblGnv3~hJxT2FR5mzevX%2C zKP?XOqE5|)J1^5T7tdJ^aiA2N4Q+Lz;7K^upSs04S7b>%kHms52R1A~_e|EY&}i`r zd=$s*l_6dgniP<4T*tbpx<{z#T#*m57vF4U46jG7l7Mh{ne#4MQY#iMK!3dyR|1((Rz0&?;63?AC{1iImpnZ`n^2RoAlH5DHmg6NcLAba?vcjtBUp1|7PCOOy8TjDY+he@*c=k zR0K}DDU0mU?T-)1dh`I2@ZzY<=6V+g{i)>n&)4c#HWm_%*EQ2mrzYJlcf!-BrD9hS zukTFNZYnk4yK-Et6$x3C4W;Jz`nm)DJErqmuU zD92c(bx;gFpJI(XDJtD!F~7V~Bg)_Xy+bRxb6b+(l|IU)7-3-i{(DrzCtb}CT=%`t zo*yt$?4B5Zk8#!e^P$l%Xh;5r?j2>OE9B4Z_m7gQmgEOOEY+$=rH4J24cXH~(Ps6e zyArdU;Y%#ZPvOZC_$0k4^J)W;oFPRBrtXUIz`#*}0R2%_Y9mP2$&GBd?rOY6O`>MFi+Kl-zY>@!< zWKi)CA5 zG_t%(DqWajNS&I5Gkp&dej$*6Ne$?ibv+#GkS^qo3-8o!la{`JsMrRlW3Vd)svce` z%^6i34x*H5+AoK2=870CH%408L9_)pSevgD`_|3xo&VC2edY{$Eyr7EHb%zR1twlR1`@5 zU$H{g{pY_p4W!T4*0$E-^>%XfzTp+%8bM@3O(3g*X^9VKG%(b)ByLuCk+GO4bJ1qk zTiCggBITf|lg>&;6-QDNBzCGCM5Ws*nI}glvABFlh5(~)K}y5v9m`pirsXZE%B#jp zist~Y^YP=r=EBa1s+{pYOm2$Q`L)0jNeh?_)G)_8K=D+A-VxZofg+bIsIuMmtME}C zzBS2URqySmE_Brg=Zoop4cL3-BeJ&#_6UZV&k?Avw%40HQfw562;M=+)^3mNB$L+X zNk6apY#w+MZuO9<>FJMuLT=wWO*8ccHSQPWJpVJuCI1`q|Kf-?va-?xf=E8fiNk7E zUUNHf039S=4>TBvKH>a7r>-b^H;~VTgIjqI^IVfg+g-8Oxibvk+|n@8 z(AtQzZcT+pCn_>(p*Vo|IXjw5)^3*AS@oTvA56#uG6O&HH>M$k)YR@H?0tlCpC>aB z!}mSj=6Ca>|2Xfw#RQ*D-hW7Bq z7ruK_I-nE>oNiD0vK&ul&D8!u{I;Uup61o2e{z&;l6L#3c2yK+(t(U9uU&mn?Kd-v zI7Ob^Ld_aDQCMa%jTjc_xw{l`#6jzvaQRRuliL_%F#fkCIDf>4nUS-7nE?(J|9za= z%CMf@gifoeQ`)iGQqN+WQX}>4JDsv-@_Gp6H$5?q%fw1yDhLBLbg7;6G}q_=1#*un zVVhb@x`EXIF}8MqR}%oW$`=dCdKLV;j)@Vi%N1fQqKD6BK))tO}eSwC9u&|By2_0 zCMb*M@<(Q;{Bk6MaJ)!H25lsGKa;j-BJ=QzxZT)gX4qch7F{>}MlE=scTcD|kX| zzv;C2^Ms50KKX!upGB|JtHPG?=K2!(pK!foXtOna-Na>m3Gjse9k^^vYz$2toy;xl z8H6mHzc#0`iKE4rXP4)H*9X1?c&ICnEk%bzSe0F@bmc#p^uNtO>Za{ zm`@VGGrp;63K-z~;jpQGgKyzpMG{VdlVho&AI1P9K1vp1ZfhA!)N+@L(DV$Jsc~YyKKQ_5KTA_ z%%mfUG4dl zZkxN0k_g2~WC0lFLlUr)SB3)!wkTRZa}e ziBk*oU{pVm!7T6uZ20RLVA(QduTce@JgC^-z#W!Mqc-;oU)v5jAuhdB;h~-sUkAU6 z_ALgD0SYpIQWQ3ty<%O!@`=Qe<057sjK;|>eaGr0{Hg~IBju~y&=5z?r*r)@_B+Cw ztA2k#Hhdv@Xeyfzi=R^31*1wUdV7px*G3#-6cf_Ljxvl=BFj_Wr$O^c?qa&rA<;`I zIF}U2CjY_n(>qtiDma})=h=VoxEhu8&;5vm52D2@bPZ|~**?2R=~!mzn~t(bMpq&! zb%BHfD8~TxLYt_2hz{12ud;^7K#~}k%z#WLrYBhm&jgX@sDtHK`0)EW7i$00 zGhuCKXCrK2ZRBEY@E?95PNYKr@kZI+#K^+b!stKW{a3K5R&198WkT|q?i11&?ZZY0 z4wNLAnWWnR(Ab8pe+&xQo0r-lJ?+B=D$kasE~yaS>uw}NIM;q z{%t=CBaI14+3bi{HAQk5cyy`=iqx?ri!IdfJs|&hBCoSr z=z?J}!lmMkSfuKW`!Ekx){HWy*>H6tp0n+Ek6zWz|Ffo@>E{QTG`!?86jU1p6;*Yt z2OOh#PW3fwL#1HJ5>$>!2F3WC=GVnwI1aYK_e!*CzyIwI;;=bo$RGCGx0El-5#j&W z)&18}rg*3f*FVBIea1)fC-@_3dVOdT`gDF zD2P^TRkpO)sw&QzX;&^6E?e3xS)MCdZFN}qRJ)vJW0Pbp2)uEIYF__wI^J$iJX}re zhC~tycdx)G-Br>%47IV;DG`NXs&5?5AC{w2I&jds=(k;VUu@Hfq`8@})R8=SDa%aO zZ9t)9y^ zf*?osFi=cnvvXnpYnIO8uiqw;L*VR`msV}H4|dG0?_=O<0VujC1?eC39F6f9J>SNnV4L5e(d_COm+%z*x1wu4W( z917>{r>F1W;|fCOV)2mDubxmo=Q``K z`L&OJU9V9_DEYO%o;>*@OPm@^F@738#U%NiWkeFH*TUvDmYt8P$?P{SL>v!Ao@lGq zJOn&1cX&dTY6NARuLf>HG?v=efb|}>d|*V76)t@h#iCP>8?a%QCC=m8XUV;L=4Ke6 z>f3L(vQ;0{5hK7k`?x_Cv>u5kdl(#dli+2=d`+rHyx2jZzkn!kN$&hsoB0tCN$xym zw&3TWv9OEPS}MK_-2SeoC_miI4;oR#>L9lk#X}T?p<5}y;`~Z01RT)Qnezrw<>00f zD0sdx6cYc@z0z^V=O@%!-8f>y0~Sy3xz~Dq{QHX7+3qg%@?68A}Lc4G~?u;d|{Y4(T90*MfdZ7A6K zA2Z|(+i<@7a6B1vzn9>~Mln*spADTZ^8QjcfQXSyz|!WML465Mb5E^XtJ zI8WwKmyKqBhtZ`6pk+rR2-| zS#?h6Udp7s6KU0fWm%PMv9uEU$qnCo5!-Vfmgk#c!iV>w>gpu~PZFBl-Hz=I-i_N_ z%)Q5)??2Ki8dB{I4YAa=@wkk+NTv0i6v z1SbjvPflJeX6P~Nlm#x2x^zMj3U#Q?zyb@r)nHopg7=EGQk%X>GotrJAxc8Na_dYI zWZ)zX;_YSl zin?p9owObCuJA?~ijWc_`;6}EF=E|D&g#`PR$Fw;n>G0qFe*+S9&@*!yB8qH_a`!)J=SKG-BxnHynB=EEUYml>T&j0NQJNhV{amJFB0Ln>1AWC=@o{%)S?mVC! z#(MWD?+09C43tzzb<0-t4Lki0kZOz^G2%uq=?9%i(8`?!EhGg}D)f?pO(>w{V4`>rHYYAqzE zsARH2vUKx}e3B%mYcUm=98w^GH-lk8WoN1q0#lF!hVDA^A*HQD9SxL36{ci&*(L5B zd#5up1jy5iGc&nR6r$$5O|`u*6b0t2*e*iKikPhMk0J|-eype_d79=(8Idq^-YQWT zch6dcPY$R3!K-jSn2U+xXP_DMZBSw`_>BalG!IPg8N*WnM9#4I_p}eb5(C#18ataT z$^`5Sidv!GBkZ}Fp-tL3dPI9%I#Yky(2t07y;)P1V7&D)y=Zi%4#r6hnFS37BfXv*$;h&CW_T%|{-JgDo&Q)AGF1iQ%lRuSa=t=~8x78_h8ET*6f*6Z zSAG3}=2b=~`c%7IIQPe~WFf;p;iBQ;qBA3ucaTqz{1H%3?EPcVPB1{=V|DL1cG)Kb zf6jBbhwbARw1>8A3iDhM$>H?`-o#PzI-}rsKp}1gg{B6D=JX4rIDd!OPyMToc8osqyODvmGb(_gGlEc2v9oHFy=9J40)5t$h7i5} z=K|>fbMI)+Y_?|dDyyWGbq4vVRl;(KtYyMFrV$%k9uQC7@9Os)!MXrZ=`ri+AATOV z$o*4)Iy}>yR>wNv z=A^3b#4p3ndnzt>lg3_;?_W!vCo}<4mQ6go^*U-L&LN4qaQYER!ovG00hN8{?!p}c zFnc4&th*HRFBVV&k$IBKtb4}|N3s?UQ`*R^2Zm5~R%P{50Vc*($CLdmI0%m=_iM)7 zMmXSJ75c#8M6u~n86LHDxplcd)`qdF^dC&HPeE+SGA_rB%3|x-4=PPoP>5OwTmw`X zGVqu*Dl7H0FEuj!xqOx;c#h5qq^u?D&Q>5@C~ zPo`t%&({GoW>1(Vmy$-L1M$Z+%K%N%3ht^bptB{^uyT2dGD@8H`e+t&Sxi`^8q-+g$*OdxGD&F*4HhLC`HUDoeT+?L(K!;d`YMOLviSNb|1Lg-(O4`J zwPD8+s#ReeuW^~s8`yqo+`tPhBeiw=DsQ>KoN?f!klS#bO=5{0EkVb|Xi+3~@$~jb z9<(QFWGTK3-uK!J#tUdBZB;3zjv^VWn-LTKL+dSc5^sNa0n(|ngsaENMPOnlA-OUWXA z=q$ypzyeu^k68z$WmF9R;5(HY)y|S!53APEq#+NR+>6Kj)I}1@78?P?)INb*_4a5M zN697sfTX-a6|Dzr6T^KR?KJOi8|Dau*q;M^&k;+_68fxXVJW=LcVmmUB$)F@NtxIm z-to)asU~?N_E86-W)&yS=p)1C#VSLZ_1ImCPRLw=fSh zTbzs7BGOr43fMV+28}V-XcZYhc`kInr_eFWQLiK5=I@99k@(ygGCme&_egDMT^>MVvL!$tEHkT_Us;4QYHntdi-?l|e2R(9Vq1{w zRNusy_f(*wN&avqx0^VQ!g5}ub8OHr;zA)V2!kr2PX5_Gl!a0Q^K$h}yhR;&tST_- zU;Q4o)fa0+)VWeY|e5jwtlQ>f|(+B6_bjH2ieWqCb|9|Tuwxmjk8p3)q z%xyqTEErlcH2G}>Bm;Yqei@`Sa)8VS^$%)LC1{JbT=^OqM^QxZ0>%a#VkBkH0iuFN z^iHCJOVJ}p%1Nzok3@$r0*jEBjYF)n<1cLaL%K4OWfHru7ClP@^pZ@=!l&;(8VKoQDsS@S*Biv=`;W~8z)IO>}ZAH%U_w{4_9e^|^QVY;JK3gjC z?c{!GlT_!YyyLh=l}m<(wi|}>gsfGZT>DMJ^AKH~!0|HfL z_F`AOKi}{-h_&r-z{4CM?bH9!X;Qw1j&nN2S~T-m3)jUb+nZt)0RL$=D~z?+^eSI2 zx++gU1ZY)yS}^vGxR6i0{!*$(tcBu_`@-zlukE<49Uu<+92h>a!My3U@}4Q}%O%iH z>@$re#50f}cnxav?UTp0^^wGQ4c<1G*9O?-JS$r(^~%$O>$H07XWEMjt%33DG2P65 z)qZW79_qEcKF8YH4(quGxK$GDoPfu$HtiRYCJo=^pQx@SeqX5N+I%2<_6-lhE$a?J z?3t^KX}Cx((7#|6`?1p+ACRL1;=5#~YV|<@z*Q5|wR3<0Ox?Smax#GGiL8@&%4bJ%fqkX~b6?4DS<%zK)X?LBP`{^XebOBm9j@!9cn#@fvcRVDr+GRr{&I?g zN@*%keI}c(eQOW~x@%z0EuHGx;YxTKP<&2cf0c3kN`4pn<-f|&_{vw(QvKZs%S~4g za_1QBF_;lK;Qu4-oq|MZw=L1N%C@alwq2`i+qP}nwr$(CZQHhP?LMdb_W3(*#6Eo= zGBO`CGrs9D#{i}ZsQ+yzMX+zTB?}Lv*0{yS82b?0wIr~&1=R%C@<`qEcEj?u&c9@7 zaJ5Y}0niatyS4lKx1NeH(R0)4aYC1QS+u|FtL0#noduHHI6aD@T zNL+hJb}H*IqVo4YW_4JX_$&y3zkc2SWD&yu_Zh_hF&a@^mqX-*<3i*^Nji+$5EyjF z^9Am}YbFK9n+1c-t?|%^^QCMYEpj3W`||(xqxoxUs(R*sC!55T4hH~4nIqTEwLb4D zHJzF@`n5g1{VPIORFKdC*%3{aE{u-NEoToOr_?3Fmd!0shp&x9(Ih3V+7y@pf&e0m z9;j$CgNy)*sn=H##Ct-@KIkYQbzeO20>fD;f+?KS5}d^g3qhQ4SVPQ2iv zBCD=tx5agM!tz9Ds%8t4;qa`=rX_ZfYiA0HztjC@ zum+=p^guyx-o^Z+sB#*;PlY5ZJ@XyyqUa=H_{eha!3FD133&0&_?EU>Pc+X9j(HL1l( z#ajpZc+ObTGPA4L(0h{*+QZIhX+29`CHoTTBk$bC2zuU5j0$dfPnK}L%f!@CWCE*2 z!zrXWR;+q@1Ef?~d~ld~X$p3dqnU|Nc#x_9@&Mz6u2w%l7KO^fOlXTADuxz8*)BT* z)IKVuKwU>18VivbYX3!{G;ZZ#%M?`XIQZm@*UYcm!@E$O8Riz10;!1Az>J$JY_s93 zdAGpat4w_eoaEXs9gQX_olT1DTtZfvO8?^N!r){@)hAvWWxuS=am`{ZG>|}vwervJ z;jD__Nj`Oi(TAmX+!^V8g@{AwkPQ-jn8m@7ZeJYQJL2N;*BYLnt-C8)ok zRWXKjo}^;L-NfqrO-xv8zSf{j1|Pdz3pfBwuD^LsvJXgXzwUm$hl~FC%XTIdEj$;d zrBOJ+jqyHeABkhOilCY1;Z=t%fS3Y)$*cP2*T&+>-(IrKJ@k?e@db$djk`Q8oZPk#!NvvpGO-fCtq!qs_Oc{cd|1K={Arl)f2;<4se&0|{|sI3 zeoXJ*!fyO;!$<*L2VGGs8%GB|MY+x5uch_Mux5_ zlt-pnG*b9^*2vLP@!^HYoQi8_42aUVtwPt=^L@qB`0>Ks{tIHj(T=|~*L>Cgx#m92 z_DtXX{qX|4gYNW0$)y@A_Vzi!86dp{CL&r*ENc8yIf6*+P772DA)=#&Qgz%O) z^C8e}_#Izy$^F(Rm_$P~o+eC?D+yfJVQyE36r>tckPkbEQxs@1+Rfhu0gA6zkzSD= z1DJDfS7MwOfk+LU8=Sb$hDe_cI;!Pp(n&L z*2<8%+Vjpf0I(&nEIUbh-omRHNLeOtAp1ycMKuC=S2X_A-TPHnU{|*{&oFjb__MyG z0);En{M+dx@;l(Dou@dp6AHiBIcX1zvBW5Zg$7A46ZLKn03Uc`^g^@3DB)r6_Ls8k zE98Hz9g`6JGdO;Z;O4(e()#~>1pl*sl+*mzIGk(#+DchQ;4c+em|D{qd2}8(QUH>& zzMLN&6WzR{$*_fU`etS5_b4i2VJPv}FYkogsS5zfc@~dW2K%E8`{_;w@2{^9XdTGt zuoiQl-7H`FD@u14k!oCs`&?o9>*Lhs1eF0}K)uz%J`P1fA4mFmxEt%OfL z5^QyDq}UMfl15BP$M|G&fBbnXxHIr>%x5%}c%d>(z)h_2UB<^3Ad|;k)$h7(ozBvQZKG@nVA+2<^{R3sRilO zEbX+3Yst~+ov5hufO4q>zSIr$f6A%dUF4i}|KuXLKa**J|7K3|FXt%j=!BRme-3ULwPA6!sLKIauo2ra!7R+QDRJDL9w(vY(pV|<{RQ+ z3%`ejaUDRAv4>H&KP02}H!Ue)Zh~A#I@_NwR_&do@9v+MuYXzT%=-A!0SePD39hza zsex4Owqb42+8`o=SnWQ+OYB8Okzvn6t)eeG=hO4Iv9|T)C}Pq8_t&PKhZoy=Dgyl| znh7&-H3s!}BIC5!Wk{IK24Nxy|It!M{Oxc0-UU{M1Iy2QZ_iXL+l(cBgJ%I!)oo>) z?Or+J$VU+Y(0i_=Il|Qk-E2B}7eX^A%Mi8ZfV%F>cy>+@r?^(b`qt4mBZ$bfTP=(! z);t*lE|jDy3cx>x2l~|@Hcki+6t^%|F!mxs;*>!SmsE5& z1z>a(a%6tp0`P~{0zYy)yvyL$l5adsbxo-40elUH{`%P_;-g>JiFL&L9ms<4-D-NT z77+Nsc|n>8psw&i*ueP^6Y21pp8vaFGsq%%7itQDkNyKsA}Eil8P`RYdPJ$KdoUzy zO-UE@t$8DXIQZ0yib|JbB=M~=T0~pcb39OcrZ87QM4%usMEBr?3mn^7WB_SOA7eiS zf7VdJ78mm2@lX*Fz3fr%7qE$(7=gUeaY>&7a|nK1#r!b4glgKA5cV961g%Da2H{3w zhecxw)|6&g>4Dj5uk!jbhy(M44$_~-i?BZJLGUoH1ayIA{_An1*y+!Ipe?>SQz8O> z;wiw7QS$x&^jiNJQ00H{WwLNzQr6)p=|d0u@&|K^4A^xzt1tZItQ-zaGvc`z6st*2g3e0@Hj!}(}=CX;lPwFPTL2~NayDo$0CG3mJOau;6A2u_zoh0B_at-k1A5hpG>i13Uk zU)3|i)=cEdWF{^nfAqE-W?`b}>u^rJAms$q0L z(f0>R?PqlkQrUKr5569yh}L44-3pA->0Z?L)(O9_d@?7Zsia)@Nc2$tYEDR8VyVUf1T5g7g59i||x6OPBKk$MKT1E_<1Fkww?} z_;9q8=-g|6R4dY?<6p|`wUswDi-x>}NejcVBaiq{i1=Yzj=-nbAQ+XR{)r@ZVk)`q7>r!wYKK2vG9{G68}wl(FE2Giy_H?d<}g1DEw1 zkYO=IXKBYq9tL*|AD`u@jJ8_8_b)Pvqldu`N|FQRxyo#kiDC$<$8=NOZ3R^=geeJb zwiA8VWh6w3dJ~WRKoHPKag{{|X_1pf_KqZ1sO7mY^0dl;=G~tU6NkvGUTk;iJN6$j z3b!TV1Zf>hzQ58qdcc*FlD;FRArqZzWRz}By-5aAkFESuPR!TWT!hNvP2$W;M4}lFSnGW@?6pFsQPkv)UHzyR#jQQ9^6dVfHU^!8%cG-f)69l^rsQ>XoSQtf75#Lzk=VZD--4#t zKe|sgPLc<=sXaU4sF}z-yC`Nreq>CD{94|Rgl zT9F;j^Ja76R5aF;gcEGz(&OpWqdID^&W%!ER%jop@E$9RSmrH8@%9!+&8)_)s9{_| zFHzyY)L4TOYtbvQCgT9tW~zL&_=iLLw+U}9Yx}W_ajpgmf8?vd=5R|c6N~lV!MJ^& zPS8d$Aqq+lR6t_Omu*!CuL_1&ZF2W*Y8iIh@EAvwab|$r;1unlIx~E^O^=Ilm0gsA z-otkNGTH_GYWpJHZj2Q!^Vw%9TIio-?FMwc2Mo5F_=%yfx&fy>*qAI3<^Yq+I^`#s}*dw2p)W-2gj5o4aKWh|=xI@7Ow2 z)zUCD>>^H!SVS?mSQ)0chn4kKj31yji&OO$FP9TL%dc0)$R=zNS%*02hC&=~s3iB} z-(WC}WcV$~SMK+>(jXbU5#x}&=Ux&mzl&FJO<<=e%G^6w$aqfi&WvjQBQu5lI5sIe z;#K8>?A+N(WuG8#RFRYwD=I*}i`U+p2y6BwU=FkLmBhtycf7{Mb5dDpjVsW~j4NWOFKn=TyR!)jHzk@|39dGuHRy2L+7-8!e zP0n=o+{cDJ9)WTo0gm&V1Q1-JJkI0hADcLf+)j#6KgG)1|3$$f%5QCHqpSaafXf4A z{zH4BRDW2?Q$e!@F?pX4kh;=g9}px!bzIVg>uCN4sSXYxmRLO3)vNz5?}gwO7p ztNLL7{t~+f7{=q`6^-^GVj+zFksSR;`n1q^4;>j1C%RZ}Wj8Nh%!@y1Z%wIDvLYz~ zRvH)0Zygn%qI|6HWyRSnG!4nX{Bl96kMT2j%R7PM$#@smL7~EDy%#O&yNAO(=!U%0 z0#W$9!LOjAF~*tPo;ND*oW5FQ#QDF;tZ@&@ zMprpx>vCEsFLwqkYFzli?e0}Wos%3@>}XxUta4_}!&Wa;uleDm^ar?#)Q3&2jiy=# z9_Q|VsBPn5-t6T61fThz>)%SWY#nufq@67cX+&lJ^GVR&!PHXM!TLYDW`+@TFn)iL z1da(q`1FsF3v3b1#hGG<&=B9Rjqu@g991Pc(gHzmWQ3MX4jJP+M$?bazkb#H#nQtf zAOK(g-Z%R1J7E>F z{;vg~42c_s!B4J9@)L{yEm@8K^$TPLOpOig9fN=N|x&VKwJCs_11VW( zo!#Y$d%SU4z0KnZVgtB{C85zso96Fp3i$_;0c8vTFx=~;SR7z=ZlcI%Hl&HuH#Z5_ zE!wReo5qWr<2M&!L}!{Drgh>Xe2;ZU&8{xL9p|PXzz$TzH2Ls>rh?Xj5W~Hb;_vVoSG2 zR9R&ZEAfK&lj8<{Z)WEs^3a{$!Lneu5hP2uC#& z>Fk#fmt|I8K4v1h($cx`5oTl15%7j0cIYIs2A-JCwqYX%641q=luu;386!jJM-lxm zy-6saDD)qgAHV&ZxHO9I>^%=*RVAS7WU4%Pi^d**tM$*`N@4+h9Vz#?YRo(XYY@qO z5IYvogHMtcx)V|BSW9$Peh~qOv*M3W zYJ-AqYICQ7?*baW^&Vbw2O5W8rc=3h$ zK5O?N_?+&6h5k?nW4JZ@#S?ejJ$@4eWgQd~jTpglteeg*2 zUGz6Cnevm4+Y+oi?_?$qHPb_Yd&K(0%r8rfAT7CI+q znVpN6D>NsX9QWZeO`S!6!e3xRlsJ545P9lJS_Lhz^ILLI$5^OW`iTTU;8rt~DRfq< z>1NiF)gW>x-SP~rvOapG(L1cO!Z3cbsWwgH)N zs7BTR>c#rGUdpy_Ms&WsL>7iQNoV9grln#PMz#RRiyMK3!si8XS!1MGo1#sxe^g+Yi-eH)NC zYTeH7LO2uFmMgY3t(C6I_Wa|$Q%79tNDB3R5k)SPsdaj#)D-L%?k4pff#C-h;_m%N z{_2=%jNXlkz3CAdc&Lq<_%r6vs-3Y5wqonzQs5k^5d-?_m0I)%v6BtDlwKoM=aI0( zauAMGu?mwml=Nt&YzYwy52~XHN%R=ek0j=5tV^Ra+y=u{HF1EIOK^Xls-p)8N+S(4 znp!);qlx7TY^Y*WHkmnB^humlxn!%58V1}eO_CEsM%wF7B%uYsj>1sJl;<%UD+TOG z;X@ynRp=<(IFU~!mx$!S*D)&C=p`NrW!sI8k3_mNC1M><*m?7#n%@FGpX|;mqHHyl z&K`>Rqz>Q$BZxTmZWZ1ZaQ0SH>)c@Fe+xrhHJgwN(a$0N@ur@oZOTE2So16`@)b#N z;0qP`{(JN%rAF`53DVh+{|LLTd?)<*aW#~Yfnd*`=(Y%$Da3|zX=>Hq5SRZl+P3gR zKerqP(j^?($e7K-er)Qcq3-2e_GYFsg$zoOpGACys~^Z%xntCkt2$96W^AIDJ(=Gw?Oun8B*kkrm@mQ##eDH^r&f z2RRY~e`|C+quuPJBoS_1wR9??5KzfXcxb8gcNRuSxa+48H$`h$Yw`5W)mNWZFvA;-1%2s@RGGg}=g;`9t zVL+0|+F#L8R(Zd(7a8IjqikobV^n@Bl758_{MGf{87fkWY^hcL0#Wz1r1%0q(e#fz z_UQ$0EL`gCb&*@wcG^iiglbc(ZM%wP95FgZ0VchR(@^;?glB>M+k{G83tTB^=wf!J zOGhj2!_Y~kv9!8TyB@Kg0O`t8&{er>%a0UU_%IOB>c9ex2=+RS^mu1U4iOOMfaf7ks1k;6tp3I;vl%wKpXvuu zIEL01lG||4NyB;%1pTV#5h7Uv#N3|I>{)#_NZ|VhFMpsho^SR5pPUa2^UuqlM@zFh zy~10S2ba=CieYg_7>Ohyy~5Jp?F#OWr+0?qN>yc*nvHIYcWa9j=V!_lRoe9)f{Lcz zoQh^;?2UXuiA8M^l?bWll8tHy?YPeAFVIs97>!E;P_~GKbtv-Z5+B?+@+wP=s#jv~ z4xQpjFfb(Yg$`tC_h-^E~pI7!~u)=vD1i=kAM)_~ISi(?g2|3MonuD88KdHBHM<7R~l-H!Mq-M-WN|QVr4)n`l{0i9x(=_{@T|0UP{(ha22dc)yS67R!q_@bkW+6ps zo|z#A>tLESk1SWxetQBc=uWu@7Oyx&mp+9tz5~^Kp81r*l$q1ZNk~FQJczEaqj|*g zu5Ti#RS4g2(EuDu{K$3|gXUU1r%iCKOB4|YorgtRybLx18lF;E{E84(xM9aYMGd@RB7XTH|ARUCfYXee`Aj)tm~aYS#9y<33F z-98|gi?2TTbIQ8l2PK#c{UQuIX&Am33K22G*7L_huwJIZ40o!p+5Ygl_@orgl%q+G zdj)0VguNTfgSCxt6V#9>M(LRsVHU_kpnJa$_o*|#Uh@4pB< zx|O`uiBG&l4!Yb?XoJy-bN87jp3*3a%?!qnsHw6aD5=jhkBwH=SND>f{QtL zx_dZ4woP9slCpws6S}-3^wI7}0y7Wh{qWXkL9tV!rLdOW+4#UoZoof-eSp&#AafIx zgSXkYki34h+D6D~vuwcMU4ON(hsW$9(BFub5d>JJNRvveIe^vPu?18) zfTjM)m51%QiRw9b&A85@G*d!hnlChBU$8pb2+o)x#`g#pZ<)mRh)ud#@W1A5rwM-& zq`nLM>U{(9PM z$i1%3zd|Z*aT7N#u}_mT-RP0nHfBU35$M#kwLxvGG`Lm=>veNKWtA()&rdbqAz2nF zihwgHFPUD8EkEx7>c}NJI#;D2ZGFV?yKjb+dP{TmlkzCAVm?K=)&}a{P#+1>DjT}h z9INYEH|Q1(h5PWV7OEBNI+wdxChA>g_{xooJ6MQwz~h#-ZAJQeP=8?`HYKvF*Kt)$o3GH& z8YvtC#a^o>fZx!q_cxzS2@)laP)*$)6t$-vmU#Q&9NL&#xk0+AY}UPtMOF|$p{y4Q zGKA%#v21C{iJVj!l9tdTY0{#5xeM_{<;*^*nNY3A^T>d6fUIJgs#RhK+|wAOYwL2%wiLIf43ewqmYTLmjeD1`tqOpJqD}`| zgJpN@32YLN-vhM81IZb+En{(-HIemUsO zeMJX#^02=4*SBu^27ASex~k7Yl$Ip(wewW1W(IrX$cu7cVg*D}ws(zcW8L_D+lDb+ zLPTA`iZ9$taM{!!K7SsACt7**mRvGJZ=lbfiDlpEYF|Tznql#?$`?e^R(vj9e!F8&|VqBiRz3L&-X(i!nSUQOq;te)Csx-D10R7@pwg>2Mu+> zY=Or?BDh!k3csr3^9agk@^?8u0Z|9>xXTwSdOfh49wOV(4U|*+d>LYVCXFrq?4r0S zxk7f{;|^w&@l^+{E5koU>Ml}g5xfo&Ih{W38b5?Klit(FOdo@M$nDp~&Mn_P1B+ev zb29V#iNlDkh=5V!Xz-Z=qgHcg4jEFTFr;#x5DgI=NZh1Izpp_E&uibxM0w0}L^=78 zgEvHrh-4@Hjn3x%bQ<+)M9PR>gxy)Hxi(;9$nXXtAvds$yui@aUa6tSOxjYRz~t?O zhiP+H2O{sRbar4rgh0G$+tei-d6}NhP$4vbJ1L?)RpHdS#!O}923N=QhliTxl*oy} zm{ev{$?G7M_bM~d$%n|}Ji#E}}!St#5hIeO!g;2HsQo%ei+7x)%=FJ@*AK)Bzhe35u z{=@(tc(X-4r(xy&yi=$cuFX1i?N`&TjSjJ(e2Uz=1HFmiWLbQt==17jl*uK*c#&bn z)0~R15yAP24Ye*}VR|9XXVnShN53J-TADfgwDCDdf9Usub~Ivu?wC-?I7WScU{oI8 zuS;5v1vj5V!Ct^H!@pY~Kq?(<7(`gpBa3%LS1Pl!kV7_+S6nGgnuTFvtuTX^r?81v z3vFL8Y|&oamu&=*E@^bpsvH(K^KTLc6<0-uOvk$#7IOmhv;UR8!WACL2X*1UCRDU@ zx^`m7xw~>=IxHl}`S|A}R6k$vrqllw2T;0e{N-s*;ywjYZ8xzd*)a44>(xFM@g6gy z>d(m!wV!KelG(_av|kk#@31n`q012dqxe?LH~EStU06_)PG_>IKdwYvZ6EdLP>TnXQYXs=SE~X?!~>eIUcdVNz{mhgnQJ<3#umSEt)QKBymI)_VjfitXJJ!s zan;|yO#5<f?fsxDo0xJk>FBsU-Xd!kifM5kc_&%57j18cUS&tcQ&cC z(^1h(RJ_Eb_?$j=axXY;(-Ur1&YI+C^K7HZXLHIJe8SS;qQ6}nE4DpEZ&2Vq&C9tj zKO+E8j<;c9U*skZ_*8p`$SNH`=qO1qypQR(DK2Vr zv$o+D)y_NB9!k#ip&>-&eR#8NklSubvTblyj?xXjDmaSNGgfTFJ)g-;yr&j4M9Rc1 ztB!Lb_Z&5?a1zsI3e%Ksip(!>cY{*y7SJ`CixAZ~6tK(`h&;om?Mx|slc{*Cm4VLD z5JYQS)@u&i^T9AE7>ZR8j*%lX|Kfliu+W;Xq29}dgXMpz-n(_wQ@jg;sRLTS}K#hFi+S$ zz{uu2gN}Mv1}+rM?8i`VVphOX8!2jFMPgp5C~(i-$!`(JW`0aj#+rkcVx7LU)}nxs z1g`j{unlZMk?6zjoAU+)u|Se~X4M1WNQhFNZjvdzOYg|ARH}|P)m(S65e4H2%G-g+ zybW944o0-@@`w(-2ky7M>tlj2h5lkbb+?kD5oUeDT^yqQMR%DDsS_bLI@P_>hp5rZKtfoH8?H8^J zt(U6|2aLLxCk;1FJ1?h6rC7MLsPPjs{vg6@q)Q`kzq&TRA42E^c?D7OOO1>lp;b^) zkOc6KKK6=|nbsX6A_hTPYa&v7w8~&R3zY-QD;>nuZeM1>NC&*T)R=_>6EArJo=|ies~{qRq12xgzl5nyng<@ZxLSs35aERD8wU<>1t4KRMHnoay~v zJ6dYZ+~m(c&DhAFp(xXT@9U+k4GjOIpVg_jDfK_NWW2@C0g#cufstxA^_nYv#LPc= zMJ&Ly8hTCo2J0kjMxE9#tiU-#qIL5^0|p>*dz^2PBaE92b8943s5?$3GE&*LU%Tw5 zEWE!zUm^d3TgRjI%_Bii51h54p$y8P@c#)U(h_kY+ePM|*mI|rG_RzZ!t1W5w4zB( z+qVhMZ7FL`E3>kjbXsfDwJc97OntA)ZCx!XVD@c_tS5X`=^2Lr)ZLtiEF(HDMN=>JEo;?Sec{~qb8`g8C97# z;a_YSNx&JPUGuD4<7O5!Y97OglE#D_(i*f0j({AJ)hV+IQ9~S5hT{cWhvcUe@`dVh zdrYV`5wD<16TrW>Le^A^x=j8Gij+ZyK`c3Wpo?;7CA>r zhKLCo;sx!1`wS$m>1@r!53UFF0EV6|IABcot0)_ow750vo_!OA5<%<=E_TO5%E|iS zj!a2j0sE-Zh*lhIm`&=1%`2j#nsF^L_kbH4YRoQXj!wEXj1LcvgJ-4&Q~~Q3V~&Hr zub9^rs)@48$e6I$mrxjNg#im!-8PssK)Z=gQP&&%^ObvQe+LWA3>&E`yqmM)^`wDm z5#B$6e*@P27PdcD^!+2-Mf=~fr2jM`m3MmuV|1^nt5u6SHgMm+Ylp-mR2EL6en`zR zLvcW2c;Hl_KqtU3>H2js7gg<;R(k4dd=!If2}^5wm5QNDdcAxA^jk&xDYLj4wi!`T z`>gY}Si;}_Fn-hTnf1mjsKO}5SasX4Q_im2&+b{rp3mxDp64VyfHfG&fGR-|xU0W7 z(UOw=e^UU1gF?!H!-4D67t_lyr^ePFr3I;$XPTkVw^ZxvBqIM53axMb%Uumws7v? z(KQO5*J!oevyhjbev4AEE8%7~Nj;Sy$CiFrP6xNY5n;v|UofsS9mguWR$6MWte~{k z`opal{f)*)?3EDI=mg!RV#gY5=p7yu*N}Q54r7|4xMSOn5ibdtv|5~73$`sjNY(sB zb313d6ah=$R^&pEWx2FdsoCnEUkNdUj(r=j$i&$&E%u!94nhUajm`k-oO0UI!Qt=b zgeP^;F9^gp&4eh4EqXYC4Cv<`vE~%o&S+FLp~C4NaAdw-3{W|hR969rVYFP;a11Kx zw$fzXjT~P>-d1mP@hdUMFL!A~?^4WdRz?yRn3!V^eRU_&c;4W}rzb|ja#4oKaWX@c z-)X_CV~TOs=31e>Ro_*w-rr1e*UjT(u1m#M0>j1lB8gn z>)DLA^9r|MvG3J^4ZD$LSojRZ=Bc9IMh|;~98bI=#r}EWYKg9qmtB1-dX5xy06bj{ z$TPZ1xHP5<;Bm>~M;r8MgR6jmU?;lC-)vv&JxRdrK6Mbcn)PUFOc%`USs862RFJOl zYjoCVc)(Az7`Sfh9Z;9yo==2P*xM>!$hn6d;k~xmo#)A7sE*)p5bDvb0*m$FV5kq3 zK3DBNuuWGqwgw23Ss7&@nhG^RthU$;NeKmdvmret;`)Z%T;Ben_L=*JQuC+B&)|;j zOy^Zn>i4T5!`p3oWW+9Fblq;BW{)8S2{eK|qT`2*@_d+Qxos)a)aOjyW3h<$91AjZH>zv!Q%(1HH5Q(^ezsxnh(~iOmw?s<9Eu$!7lqt&saacT9~#P=Q1 z>{i00ZdZ}fhx2Zj6wFedna%p(L2RKJI8O|#%ghg+gm*nSnQq9o4IfyuLA82~xim#Q z@T*D-4%orsl;IQni{LXM(&!iRAlI=>fd0CBE@;vm*C=yMDB9(TxqJnR@!;I*zYlNd z<5r|Ex!tH9>vV2h%Mw(~3)9{Ejb}n{F99UJZ03Bd^hP#`-Pu!JZAdBKwW zHVsM5n@$^l*&lETPu`3PiT-MrRp?u+GS0y1BiwpKhj0fp-I8ogT#ZAgrAcXU!}b-1 z-E$w(9&ndItyhdaQ1DE8dN(s3-|)xb7_4!*x#b*K&^vIk^!G=iGyLo0T0E)RVJjwNCGrEQ*>l(c==tolbINW z4jkAszeYJJ(=+pL)Lwk&otl^ITA5>4?0PcfoCOsHP|RPlYrWqEDf_0BcsTe_h^_t= z7{MXEx<~V}W6x-T$$dDShj|Kvvay{+!KXWlVgt``x=BWPMs-7Onw6{P`B!fmZ&N;A zkcwKFCyejhM#KkmKO~j8`A@K|k_T&4X|2Droo15+wWUy+8h%#!6`DH;4V;r!*2ci4 zw~z)8@DAn&wMRQ%*i`ojgz8J9Z*usbCZGs#A(td1`nC3aT| zF3y~$Os7Msnad5H6E+3r2jT|bTjdK_SOw>XNl`mE$f~ueNW;6x3}=s*HWnA0rZR?^ znr-Y-UG}3UP9@^75G|z~3SlNtNmM<`d-P6`!V9AYIfp+!cMf_?yF_8Ij3-s-qx3x{ zlBjWww+CVzIL_P71jgK6Kt9&MK6GK$L=nK=6sST&R*s*9`hM8bJ*})+OUA`zk`>)n zO8@%aym~Z(3r($S`}M}IPixsB&+;w$b=#ZWz}SBSDBj=<)4&HjqkkAKWysQV4@ql&U$xhiGg$JuPp}s2utM;8a_;6(|anPO^%-c4< zVJRmLDJg6TEi}SAS_)`l$}S6qn-iXqTK@rW351iM{4zg0CMI8@X0VDUh{omjfVZ*; zLSRgHKxf~lb&wN5Qx*W{SL~Z%Dhg`uLG%i8Xy8A>PhbP5a{e<2@k% ziLCk&iS&s*y@Si@>y0wAP#ppnLM52;w?i1dX#S1)=gDKP@bmyF?F|{8?O$*HKR%+N zg_(Fx;dpML$b^1{I?XfP&>bVKLy9JFy4*NzQR2!LM=8tjuOeCbD*Y1vboW2dp)sdc zdk8=5n%_U1bN?3atGvFoouPrKgQ4YremiCB>NM6jVMCoXx3ZybJ0OUu3abXHM z3u2`mi%mIHR8%x=l1X)cHY3xaX}{b_nJ%k#@+F3?J9t2o4ZGQ{H!m?IIOTdwI+`b)%4jzy z%6aD~Fk~*?WhOF}@7+^#8CSCxZ9h;#-@dxq#pyTczwcv29ke4C6+u7(WjK^4T&Fi- zn>V#~>ABt?iA^FPS`AiErDRbZ$CSQHUj_x`o`$t+Rn3r8%RXD^{Ywn&aQ%leb=N(q zRV%B!B}*|8?lhRWP*;aztK1Fq{zI#02yK}aK9VyO&(Bw@c2rPo6s&Q(LWv~fOmaLM zYOeaY7~+9Uw$ZFhv?1tF8`g}BWr0>DJ4U}kDEYR-q;Lex%$ZdCL@`95D`zgd3A6r^ zUfz+d2SQVX;jHac_1>aj_ah5Itz|MnPSSmJn*#d%$fN$wVyGe*9eWi~BSx;5(ZhKP z^>%6mfSNFjNr@5bysdSq!CY}X|8G!ggx=Eqc$|2oFYc8r5gocaTSYHsI__l`&b5){ zu0+{|XotQ#tP(pZ!!dJbm}7rZ#G|EH1|p`aM}!*+?hZe+u@lQio*h~Evn_o%mXsOk zg{6NUr=Y8G~>+B|X@=b_ro*XP$EG&N4hGW3a+^#stqivQycxncjTsepX20 ztq&md=~{+JVzIa_ad!m5+=m1-5hIX<4|?-W@T<&Ct6vEVz!5gc>&_vhDW`k5B3Tx@ znc9T=qqH4zK&eqs#kc5_rehjPqlNtT7}R@mVBF2XoV+&{#s;V->mx8A)Ym3DNXmSG z+H&H8G$3j#%cmcPftk<@NIJ>Qwg3Zk9ym*Sek85paCA@Vpc^kJEdr<-1Obq9oKjn; zEf{QNf>A~4E8pUvcL&tinJ4IOb;2jjPN5^9gixQx%(+m!xkz|Y0VAl78$MtC(jtRe z`O+h}v0>doRpM}M^sU;7u1Ph{HgL|(5)$}jCcf0LvpKzF?Nx4%cu{*o!vjcpRmiWp zW7`Uw2;ZnA4qWz)n}f|R{VennLm+Hqy);l2tYOHOlp9I*yu4W&BzjieW)}LRQscs)ti_T$Ju3=Trg&odrlZ>*! z`B~7elvB2rCKzPDj8mGP8i0658VaJDZ7S^5$^z<~Qj+8+Jfcn6XnO&+BaJ#Oa~@bg z)LFMy1Bab{eXDWNZ|0*xhTlSaCVPJUqtn!IELw~91Nn0S`!}&u@($MeCb~ahNBtk_ zXPf`IB%G+QDUYa(^u0-BFm9wMkkcev{ux8$18?CAQA8dBEks7-XQJLlsjMOD#E>2- z|Gsr9k^Mdcy8Q#d&)n5FF@9SK{^IhyX!zXRB!ZR^PR;B*-mt%Veap1J#`XTb!}Nhy zVVBxTi^9=ZrY$54JCzc%Dlru5m&DE{sOImlh})3ca2!NNXo=)7OO>yiMq;VQ_z`Kpj-8^PC-IY-JyBU=b>l`1P0D$^?~LT>^u(~pN28JBzVqut}KGWm*E zPt~5ZFA>%Y$&OYk6%I4LJ-K6^YHzCL)eH+a6{c3hhI<~QlP))8QPlMl4^ zv#=EKcbK9X<^iaM5!o!f^S~!?R!ITHmdROxW$3uCxvAEelPBaH9q>vbMz+Tnj)QI< z!-Q$+4~5)U7HM~$EOCiXt(2*EzPsDbCfMD(`%-{MDciOO4bo0f~ks z_8h8V!U@e)`oOE6u|K{9=!8rspaA*eBBa1W>dvtf{}JlegXl5`bGE`)6*vei!I%6tf_gTCi-R81t$bomz}NX_c4g zo+5926nmg)CRWr6pZkTwjcg$awE1=jhP^q5XL$B+oj;H>d8SIt6nYydNGm2EDs|0X zc!eDhAle}dPJs(E)S{SeMQq+4Jtw-UxKl;!1>X05$OpfpLVwK6NqQqBQz)Yh(}yUO zUI9hwp(I*cD==Z&xJ8~ms<4YDGyL~cu*-W#o1ojWO|F-je zpMi+KpW3&u6Qo$X!EBQDw@%zSvQfJJr7~IjP(qQ7|2CG<%`X;LXCwbM23@zxHf34~ z1A!h*0swe7vORte0gpHJN)1yyxGdbm*WR4a*zOo){>WQ&$QU$hyxIkfB;OV0sBRNz zan2Ct=Qv*Q`qS-v@kWRIO4ZL4tZOgA70y!jOc~Zc&a>FP((eG&jldEO0K{OMTcZ+; z071G{H?XZ(+~6mR|6~sqV$F2{{Ap`@|2Uj~OY1=1!Ol?EQr^+hQrFJ)hm}D8N4xMp z^14jn4d3fpk=D7ZtjF_Pt+|r@`zj^W?xznOp zk6tkf4jywGhawt|l~qE)N-yFt3*?i?I_T;1fD5>DqFWNZjYz;Doz&`lvk&%x4`!|*>f+UG#m3<8t6^9Jh-akAs@5b3?xtV&Dn!j zk|z-Dg@Z2OAUqIq>V;3Qy!&?LO+4+BrZ?*TlWawkw)d2B&*=TBgjFTX7WlbI-oxS> z<|^%>KnSK#Ed6^ZF`I-ys+^uxTppuBq1=C)US&CP%}}C*1oQ4dk%Q-AKV+N#sgJF76_69}Y0Pe*|X#2gWwXiRVM+V@J4P)T6IhHhigGp2znv$@V z!%>+0+QEaD40m0rJ6TlLF#EcDgM3{)e@g(_D4!N5NmPh(2Dvoxu36ElgmJh41ogUp zAt~nlBM0-yUaDhh(adx+d2T@&_#wO140qC zlO4=p8a%Gs9Bu0-IN~uijd?jg=@8qr#b?j_RFZ##*6+9+I z(nLcx-B^ozh(6!-K|4Z&-KKK^VP|&GdZBQz9v9^3Xm?0S!^J5Fox&(F2p1T)_{lKG@a zu2ZB!LX3l;KaOz`KN)m)y|2)a#ell3jk`23O}piGmS?>hR>aY@)4~3Y009-5x4#G` zQU!np5hOzy)PYBtZ2+xG#yQoshN4M)X-%SdJ6E*u zSI|yR901(?!&42sf69Jay_F z-;OjGS;h}chk{~g$FH6s`usVOp@RKMyE$n$+I%&Fg&uSPTUo-2B8VDVDcrr3z8crH zoq!Jv!>BQ-MxyqyIW7x&C%BV=%g28rP_+z5Q;MVlL4H$>~ z^=(HE%%TFOMC;L`8uhBCi5boc;4+j29Xi$6ZGu3+42qJmTj=q@!l74}4Yu+lEaa`R z`Ei;pC->7vmi%W`*hl+l@Bo^z0n>#Dh&SY84gv^`{WtHrLSNnBH0qK!d%~J}=hrKA<0RXSsxsKb>e*9k9T%Zcqcqb;}UXtl`}K zGW3Wln}0mWw}h=;XpNMXz#7VPD{Q?B$(TQrHPm-s%W$$c4P~8v!9uW%C}fv;M``zb z)TFI|Xxp>oE#J8Qq=}k;xi)oc4V?>&vSknMAxb?6??#;;wR$h`)k&gNMO}Tf_>;$U zUd90jUP8>lUK4sc4zBSB)m0qa0EZx+#I{P~7XD`u9Q~mAP92uf1TKq&9(O1{t zOI?pS)|^2I3uq3XwYoP}H1bESk;y9+up-5PG`72a2myM40}-i^IR9Xp(9fp-88fk} zDj{R7n=+V;4C_`KkNEMEURDnZBRLh49-?>xTKUFr)^#9-Jshh&1O3wo)FB`re?Z8U zZ6i?ZikCZV*A)ie_}BxfYqa-#5vKnU5$q1o}DqCld<*PF<`Ey*<~TKiYS{AcklBEgtkCS zpx9+>nJFT46bqV1d1o+`THn`OKkVp9i8}gWznQ|a($|{5OMa6xIGTbJ;Wv1Y!sXQF zSc3O4e=*0|YU_%5KvpvfQcc9@pV;9)en?(pCx?-ZZ2hc(!SAJfBVE|0255|%xdsugHd^w_EpOEqHm=}3$#O127U<2WAPvogdnDGg5m|zlu$?XX1Hi9F@ zuCRF3?C|6rq!}DG6n`v4n2xo~COF5>Xkv&FWt-JELqHF)$z-g>xa?QETR3R_8Itj*zK2TfZrWkZF<|~n70Vz?Q3qZ5(Duvx*UWIVl9Py}BkG@)e z8!c7PsG2;|txDTMhE6pnSIoyYDis^@NbVh);i^g{e;dG8+ZF|5lY?`RPfFQ5J zUxU1bSiUDeb&VppVP^HnUgK2mfVJzpC63$D+fu7zy%}!)EbOrPT|oz6F&`= z!b2B%;`WZxTdb%xZ{A3-i)UQR5PQoQddnD1SplF5s>qw=Y%T#RESReDO5PYH$0%-* zxl2y{qvSGQwyp{8Eu_ym4tT0Now!_*8Jo<%S*RXLrZHC=LMs0#lhG$bFTY=l=G7?d zp()Mha|50I^0tWpYF3iqJoZ>4@FJ@8Q)~kv;6eooOuNi9e0Z>upAAv)g=L~QAdtDj zg2mBlfOSU9*L={QhEN-0Ee4G9k9(w~tc!6;)s>%K zjFkz`cAFMaObuRP!%8XnMaN}9Oj)dNbGO7krZXy$&?+nPyYNFiYwP!7Z}+L$@qd;f zH1lSnB?Nqkt#5MTT4*)hFdeSK?Z!a4$ExX=vuE)*>Yl17o#)NvUExllex4fPO=pB= z)c$Qcyw^NkxmDPhYB(fEv^{SLv#@_?9}{y$ho$7|&(y*+pSqYN`j|BMm`vwUA+!Yp z4knLj8FYrLVZCUgqY)OtH-OMRRovrC;9z=21OhAPh<^PUe3ElVFzIOO(|EEu@w$C5 zxNG*1vn~;}QIlwC%2UM(YEKF3B$(W;>(h2=N$Rt`nR>;-XU^m2=%{k~>F^1c`1%N= zYk-y}x>14{w?9eXKIYZ2pLdsdIRDC_j0Q%eooq7Ay5mbsV*qL$oghfZ!4u5K@`+wO zkE2c>3V%Zb@dop+fix|(o;B8&NJITa1Ecsa18JwP4)}k}v2*xm^cMOj!NQD1zGEB{6j_Vu(q@0sJGh)4ee52Vynbq4s(o)DRCdt zQ>pZbnND{7OE=kSjC?5#=2hTE@J=XoES?}1DrR7ElWMDU#tCjO(KBtg4w#e#ue0{{80nga+zpj;&p>Q&NuQ<3?X z?KyF>;itQ5ju){uwCv!9VvaBsmb8)zi7&>?@03cUk1{O=#y56*95;ojEnbh^pF||P zrsH-=3+t}2PdyGLKttvtnst^xFq%R8J^)?v45HNYU1G#psp`r~i`ij)Xgr~3zQ#bk z$vYUZ?TiokEvle_TZW2BFuS1m4Q9?f&wYJp+Ob81qAmd{g#&gC)t^Ps+4#@^3nGsM zWjr@gULY6vtKk;)ay=xiL6GHxENG=(q9?dRauK!GTVO7QSBH5K_Zo%w7eh@KH@%xT z+j^2g!Qo$x)f=Z`vpk;){_Ij6yS!8E(M20a(4(IcKSrwc6s=rL^A8$;o0w9Cz!0sgnFyw!FCgXO>XPuUUKSFd^_ zS`Vo(2PVXSS~y{f`%q15Yub>kR80j|p!$^M_;Z;z^u$y6_Qq;M8_tBqcL#dk79}MW z8LJYP#ff*nH#x@DB2<<-0802C53J)rbigb|T7M@O#gv~mb4wVh|KvA@|j5ofot)5D^)(A1E@ZM|7X*A|bLmi=1U-2aCL*W63HOCnZpGIPm8esp||k z7|6iChc109pUE$;N1suygSNQllXl<1SJygA`*_fVEqG`RN1xN$*s?5m3GM!?K-j^> zW>_bs9}PZ4IX`ICLUGz@ct4P^I?BZ6dUu(whK4>2EG@wanG7kkLk?5;E%*Iiqbv$y?0;(IbnTc@|x zkSh*05@8GUDdkByqHlIzRFuwJdivYr6wYNUy^~V(+XmdOY#Am`xPq1yc4plSbn&z5 zl!(4Ii^Se5nv{3ct8tIt;9c#-R{R`VDf3af+t*sMtH3tQW>61-fcit6@xITqz?fb% zP3iFr-OK^0dpINo(F@IB=nBf9YUU-KQOd2i;+(%ZD%x(SDQ4YwKl1XINw_cW5}$(< z+E7bk^zI7@)KgeQSK&MC`=c#kgb{!uz5kTI6w?$l{;^-?QQzRML9bIl&O~n8oS#M! zYLvhQ`{A;>;!@WLziym(_7So3nc2qbnef@{_|5oGvYl);z<&N5JfAZmDO7 zZ-{AgXv<)a&pV(OdDaDcAZS$?e1!kJNc)o&Y||cmQ}NTc6My+|n-BAhf?5EFj_f$ku)M7wiRY00X29OhdY8`@$_m?cmP_FCJIJ$0tx@rnx~o;R zGjNgo&zeJs&Wd972k5`%PD z3HY)D6C3>s__BkDnSaNaOVx-&4}hBoD)^Ra^`bQf{D}LV3;$Izo5u8Fs*@3u#9Pnw z&d^{mf1MM_ z686x`R<9Nfw)s~OTR%NeYPlZ6*i%z`?y3-;x1B_3bHP?ZNO0JR&o~C9FCAQ{&j_qd z)>zqC(E^gG!*rZvT+^G_#_-;gwCopstPJ*YPkiPWCI^`Lr01qwcK8)jRT>4@wlHHI zic}#CPnyPL>hW`O=7OSy8&k@kioFRXz!LV@I3~{!%3NgHtr<^OY(d0QBK(6i0O$13 z%&F(^A&Tqkczw#H$`+gxK!H;n7wrCS14BbCm8BN>#WE~5NSL&wi1fakVxduPf-ZS) z`kno1CIq3=tgfSB-)~~WJOUM><(}i_7@nl^sLY+Z;C63$nM#z=r#vsU*j@R4E{s^y zI5=RIk=t635+d^Oes8C^lbXi_lOiOzxz4HC?=&^W+hhQtI3uUxmGWl3&dCcJfK#fM z4^CT0iAt^H`xx&#KQq{7!00(*p5dLFtz8_X4is1{yZ?l=-0uweaDCaU-*&K=z z6K^eI_n8-;$N5>y96Ffh7!;2|Da)WVjj_#?B7JkIOv^oIi0d#xEs{-K&2(aMkJ8xH zD>rm#DPzUCwVy#@H(kH-w#-3*=`QEQhoZh6-EUL+Repb!iHPseK}~xrzd0MoexuQ+ zAFvgH;W+}@wvNgyKj_fK@oT{R0_*&~Dw*=r7KP9hgnB#vcacK5q+#Ri%@t}unmxIK zPR?{lkr{_Yc^H~yyO_tI!KLnUp5i^oGSy+kTmC(vDYUzF_}0=?FdqaO)|#A1;Z?aqRDT*MQiCEmpv?~E#DtaT~A2o%&?d$S1?KXl&Y1)ejT@F7EwOnHmyX&aPUo#h|rnC)h3>vGXg8T8fyx{E#5mTj}AG2 zgAS8L?H630^@vamH|xVnMu+i*2#McmwlUX+v>JS76Yi(r0(Z669?__0cpy+Fqn?nZvA;F}Pv01ROW`;Lxh5|1O2ET1 zG9KR&`o~gIrZ@M|UR3{)k{Jj@c3~gDm9ZP?2SU7m2p&b*K8h3>cka5y)auDIWmd_f zH#XOZo;(#S1B^tL+fw()oh`}}q#Y_jCyXN19_oS03s_S3-;FdV}%@h5LulUMf~{rH{R)~|Iq3O>q|J8eG^1}4NU$t zIAYE8)(yOw>#``fK%j3}$Of#i4OsuHtpAdqie>+fqpOtA<8I=NUJ7o$rHe>ira~Pb z(Ci`KlQ(b~a@A4}WeR9|!ud6(B6gUYnh~Fx37!=)3< zN4#ifjceG#C3Ric$i+;L$_MBiO1mo0m%-)#!wbruXSB#7FG-b*s8-Q=nVI^X;dN)e z?;Zjc>jVYXi?JvANu7}{@3`Q z|2UOIT)+H9>wgU0*3-8%0)E9X|2&rx{x@s9Zrypz84(H!?2p`4o=&Ydw?3d>SHE`U zXMDgDvz8cU?KyK>o#Z?4MKF)}pR94^((L5sw2ZdL@f3%HjTD>BE>AF9co)s)<^$dN zK%<>hXzT{0g&Mt&O6;c~|1>yj1{A#E&N+BY`};vW|9906G#Dn|vp3C{&M$k^hn$?;5BDm_ikBYLNtB-vJK&H8ALStetSRbE=UA4 zU?P=Qg=kE@8t`y#T-K6Ka2(36&C`4-f<{GPR)mwNkkm5h!%yu@pXWe&O4Vkrl;nS3;$9fyeUNa;Eb6d0^%M}NTndr^(0l*%YR($R5Zsjyy)KJUk6OC!>2F6%8$;d)Xv9%xBTam#3TK1yke{zB3eh z1qz8dLI@cTSrRRhkRLICyUxD>F3SZn02`nx6GF51Gl`4g5vy-vpd^U&8}_kkQ6(Ah-)OuiYY>q>^zphCM3m z83-CwI73cB6IC!n=bXgF%i%o!1xV^^LQXpWyfCCe+iIT{y{Hdc z=f8P)3v*ZQ*I&1w`>R5O_P@Uk|A@!_(QwH4f40y+6@cA-8S}OLcvAkcGX5S`2%#hd z5kc|t+~0HLe=bOkQ3~xdhND70P{n@{qy3{IquHPh&92sz)nW5+oaY~?{ukISj7Z4u z@J-pfF`Rg1yT!g_u-ry}(YeLJ`YyJ@>6+26Y)`zB(;@lX`l_7>iwIYKtFk_R0>3kwtRLe^Rt^TH2u$5PV9-tX0gW44Yp{CPH7uMXAj zVJ#$lPCkELb7oz>n+HEnYNM>xYqXAQxBI~I_)&krTkPCI!pv~wCuTwd8;Vj!K{(;Co{gfl4~=C9 zlt(?m8OV7%R2fij9ai^J;X<3@!;GL)9&uy57H^{SP1Z3FWnC3}&AGt(Ly;Lk883);H7l z2T_rrVUz)3V7Q!k)79jMvsjiKSuunrPWjuyB?z*Cge1*8{nmSVsm zR_c-MP&~_lTH?9AlRAZ=!~6y^Cr><`ztRHHzKe)GgswdbQVuxL5IYBDkR%( zxO7_<3P-1uojJdpo6c8yK)}{ZwvnL-m+j@ro6T072V%@A=-PLcH?}48TQ#fGkrPeE zyl&}{(i^?N`ep;|DYR?@_McIwoY7|!EjSvwX`hbGb-9jHJZUs4TYH-QOy`@>3QR|8 zwZJqKZ)Z))NvO_MQPN=Z@0uNj38v(*OSZ=im#Nfxa`yd-e>g7}bcXEH%mk)!70YL< zP>E0>3_XcODAsF7Tg#Q|x`}}8F50cZbL+*3i>3uT%Sj#9reT|3#)4SdEH#WBho1EM zT?t<&SBLe+RdW20CtU2Q+gR?VOy{u#3K9d);75p@<(<1r78$< zjR4n6QPM|Akni{dxRjk%TU@U4Jxu$aH2sU|He0+WcI*YGR&C*GmEZ~Hy6(MIoW3^d z(7soI8shfUb;m1b?e zswf-U-}wgJzVpT4c?k;MGkx#sFQfD}+5+{i*sA<&`B43y0Ufox_G?d*kO%w3>@SSr zb?W$v&EA#9_pZ1Lt^QMR?u(P?w#f@N#jPl>6cYaR`_RM>9s&#&Ps8hO^GVg64CZjl$R_cyFDj4ymm|0m{||#}9LJu=v4i#yD)FK9xp{sYzvz zL966F*AIJ*>mZpnvQEUq;p^=Z=FYZmr7_y+aIdcQ)K$wKwTt!aZ}ekf88n`vMZ~g) z4>$(++AuP~mMs>gd)26TN##cBlKb|t?fwmp8RbJ*QJ`(&!S*SaTZUv&&iS>Abv3u( zm>k-b-2Ad{#`jjzMqJGRo|D*prGat3{%0)Hy@+34pP#^ZjGZJoNpAoFs7R+I&QP{ce*^P=?*{fFRomPFl2(I z0NW6vDGCcY&JdX$x(InGw^Sfj3HmD{7e*FFi#whH(Yk??=})>}384zRSa&VJJK}KE zyV!n)n!r9NYjpt~T>K-k+{h0q47n?~M&n$ICDx{(bBClD&4HgP*Es;dNb$%Ll=HaJ zT-VN|A#;g#PjH*9y?7HT`0n9k)u)5$)%8hJ2g95_ z^3c{#>qC#1>6T#OQK(=|W;9&L`&GMteU38j0Sj(Ru^xZ7%{98r`h@!L%8zH6ZSwPV zsTBiuKv~?JJ$?Z=qFNEvI^{(a{W+z5+s1%3sv;$x976_yLmpn_FVA@_GoUefWn8VZ z6s}N;IAg7!#-qs3TrYQAuE&AqqawGjX z?2?v?{;M-hVg^QyA+h24qN=TjxU{*>X`Ji~3tgtAFb$1eZ@fJ19cpv|V9(v28q ze;Of8TlKB#m#ij~aM|z`SY6HUr0U_vSI1;u13k6MKnx;Ho?#&R{wA?itnK}d(>SAx z{E0g%yd7%Zpi1({?vD#?Zr`}Q+2ZwqB8DOLWBs54zS}1-lMMQ#E5$dQ>whnIJ^rQ_ zTK*N39DfPj|AS15oSxbLh6hK)OWS-&WI>zPPh7M8cA>C8P8xI0pYrSsviZ+bV+C`V z&0_R{(rmW7FxM!Hth)?^RNg-=RdXy`zlD+_B_LSx@2~*_AIAY&T&%I^kCPmSU!6-1 zyk|a{?+;wRp)QDPLd-!C=M38@&3S?zqySzELzo6Zvv0TDEec0NL+-IJXSw#x4R&2PW975xv4_Z%LU$nK( zTlP}5Zlu}2^N5@XDa~7Xtz17#`dPV7>r-eM%$;(L@!D}{H(K|jSRyi3H6!O>{4iB+ zNTYP~X2glfN6~-KNq-DDQN;?J@(6&{6)3OzSt`9#Kmj(gdDu~z6t53UlzBPc5H}WP z5zK7uGL}Hi+-`Uv=IK?&TzITHN^)MY>^G&VbFNY8wUBLBMfuA5IA!rz2@qY&)GteG zALL@{P`>plK)qKtu##*RHCn-*1?Om)$7Pp34Wh}5jy@{eG1@X(V~ie@_>Q?esV~wu z3S$c%MvmG1O;PB<^?C89v&W*nD#dI!IIB^cbVYvxo7^CY+Y>5m$!_t6t=&p)>0%vc z8y0P9+(gEi%a!hZ@@I9^=V27n8@B46j${Z|*|*5JA{zOr@FO*0inx@UvU<;w^i zZ3y+8CyX4yV}?5&)0vuao(TF!ql+p6-$jNf#rWT|A1vxJAeno7RI%I`g4W}wcYiI+ zjuHxzqMU+~Eiq+(ocvBi=qfAG+*S$r5C!n@EA$HmbQKraf0cQ?K)2C8h_xd=B*$%> zqjp{e4W(Y^ft6zx`XrL2ikZ4Hmw{|^RC4#Gt#m0AVN4R`%gYc5r$|4Zb&h`*bg%|J z!cQqB)}Z(Z9fl7%iVE}jRjY<@hO~&7yGcY;Dg%6+Q+@iT_YT&qa|WtUUb9q2{ZJ62 zuM#v+iJ%b1GsO&5A1JC&5}wcaljj=caKs~`oADULlF!tmQS}89dZ4RWGB`vUNu(n= zNsPSqE8|BCPBZo8q+^IU2M|Je$&>viIh%3JBC@Ih&znToRJb8btSrJZElN~0C!T|sp=zva9A;14 z#!c;bL`DY>cN_PcRR?>Dm8-E&tU*BlXYFsXztN z696`U}-JeJ+ENj>ttR}N&tv+1B_elifEq?->Q1}tsB%Do}pZI7S9*%2NGZ)Ba zk7LVXhOYcW&bVbx+!(!r+)BPtI|isv?0AXW$XIxgIUrHyONhNP+@ybo20~;fpW zq)wWH49$jt0A%hjmEP9l zxNRJnC?WSzf|VLWpW}*nzJk@7+%#o%GnMk71Z%;~lfpwdKPC_Z<-S94-Yq|kXbGy` zU??#y3OW{ad#*gW&x4y49(D931C&BH(Dk?DtLS66&QOk^h!76GR43Jtp>b$6B~rm z`B&AJy-(z&mEOUE?OUwQY=pB&SW+6YBt7E_zPaQ?6dlG%-*T?FSnEr2i5&g6KQ~nw z8Kkt$fvt)yfH`fvxN>;OU{!KY@WgFH*eQ%B!c5?>lv8TQE=gO@+5Kp1%(JcyMBpGi zU^YB?c?oS50GqtWkTx!D+`NfbZEr_5hI_koaB$E{co32@%5j`-V0>0CWdMtyFuP%C z5;Q@`IUBhO$#ra)mY-f%jzbj_xf-L)WX^#c44pwR)IR4}!PCf*zbyrx*_QFM8ZEM;ByGGXUJbl~}2XNZm5zSFER%0GJ82)AyEwIUzWzz=36 zB@nzb)CTjZamhaQ*DLP#&4I@y7K$lac60aN<0{Egb|#nWR3!3x+d2C&0e5Z(qQ{~m z=6HNZ;*5BBWiG~BmYzCGKEL|DINsu(&kWkkSIFEJzrwu1ghuBar8xAVDEUy2WLdA6 zzG9NYCorxWB_5k^O}(&hNOU#)Fzw+wHIgvxemdAsu-;_|yh}4oS6n$&YiycW-ZoqC zPkFw4+rXX=mhV1;Wq>y~{S}?$cQpsRq-BY5Eid#H`Jrx|Yc_({HeZ_Nfcke@t1e%k ztt==p{C<|PZkg_7V7zLuv^8UU;)6|9+&kuEYjy%MbKps+g*6Kcy5F2aez|Fym(IAu zj*odPJ7rbFVsvVkNhjuHrn&GsKRUyc*_FM+C&+BE|y`Ofd+I@&EdUqq*o?2n5f$*HzW)hZ! zVuit{k~$MBqEv08c=nnj%p*yT=y8a&$pG_}nQdcL#6c<=dF4syM7&@w&VGKa@P|z6 zc&e*J``Q5_$4jH0oPL&i^x)r*Yx3+h!aqEuzG+IXm)pMjI+~_cxK3VRA()aaQ?<`m@24FZw7B%M#ivYl-ef}A5kT$sWY*|G3IWCrZL{bv@S$0PC+vnaUa zm4TVTRhB5;h`E{s!8z#$-yPHW3CLpa9UY?s%Z;p1Fo?I~%^;|u8>MM{jB2{PAGO#k zJ3Xh#?*=~3A;duA+n{qY5tWoM-2mH|L#2J}dv>mP33OXa#=9}|d131y&lJjabyZ>g>YKC847z2}yrQG57Uo%gH6^YxrmGuu zDlN|TB?1fQIz7E*=ZrE?R-VuR-YQ3(67^pMF_ z*>cGwErSLYO(Q_g2i%x?VnIu&Pq4Gbq;XB;u`4?>FHakq$m@wE;d;F;?LrS4c;Ogm z;STRw0d0~}SQ%!G8kfeVx)s?wi`r}2hE#S>FRmA#+QjTYqZVk2^RJK>-|1#3u?Kb_ zjO+_rnD|Uu$4R9&;r$#Le*BzUXUy@CsIf+8y&n8-QS!8xQ}2kszB*K?!`~>jo-H|9 z)x#XAb|3+#Sd&urC*@M8Jb)(okCa@n)O5HD<14L!sLmvJ7pR6Es&@Chr;jxdwpkQ6 z*kV4VS(_&WdroF;@8B*WSuk^8{0$^vDYZ5E6C06u-EAY&Jcrapc4l}&hhHVCnwQqF zRT>Ddi@XD9GCSd27;`s%gK=VuO@F4BS|3?an_9~%vld9z{tyc4jQCi5a6{y;dH~_TKU^v*% z{P^fL#nH9u(e?RsgWAnBXBlt1If%7Dqhyurs;k%6D+HYeTJRmUteimZ&YTQ%P;Ukr z3~hxHPA4LGo!*P44UuZz8EN=PxKQ$NHa8}tB&J)NOFYOMA&?O_qloh2l`(Pp6#z!$ zlU_3HgB+#A2j@}2&IJfMWK2+ty?|B~$c!1e;hd1ETOc$+$utHHlu_&k06)V+LzYxefq~*cQ((o9wsOK2x55%~(U4 zqT=kZ0_fsDAgP#SA65HsHT%*7#o!vZI8=XARlo9mN_M|H@cS01AwyYy2=Q;~0bE&N zjV_b0{?KSK^LRn49#T>GF7~1;7#!2E4J(OK;?mUadF(xDm(aG zlKrdYV6R@m=zodg9T*wjf2KxFi z0yb}2S#`1>?_0Ep6(kf{l%`_5JR;gcgwN1S|Hj1BLG3Dk~t^Q+46b%`w@;eTSFzU;~Ax;Q$LBOE6M`BkI5 z_IgvW{}M6$&|rcZwR20Krp)5wK6&{0UBS?knlM;&O+g%L5M`O~B9hYn?}QFCh1Hck zB_WkBuNyH6M$j}mTm*e-@#--bK}P(V{Za=|A%CNo5e>M)j?*VWfg$p%5&2u6{BK&V zGs?U-E98&vWWr#fT|(HMR4h{;Q*JILfh@vjouimRW>Ar3*LH%yzUvQsoC71J*i$vH z5xK*PLwiOwVyZV$&>35}iJMmHrj6(m)P6^M2y1kXABQ21VPiNLxP7P>cMOu2Au%LW z=}@NErrkQ}yCVKR#cB9huA#s3V3dAPAe9UdVL;5=M|+0;`cjkN%~|3$(IZ9Qe9svd z?Ijq;Cb-K}EDhP>{v`f!{0j&^s!my(>ra|DE+sBYVV&WO$z+;E@Sy5|5f6Xv+^WS|U0Q48hRw<|(|w+#$R4$$^{H;7gxpY#E zj*yQxsbzL(qPshpRw^aIm*8^DsD@pp(+H48ljrtMg9*_?)Hz9)<`z!{BEwgz_$MLb zo40+-{kiAz{T0tVzXOv$b%sBc`4=oD0&cRgpn1PrSQW2C4<$gACUW)=`(QYE%mu*{ z{@}`La%-$My=`{Vz}z$!yo`j`&G)vVpVhx|{);V`Chb|Jj&4K+;)hRx5AJ_RurCfC z9>g3D4l5c~K@@y$Ucs%too2F;uFoa56Tz&O=Z-dBj8KQ>8z=ePTtqTm_Ly(Byh#*i z6;y-L^5-3^?)B}r2HnGIfPo8ur*W~QczUpc=ADU}Azgyo2`vf4?VeNJiP;j}m#zv2~qS5U`r_LtCQfCH0G6GsD- zQilosP527ax^~wzlr6!E>6)@*%KoOpHocD;A@{7J{lKLSfj0|;Ev@XflHC3GsAMd4 zTq}h(Fb7E07F%~)%OIyfPO>LHlvW>cgeC3@wAzsR9*Njt#P)uY;@{o{cxeL+zNNJp z=rT>KRs%+HhgJK-Eo=ayETbY%w+ToEg>e$G$ksW1Q z@@-9P2f%5dmQL^@K8_y=w;4Sr^!tNtTLRge6Z2M!Y+o?fydtl3bfdi?O?3qPtK^+G z4UZamD>VM7+iEtklv;D5SnxRRLeU-#W~cqxKU&CPkuS8~m(5;vkvrsdd?t`;lDUVj zPPW#hp+T$LWhHa}U1k*O(##5((7Uee-#M>pOwH6TkSUonzBEIb7>a8|m~_p;I5{J! zk&;Y9f=VsUVPIGn8s+fAYJi*g1@YPk^f1f!0A2ST_4bnuCMOu-&V{)Le|R@*PTD61 z{_yoEX4DLyp3}|(*=f7ObH!JtsaJ}?s%PD}ntE^q?aXx-=Wp|=>934%ZyHR(FO0h# zTS~Y&5|S%W_>^gIF2OYO>~* zKgFxB$#)L;LSLuTe?H*9K1qux3D8K$h|*c(Ha1R%j0#GQ3DLA*w z@?Aw4N+|E;r#;sGd=>uo!}|w6!rsk<(8zQu1=PZxv!nXf>M7zp_za|iT&I2EDLXxiSnN~O>WZ#NgLKQ*W2Ea zj0t0hx5N8+SOB#|e*mj+K8mqfiJ;R0|3+x0z&7J)x%FJi5C3p9cF4Q-Oo)UF3nfRR6gDik58)CdJEb3unDlqX(CzX!bXzA% zs#J_`wf!IetF$u#YvS7C_{e4((V~!|B5Ep>A_!9C0YyXv*#wscMMNn928coefgqb= zz}5mn#agf_v{oY(5D*`VD6&{vsTLnqDYhz7#V1z5g{OU1g`UAAlNlx(8O;|yKIZ?s z=iGCbnYnXry3S)pN_p?)zQz`v6R8iL-1g}^?^OK$U87vP{L5PLeSD?Z4+yJRZ8Ceg_} zwy-NZy27pDNU3X0b?Y4_hZFo}dj1}IJ4dHHiIG3)>n$a2?`8A} zGd|A$p2vFF`bF0A^V~0J>(|j~MPcRi)fv|sgRa{z4Zo&sEc$g|QtEfTUd)VFLxV5+ zz6(+0#9}L-eBlR(|U0C6;KE$rr@((Bfx^}DLkhiqnIl_H(Pq)$KQj^1^{3EaQ zjH~x~#M!j5u5J`uUR3jBp!{b4ewS%opWU24!Su07?yo6&+WUWc(2qXK==GZB`D0$t zHx9ii-(0QRIsNjSfWpmLm7FkP)$s$zE~cZ0yN}I?W*_c#&Z#~6m(SCw^Ytulgm$)M zA3E-Ac;eIo_W1tF3qszhd7HU5f{s6V58b*tg7@dSEcJ6unY`bewUAM;y2(5^idNQd zPw&}$_}Q5*=F7d`URYw6zqOif78JVEWLeeDLi+VnUvE5OuW!}Go@U1KrU_3XNJ61U zkY02Bsqytc{69OS*%+}A5SpR z61Kfd8)_;Y40OyryEZ24KjT(hx6C~sF5nD?E$B;(2#lzn|Gzm`{7h;M@9qi@xsVrV z@#0Ut^vuuBB>w*Exhp5@d>jpVq0XMRcDFM2^c-Dm^G9CwOQwzgiBDlr9;aobO#=f) zkF@Y;NqiU}{qES0(jg8%?G5A-c*Fl{nSBiW!B+SfVSgz;L;?%=NqSm<`*L5erOZH^ z054ntL3Weo1F#-Yd|=>K_!&lc7=7`glFu-ZoPc0w+!mi9Gbd1Z_H@G8li}72#*;l; zc19t;6tf6Az6y09tzC@5LNN$ppC}ZQ&QIi*4O?gW`oKK&gDP?nEM6oVTfCf=!!qj+cnALT?S7Pgk?j?`+fD#CGSTsX>0jA6$sEb?4}@&Q$prTe%l zibG-q+*hbOvOpXcdt;;-G%vn;KMj^}EQUETHbs>jBEfrbH&DJ`N5aXU%iY9}xA%e2 zdi|i6tnTB-zYqxO=kyW8Rw51GBEci*0+gr+@Og23o_uk)y`1UwP{=gM?zoH~UN}XO zxHu$aqs={%6`#aTMn{%x!i*lWvB|7}CR_EHHnODvCgLU&5JdL6LL{h#skwZsQ~*=E zaq!P;BWt&Rf>z{Duyo%HHGv*@8w)^r(dg2Y2oy}`a;V8SX<9oL0<|0>E0RDqo~bSw zTMio-gL1^1iKAvC-j@B1DkXaQ*svo2g7p;xK|Bd1>V(Fimh(sPseKUU-SYVzh%*|* znHPb$9b#H7qE9M}zy924_^&v`YAVZZox$&!;P!`V}RoCgg()7Qy@5?u4>T^Vg^>)E+-= z+;nmRnC+}X#_6tB7pKC25dY=bss-Tb^?+PXu#OuvHr(rBNEOd^8dwL_!+gyM*8MpX z*lz`oiB0X%reza`d0`}E4*hbXB87upc)Do9j`1@k7!%XnmM-5)pWVhxZD zVFA6E^biU3Q&iB#FN;RndjOlmge1ffF=ieCOjRP|*(PM-TA16n8k76Dl|b8FLMXT}PX%R}D`-f!1TB_{^4QoL%<^KMk=B;55v;)G#%lH;-+v0QGP z2P-y$AIrk7ffCJ@V83C;qY>;VcErfHtmp>;T>cfoVB~ zEQns>6^Cb)`nVPRB-~0nYNFG})kqb}WdD9CE%-C5XH&ILILK4h%Tx-TUf-sH=mVni3~)p~I2iC`NAU~RmD3w*P+?`x}@^WaL(=EE zOJ4bADLEIOa1IX_jXoLr8E9zKOWWkj;!h4S*&FJ}iXV#M7E>>FlayN|u(BFuvHU`d o)x}HSWFb^*DsYIU-Pj=b3X7G?bYb#~ARofNd$SQ_2ow?IAN>MWc>n+a literal 0 HcmV?d00001 diff --git a/src/main/scala/shark/execution/MemoryStoreSinkOperator.scala b/src/main/scala/shark/execution/MemoryStoreSinkOperator.scala index fc989885..34a30f75 100644 --- a/src/main/scala/shark/execution/MemoryStoreSinkOperator.scala +++ b/src/main/scala/shark/execution/MemoryStoreSinkOperator.scala @@ -87,6 +87,8 @@ class MemoryStoreSinkOperator extends TerminalOperator { } if (builder != null) { + // Generate cardinality estimate now that all rows for current part are serialized + builder.asInstanceOf[TablePartitionBuilder].stats.estimateDistinct statsAcc += Tuple2(partitionIndex, builder.asInstanceOf[TablePartitionBuilder].stats) Iterator(builder.asInstanceOf[TablePartitionBuilder].build) } else { diff --git a/src/main/scala/shark/memstore2/TablePartitionStats.scala b/src/main/scala/shark/memstore2/TablePartitionStats.scala index c2f20cbc..208405d1 100644 --- a/src/main/scala/shark/memstore2/TablePartitionStats.scala +++ b/src/main/scala/shark/memstore2/TablePartitionStats.scala @@ -32,4 +32,8 @@ class TablePartitionStats(val stats: Array[ColumnStats[_]], val numRows: Long) " column " + index + " " + { if (column != null) column.toString else "no column statistics" } }.mkString("\n") + + def estimateDistinct { + stats.foreach(_.estimateDistinct) + } } diff --git a/src/main/scala/shark/memstore2/column/ColumnStats.scala b/src/main/scala/shark/memstore2/column/ColumnStats.scala index 31270fa3..b5283bbd 100644 --- a/src/main/scala/shark/memstore2/column/ColumnStats.scala +++ b/src/main/scala/shark/memstore2/column/ColumnStats.scala @@ -22,6 +22,7 @@ import java.io.ObjectOutput import java.io.Externalizable import java.sql.Timestamp import org.apache.hadoop.io.Text +import com.clearspring.analytics.stream.cardinality.HyperLogLog /** @@ -35,11 +36,20 @@ sealed trait ColumnStats[@specialized(Boolean, Byte, Short, Int, Long, Float, Do protected def _min: T protected def _max: T - def min: T = _min def max: T = _max override def toString = "[" + min + ", " + max + "]" + + // Cardinality estimation currently uses Streamlib's implementation of + // HyperLogLog and its 32-bit implementation of MurmurHash + protected var _numDistinct: Long = 0 + def numDistinct: Long = _numDistinct + // Use 16 bits as basis for the HLL instance + @transient var _hyperLogLog: HyperLogLog = new HyperLogLog(16) + def estimateDistinct{ + _numDistinct = _hyperLogLog.cardinality() + } def :><(l: Any, r: Any): Boolean = (this :>= l) && (this :<= r) def :<=(v: Any): Boolean = (this := v) || (this :< v) @@ -58,7 +68,9 @@ object ColumnStats { class NoOpStats[T] extends ColumnStats[T] { protected var _max = null.asInstanceOf[T] protected var _min = null.asInstanceOf[T] - override def append(v: T) {} + override def append(v: T) { + _hyperLogLog.offer(v) + } override def :=(v: Any): Boolean = true override def :>(v: Any): Boolean = true override def :<(v: Any): Boolean = true @@ -68,9 +80,11 @@ object ColumnStats { protected var _max = false protected var _min = true override def append(v: Boolean) { + _hyperLogLog.offer(v) if (v) _max = v else _min = v } + def :=(v: Any): Boolean = { v match { case u:Boolean => _min <= u && _max >= u @@ -98,6 +112,7 @@ object ColumnStats { protected var _max = Byte.MinValue protected var _min = Byte.MaxValue override def append(v: Byte) { + _hyperLogLog.offer(v) if (v > _max) _max = v if (v < _min) _min = v } @@ -128,9 +143,11 @@ object ColumnStats { protected var _max = Short.MinValue protected var _min = Short.MaxValue override def append(v: Short) { + _hyperLogLog.offer(v) if (v > _max) _max = v if (v < _min) _min = v } + def :=(v: Any): Boolean = { v match { case u:Short => _min <= u && _max >= u @@ -197,6 +214,7 @@ object ColumnStats { } override def append(v: Int) { + _hyperLogLog.offer(v) if (v > _max) _max = v if (v < _min) _min = v @@ -229,9 +247,11 @@ object ColumnStats { protected var _max = Long.MinValue protected var _min = Long.MaxValue override def append(v: Long) { + _hyperLogLog.offer(v) if (v > _max) _max = v if (v < _min) _min = v } + def :=(v: Any): Boolean = { v match { case u:Long => _min <= u && _max >= u @@ -258,6 +278,7 @@ object ColumnStats { protected var _max = Float.MinValue protected var _min = Float.MaxValue override def append(v: Float) { + _hyperLogLog.offer(v) if (v > _max) _max = v if (v < _min) _min = v } @@ -287,6 +308,7 @@ object ColumnStats { protected var _max = Double.MinValue protected var _min = Double.MaxValue override def append(v: Double) { + _hyperLogLog.offer(v) if (v > _max) _max = v if (v < _min) _min = v } @@ -316,6 +338,7 @@ object ColumnStats { protected var _max = new Timestamp(0) protected var _min = new Timestamp(Long.MaxValue) override def append(v: Timestamp) { + _hyperLogLog.offer(v) if (v.compareTo(_max) > 0) _max = v if (v.compareTo(_min) < 0) _min = v } @@ -345,7 +368,7 @@ object ColumnStats { // Note: this is not Java serializable because Text is not Java serializable. protected var _max: Text = null protected var _min: Text = null - + def :=(v: Any): Boolean = { v match { case u: Text => _min.compareTo(u) <= 0 && _max.compareTo(u) >= 0 @@ -371,6 +394,7 @@ object ColumnStats { } override def append(v: Text) { + _hyperLogLog.offer(v) // Need to make a copy of Text since Text is not immutable and we reuse // the same Text object in serializer to mitigate frequent GC. if (_max == null) { diff --git a/src/test/scala/shark/memstore2/ColumnStatsSuite.scala b/src/test/scala/shark/memstore2/ColumnStatsSuite.scala index 21e55b21..9af95bc4 100644 --- a/src/test/scala/shark/memstore2/ColumnStatsSuite.scala +++ b/src/test/scala/shark/memstore2/ColumnStatsSuite.scala @@ -51,6 +51,10 @@ class ColumnStatsSuite extends FunSuite { assert(c :>= false) assert(!(c :<= false)) assert(c :>= true) + + c.append(true) + c.estimateDistinct + assert(c.numDistinct == 1) } test("ByteColumnStats") { @@ -69,6 +73,10 @@ class ColumnStatsSuite extends FunSuite { assert(c :> 0.toByte) assert(c :<= -1.toByte) assert(!(c :<= -3.toByte)) + + c.append(0) + c.estimateDistinct + assert(c.numDistinct == 5) } test("ShortColumnStats") { @@ -83,6 +91,10 @@ class ColumnStatsSuite extends FunSuite { assert(c.min == -1 && c.max == 1024) c.append(-1024) assert(c.min == -1024 && c.max == 1024) + + c.append(0) + c.estimateDistinct + assert(c.numDistinct == 5) } test("IntColumnStats") { @@ -120,6 +132,10 @@ class ColumnStatsSuite extends FunSuite { c = new ColumnStats.IntColumnStats Array(22, 1, 24).foreach(c.append) assert(!c.isOrdered && !c.isAscending && !c.isDescending) + + c.append(22) + c.estimateDistinct + assert(c.numDistinct == 3) } test("LongColumnStats") { @@ -137,6 +153,10 @@ class ColumnStatsSuite extends FunSuite { assert(c := 0.toLong) assert(c :> -2.toLong) assert(c :< 0.toLong) + + c.append(0) + c.estimateDistinct + assert(c.numDistinct == 5) } test("FloatColumnStats") { @@ -154,6 +174,10 @@ class ColumnStatsSuite extends FunSuite { assert(c := 20.5F) assert(c :< 20.6F) assert(c :> -20.6F) + + c.append(0) + c.estimateDistinct + assert(c.numDistinct == 5) } test("DoubleColumnStats") { @@ -171,6 +195,10 @@ class ColumnStatsSuite extends FunSuite { assert(c := 20.5) assert(!(c :> 20.6)) assert(c :< 20.6) + + c.append(0) + c.estimateDistinct + assert(c.numDistinct == 5) } test("TimestampColumnStats") { @@ -192,7 +220,10 @@ class ColumnStatsSuite extends FunSuite { assert(c.min.equals(ts1) && c.max.equals(ts2)) c.append(ts4) assert(c.min.equals(ts1) && c.max.equals(ts4)) - + + c.append(ts4) + c.estimateDistinct + assert(c.numDistinct == 4) } test("StringColumnStats") { @@ -213,5 +244,18 @@ class ColumnStatsSuite extends FunSuite { c.append("0987") assert(c.min.equals(T("0987")) && c.max.equals(T("cccc"))) + c.estimateDistinct + assert(c.numDistinct == 4) + } + + test("HighCardinality") { + val size = 10000000 + var c = new ColumnStats.IntColumnStats + for (i <- 1 to size) { + c.append(i) + } + c.estimateDistinct + val err = scala.math.abs(c.numDistinct - size) / size.asInstanceOf[Double]; + assert(err < 0.1) } } From dce6abad4d1795501684ea5bda990ccce1644681 Mon Sep 17 00:00:00 2001 From: Antonio Date: Mon, 9 Sep 2013 11:45:27 -0700 Subject: [PATCH 3/4] HyperLogLog changes based on comments --- .../execution/MemoryStoreSinkOperator.scala | 2 +- .../shark/memstore2/TablePartitionStats.scala | 4 ++-- .../shark/memstore2/column/ColumnStats.scala | 24 ++++++++++--------- .../shark/memstore2/ColumnStatsSuite.scala | 22 ++++++++--------- 4 files changed, 27 insertions(+), 25 deletions(-) diff --git a/src/main/scala/shark/execution/MemoryStoreSinkOperator.scala b/src/main/scala/shark/execution/MemoryStoreSinkOperator.scala index 34a30f75..a50b69a9 100644 --- a/src/main/scala/shark/execution/MemoryStoreSinkOperator.scala +++ b/src/main/scala/shark/execution/MemoryStoreSinkOperator.scala @@ -88,7 +88,7 @@ class MemoryStoreSinkOperator extends TerminalOperator { if (builder != null) { // Generate cardinality estimate now that all rows for current part are serialized - builder.asInstanceOf[TablePartitionBuilder].stats.estimateDistinct + builder.asInstanceOf[TablePartitionBuilder].stats.estimateCardinality() statsAcc += Tuple2(partitionIndex, builder.asInstanceOf[TablePartitionBuilder].stats) Iterator(builder.asInstanceOf[TablePartitionBuilder].build) } else { diff --git a/src/main/scala/shark/memstore2/TablePartitionStats.scala b/src/main/scala/shark/memstore2/TablePartitionStats.scala index 208405d1..3d5bbd32 100644 --- a/src/main/scala/shark/memstore2/TablePartitionStats.scala +++ b/src/main/scala/shark/memstore2/TablePartitionStats.scala @@ -33,7 +33,7 @@ class TablePartitionStats(val stats: Array[ColumnStats[_]], val numRows: Long) { if (column != null) column.toString else "no column statistics" } }.mkString("\n") - def estimateDistinct { - stats.foreach(_.estimateDistinct) + def estimateCardinality() { + stats.foreach(_.estimateCardinality()) } } diff --git a/src/main/scala/shark/memstore2/column/ColumnStats.scala b/src/main/scala/shark/memstore2/column/ColumnStats.scala index b5283bbd..4fdd13ec 100644 --- a/src/main/scala/shark/memstore2/column/ColumnStats.scala +++ b/src/main/scala/shark/memstore2/column/ColumnStats.scala @@ -21,8 +21,8 @@ import java.io.ObjectInput import java.io.ObjectOutput import java.io.Externalizable import java.sql.Timestamp -import org.apache.hadoop.io.Text import com.clearspring.analytics.stream.cardinality.HyperLogLog +import org.apache.hadoop.io.Text /** @@ -41,22 +41,24 @@ sealed trait ColumnStats[@specialized(Boolean, Byte, Short, Int, Long, Float, Do override def toString = "[" + min + ", " + max + "]" - // Cardinality estimation currently uses Streamlib's implementation of - // HyperLogLog and its 32-bit implementation of MurmurHash - protected var _numDistinct: Long = 0 - def numDistinct: Long = _numDistinct - // Use 16 bits as basis for the HLL instance - @transient var _hyperLogLog: HyperLogLog = new HyperLogLog(16) - def estimateDistinct{ - _numDistinct = _hyperLogLog.cardinality() - } - def :><(l: Any, r: Any): Boolean = (this :>= l) && (this :<= r) def :<=(v: Any): Boolean = (this := v) || (this :< v) def :>=(v: Any): Boolean = (this := v) || (this :> v) def :=(v: Any): Boolean def :>(v: Any): Boolean def :<(v: Any): Boolean + + + // Use Streamlib's HyperLogLog and 32-bit Murmurhash implemenatations for + // cardinality estimation, with 16 bits as the basis for this HLL instance. + @transient protected var _hyperLogLog: HyperLogLog = new HyperLogLog(16) + protected var _numDistinct: Long = 0 + + def numDistinct: Long = _numDistinct + + def estimateCardinality { + _numDistinct = _hyperLogLog.cardinality() + } } diff --git a/src/test/scala/shark/memstore2/ColumnStatsSuite.scala b/src/test/scala/shark/memstore2/ColumnStatsSuite.scala index 9af95bc4..fe5c783e 100644 --- a/src/test/scala/shark/memstore2/ColumnStatsSuite.scala +++ b/src/test/scala/shark/memstore2/ColumnStatsSuite.scala @@ -53,7 +53,7 @@ class ColumnStatsSuite extends FunSuite { assert(c :>= true) c.append(true) - c.estimateDistinct + c.estimateCardinality() assert(c.numDistinct == 1) } @@ -75,7 +75,7 @@ class ColumnStatsSuite extends FunSuite { assert(!(c :<= -3.toByte)) c.append(0) - c.estimateDistinct + c.estimateCardinality() assert(c.numDistinct == 5) } @@ -93,7 +93,7 @@ class ColumnStatsSuite extends FunSuite { assert(c.min == -1024 && c.max == 1024) c.append(0) - c.estimateDistinct + c.estimateCardinality() assert(c.numDistinct == 5) } @@ -134,7 +134,7 @@ class ColumnStatsSuite extends FunSuite { assert(!c.isOrdered && !c.isAscending && !c.isDescending) c.append(22) - c.estimateDistinct + c.estimateCardinality() assert(c.numDistinct == 3) } @@ -155,7 +155,7 @@ class ColumnStatsSuite extends FunSuite { assert(c :< 0.toLong) c.append(0) - c.estimateDistinct + c.estimateCardinality() assert(c.numDistinct == 5) } @@ -176,7 +176,7 @@ class ColumnStatsSuite extends FunSuite { assert(c :> -20.6F) c.append(0) - c.estimateDistinct + c.estimateCardinality() assert(c.numDistinct == 5) } @@ -197,7 +197,7 @@ class ColumnStatsSuite extends FunSuite { assert(c :< 20.6) c.append(0) - c.estimateDistinct + c.estimateCardinality() assert(c.numDistinct == 5) } @@ -222,7 +222,7 @@ class ColumnStatsSuite extends FunSuite { assert(c.min.equals(ts1) && c.max.equals(ts4)) c.append(ts4) - c.estimateDistinct + c.estimateCardinality() assert(c.numDistinct == 4) } @@ -244,7 +244,7 @@ class ColumnStatsSuite extends FunSuite { c.append("0987") assert(c.min.equals(T("0987")) && c.max.equals(T("cccc"))) - c.estimateDistinct + c.estimateCardinality() assert(c.numDistinct == 4) } @@ -254,8 +254,8 @@ class ColumnStatsSuite extends FunSuite { for (i <- 1 to size) { c.append(i) } - c.estimateDistinct - val err = scala.math.abs(c.numDistinct - size) / size.asInstanceOf[Double]; + c.estimateCardinality() + val err = scala.math.abs(c.numDistinct - size) / size.asInstanceOf[Double] assert(err < 0.1) } } From 4132adb5e494d78dee5050d71a9e368ffdbff60e Mon Sep 17 00:00:00 2001 From: Antonio Date: Mon, 9 Sep 2013 12:02:49 -0700 Subject: [PATCH 4/4] Missing parentheses --- src/main/scala/shark/memstore2/column/ColumnStats.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/shark/memstore2/column/ColumnStats.scala b/src/main/scala/shark/memstore2/column/ColumnStats.scala index 4fdd13ec..695bab46 100644 --- a/src/main/scala/shark/memstore2/column/ColumnStats.scala +++ b/src/main/scala/shark/memstore2/column/ColumnStats.scala @@ -56,7 +56,7 @@ sealed trait ColumnStats[@specialized(Boolean, Byte, Short, Int, Long, Float, Do def numDistinct: Long = _numDistinct - def estimateCardinality { + def estimateCardinality() { _numDistinct = _hyperLogLog.cardinality() } }