From 3df347207996e3d25e867dae15761a20fa16dfa7 Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Mon, 5 Oct 2015 00:13:25 -0400 Subject: [PATCH] Added safety check to Readable_String::span() Added Reference_String::erase() --- Jupiter/Readable_String_Imp.h | 6 ++++-- Jupiter/Reference_String.h | 5 +++++ Jupiter/Reference_String_Imp.h | 7 +++++++ Release/Jupiter.lib | Bin 292600 -> 292870 bytes 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Jupiter/Readable_String_Imp.h b/Jupiter/Readable_String_Imp.h index c16a34c..a48e232 100644 --- a/Jupiter/Readable_String_Imp.h +++ b/Jupiter/Readable_String_Imp.h @@ -167,14 +167,16 @@ template size_t Jupiter::Readable_String::findi(const Jupiter::Re template size_t Jupiter::Readable_String::span(const Jupiter::Readable_String &in) const { size_t index = 0; - while (in.contains(this->get(index))) index++; + while (index != this->size() && in.contains(this->get(index))) + ++index; return index; } template size_t Jupiter::Readable_String::span(const T *in) const { size_t index = 0; - while (containsSymbol(in, this->get(index))) index++; + while (index != this->size() && containsSymbol(in, this->get(index))) + ++index; return index; } diff --git a/Jupiter/Reference_String.h b/Jupiter/Reference_String.h index 5b99fa0..a2598a0 100644 --- a/Jupiter/Reference_String.h +++ b/Jupiter/Reference_String.h @@ -70,6 +70,11 @@ namespace Jupiter */ virtual size_t truncate(size_t n); + /** + * @brief Erases the string (sets the string's length to 0) + */ + void erase(); + /** * @brief Shifts the string pointer to the left. * diff --git a/Jupiter/Reference_String_Imp.h b/Jupiter/Reference_String_Imp.h index ff0478e..011dd41 100644 --- a/Jupiter/Reference_String_Imp.h +++ b/Jupiter/Reference_String_Imp.h @@ -93,6 +93,13 @@ template size_t Jupiter::Reference_String::truncate(size_t n) return (Jupiter::Reference_String::length -= n); } +// erase + +template void Jupiter::Reference_String::erase() +{ + Jupiter::Reference_String::length = 0; +} + // shift template size_t Jupiter::Reference_String::shiftLeft(size_t len) diff --git a/Release/Jupiter.lib b/Release/Jupiter.lib index b50d88b5d0a8e2b9d9e8b4155f5b6a62b86f51ad..68b696a88e872df5badd8eb1eb7a7f3c15e5e83f 100644 GIT binary patch delta 37797 zcmeHwcXU<7_wSTLFG=V%B=k-Kkxm*#IspNZmIUcFKtM(021IN~yT~9S1Pl5_L{J1& zx`>GM-U*0GZz3S|efFGt&)k!s-``v7z4iWiuJySm+}X2d&u+74&Nm zBw@f(8v_&YJum<>0xa3uhN#UfKs-vf@#}ad084DP!R|4Oz@Y&^j!)9CWCr?YK)|y$ zUh^;}Ujsf{Y~zD@OafNzjW#MAV-}%Ql!lyEmJzJTLN>BbViqCWZ4LQSf2Q#ww4u=+ zSKuMcNqDf)#(kKI;JF`+KZ4OYRYN?gh#3KAF(bm6+dhoL75G(X$X7AoQ-`4D@0i#e zZDZ2{CIC4JLIUDoZw)KLVgy++)rSYT0+rri9{P}#EBbI5S2*CdZZ@_vCI~xQ+t@XY z360#i0^8@=__;q5gkS2~*b&Tx#!_6DGVAG1Hd?}j8kcbeT2JxN2eVqOvC*b0vjF+) zIUDC7G2vLcjpGqaY8=7!2(#)fw^2WuSsJ@=1sayJ(EwT{G=va!8zUfh#b2qm9%ACJAF89AR{n zjZvR530P6}eb|EQ7C14!2Rw3mZKm-87!fK|w-Jh2Yh1?_2y1Ag%t|H+VViA)w`G!0 z78=wD#ucbO&PEN3NkUCT0inh=8<7|{vNqyBa;=Rz*_kBNPP0)H-c6{LWFrEJNTWQi zK%HqeqKYv|cnT&VM4hlv;VVo8s0;rgJay4Vy#h=U>h}aZ_^5|L2n{CL2uWa)5WLk! z2-Hs~Sl>ngFa^Z63=NqBvm)dyq#=GnNCL84sD>2-=OjeK2?;Uq3qmZu^Uz1oC>!}t zF^dp%*GBMIW)Zr4r6I2kWg1tHF-f>~-9|EIPgsme5SBw2jkCC(W#Vx$8|RR!3BO{U zA)LF&JoF(RB2EbzX*SLv<^h?jp^cpLFf+vZ?gAPz?>T0pGp?PP*k@^2eG$rpAxmrw zEWj+nAWVwTAL*OW_koR}WfA{F%Q9Z;eB8;48V-(s5!&liD zaf?}ml%6(5KzPDfVPgb@CyW|uV@zFUY0SkH7~bB-3k#S<@Vo#5LMpPB24+hUgvnXGHN@koh-ct8tnV5pa6JLF=C)C#53>m6BQ)fNp3pGNS_k6*^84~W976v8 z9tmS*cN>eNkU)UXkcJ80EU@u)DX0`!3Ud&Co^4}3>`R#2%!hNh0&9@}HQ+mI0DfCT zTsXuuF7{+Xkl^TpL(~B_MuBve7t?>v<-N^tVwwFO!5K z^c^q?lNhm{$);GAORi^Dmxd@nmoj-fl*xuUnQVmA-Uu|&p6d93gpzdxL3gS;K@zD6YT{6KrgT2>|)p1RIkuIH5NLB=mxB09FX{0wCwK zwBdPY5|e*g zA0FWfRE5J6s==87kF1781Q17$**IPkr4ev!zKz2bnIIf`%f{g?_&0E5fsLb$(GR&H zp_`446`7@R8&}|&*)}>M_6eQ)YsfQ*o-^GL|7R}R_!TxHoSkLkcL+xK0~#Xi2=!q( zuD~wDGGQke5l&#Xgp*S>tj5Tq8h3F8n!I5n8d?Ix0XX9U4?gyxswM3I*atN3CxUnl zt8Haw;{mQfJH#-d{bCy(5a)nAwbsUIn2C_F#Kvi;o$y;JA0Yg1!0$a#|I^3z?KXaa ztq3OuYFLe;nGFoq2q=r(Kqwb%qt;kv0kS?qj*xGZjr{GI)IbE~2Z9^h2wKS`AP!#E zkmb{0e|%WAt82(|yHK%UA&P{}0GSTYB`k@yapW^53Ev_@2pdk=*dNa%A$toA@i*!S zz^c(uL+-`|3Hy<22!~T_94Q9-A1TJNI9SEM5K3vBY=sVX& zzgU#G}Msko(GsAu;jdrqp%y{J2)I6JA?qly__0W zz7tI2srJ}@wP!L3>L(;4xe#V9^8pEKCh*EE8{;7?U_FavmyqKt8=jm95sj|60y*;A z$TgQ)gm^5Iggl2dWEvcaFmb+(F^f^}0}qecxP>d>ukjjI8F;=%cU-$Oc{jm_tGHf; z{jZc~Ha6qB84Jb^4S5Lz5Ei{<Y~Wt1?M=_NtBN@VAFPTDP##sxFg&cmVGtoa}Am z^gSjBr?Bb~PNPa9JglxEbB|*hxsIS*Kf=VG7B+S-MY+C|$vkU(D1mDUCibE)Vb3wt z|M-waCu@j5Qke~`2Y*~=ve*;m1Oj|?SHr5<2U@_t7lhgPz`_|Ku)e&F|3GURi*W_skJqp&bVdD7 zAJyTF8ntl+sx8%!y)ZMvo%KF|;T_=iYz@o0%xt9K3Y3hpQ3Af90e>k06uadE1T6*> zAFmQObwexXxy>#4^Nx38*#hEo?YLVRLvU;cBoC=yVmhhBiQ!D61iE z;_y*p7Oudbc{OCo+Sn@s@h>tf5#dJYKF-F_SRM}jm^cK0iZ%mrZBh-RK(H583b-a}~=+(*Z2Jt*9B7@gckALIY=&y#V%mk6c z`@ySYbX)zoqM_YZ_&RT5x0RYahDUg3PHx8|zCJZMsfBuVpD3@&>=N0(-t$Y2JSycE zS;CvLKc_eBr`+Bvhbr4&EG(7HyYX;yZ^E`B-eE`Lz4GV>YWV}6_v^4@<)oVG;jy!Z z=J`786i+K&OW!0hACXZ}0ryZE)YmOZxq~EQm)8nbWP@OBHwqRuM6v~h!IFgnVZ-n@ zVJQ9$%zn;dWr3T$EH)WfmT0k@-7U7Ov1I3OO4e+*WJ`8QcA$@BD<24U^Q2%Yrvy7z zNV1-V(cVO|tDc$`t9V(mtuIS9c${QKaJ@ZHvT1`PTRK3p1pFO}Yint-+QMS#j|3b4 zt6-b)_dRB@+1z4D<0Z>L`&lq$uSvG}Gs)(CAlb&+7CTnKVo{|a=rqX+MOti9c8lH4 zhGXfMBs=z^WS;i;X!{Vv4=}U)k_7{)AgD+KofYi%8NtQ@bo1c$tCAgh%3|L^^61Ti zE!ZSj*-4W1J}4O7BuK3&*#qE>N|IHqEZJqC+cv@2cEMWj6l~fq!Eyuh@bCUV3s(0R z;bFl$1X~JpdfH;4EiHB#n9|x}Yg$>XYa5H5`xOG6lPvw1WD&v8A{sHIwYCm z0kw9uSlXYM{VmC6-GHrOzkP4PMnLa3U?*VBoA~Z^$yxv#N5eF!U^qsyDE$4|D9P$a zS!@gN8B|?+I%r;yta=3u9xB;&pkWyNpp0ajacvt80n1`M4?f0K$N5AJ$=cVHY#Xk% zBPCl4WUnJxT5YHt-zU|AGet;N9+-yji$!53Pf2zH*RL>0YF)`L;@<`8!MW#)JH8{;x%m&wD$rxlYgkCP$S)kZsc=tKMZoyA3;=1&qU}+h!J$$EOE;u9x zE3jLzb9p7}3|RXFo6^_vuq8t*R$w3o8)UK8{Vn#OFT8aqY(LmyZ{hom_^trHivrz1 z(99oTu|xeVw)lCAZ3WFe(A30tgYjMMo)+uV+hY5GVhBk#%3||I;@`Ng8g8*$BP`Z4 z1^jUpW5Is}>^~HZb;nq2F3=uC3tqs#fnBK>5ZD94!NB~{7OM{kd^ZY}>h?Zh23$?X z_Yfun-%Y~bH8J3346?Nc+JX78l8Jc9mW9JvPf6CeDfq(yKOQdGe9zlZ{Zz@;!(sZ& zfWw@ZYzy#NVT&~@g4tb=Y?MT3UPGu|7i>*Q$)@~?aJwbgDNC}OLbATNuKgM+{zS5& zpCSi*BiZDyBzx;~$?k1~PrVP{QShrTCF}HsWL39HHuXn@<`&rh5k9`c7lR90Y(gQZ z4A@ryYAa{4ZE;W=e4#b2*Wm-Pxh-}C=sgPzVDH|)33dX=4PpCKu~fr^0J933wR*7G8q35Z9A zymb^F49Vv%qmw*1(C>ns2l^M0EN^k7TU?_?L5m}xji$Jkv{=I~aOlg(p0_2-*$`3C z2sA+TXp94ln@mvy`xinoIf72_3MCO`*Ot6ZF1$*m|U|Voqa73`iXzP}Ml-v;+3z+>35=|%M@Xi+Nb_Q_| zH2f8b>nwQv4uSr_tal(w0&ExTyc22p1Wa~PvVn~e(!d){ELH;H?m2V-c^R?z@qWQd z0P*;D<+hL%*w+qW)*gP*!D4ISxt&hKkuo4XuBCp%06mXH z+y=?w_ap6Qmn`jXB$FBlz1{E;e3x<i&1aDnbHF4yk*t9H_m{JU; zCrpvRxW%y=@Az9EUc~3zi*|s2+ngJ_&w-HDL#QB^`@X zRs8!D(t1Ww_)H&6%mX_O&Tp~t=y(Dhdm{6FjE==FVZhRe@4Ob9`nP12$HE^f!Ko@D zEmyYK0oZv5e5B?`#QJbJC^RuvK#P|Iy9-RZjHUOAU~`M3ri?>`EQN2NU$IZH4y3@e z7vbn%!v5Xish!~IM=;Qodq}6ioG>hrSgn#m5tb0*1g^`_sm}_i5B|~zLWIFNtq3 zaWI|-r-I6(wj<5r@0FNg^ayzF3-~v*Pz+w&X%A??d<$~HRf*YPWh`|=u-U+}5{Mwo zI5ZZ101X6RMHU4@X$3`F?wf+m0`g)Ntz8oKe=!~dBwB179BkH5NZkz;5Rh~g*$sAD zi}ku|Hq0DL?zq2@G)jRn{$_UsO9R+#tPQ|r@UiY<4FIwuQGExx9q4x}8)I!*8#bB0 z$|v!Od*OnfP>iRBK{Bu!_m*?k2bzYTo86?l~ zNBleXJv+n>vS&mm@vP`7j>1XX zDL$9K$LI0)RrpX|&9k3>%~DvLND<>jycj8(i&W7@j1#TJOQMAsBVxq}5hI3+#$t$Q zCW_w@H65Yu~~d3GQ>3Y4ttBe&8D&f;zR7K z&I&JU!Wy$iER2P-GOQ-cA+n3V_$_{&-{5bFU=bqPu_=5Ok7Td$nfz_>CVPXu#-^~> z*<|)AE6Gc74}Y82V>8(-R+@+MY{C*Pc`6&jPKt@*Rgah?-r{rkQ@jW7$*YJH;`oC)woyaBJz8}r(tj))X>_;dV}_=WG_%lQiaHUEkiW`)=v z{5NrhU*#1=CGjgi&&!F+yn-k%F7XTeBG2Ftcwat%4P=AZPQH?V!?*As`A>W+U(%C* z&cEPGc|X>lZR0=l?R**kl9%COyaO-CSBV9pvrh&U_` ziMp(^SSU7%4PuihDvF48V!hbI_wqR2o|h6k#8d1?@v-C#G3MEJf7zl6GSnNQ&c{Vz0Ah5S6CuTV#(}z)`#_F8~8@PiErjV@Q-h1V&4 zU*zKXIcGR|$(kwEiov|(|Id;CcXMPae}#|bWB3GKfR$pc*$ezdK3#kuu8Kl@g}5RL z^SdIq9Kpx)|Kr)T)W4-uwP7eP<4d5!xj%&tCDT#--_z-6{-lIDK_xb;tbLD-}cXgSu{I}wC zS|0EH;8fh|oiq5<;MH#};vbc8j{8?fti_VfBUa;(|8SAahwql!caT@`X8fF6oth}J zdv|Va2Fr!MnLtv`siL|+~>jG;m4}4 z-uQsuukJs@_lBLSuYz9Y*;mh~D!hePcaIeXLvcr<{c7BZ7)O%fE<~;3?)wD8j&xS* z$BE*8$?|*G|5T3tu{vg)7@i~lKi~TBp4k_xicc1K)b&Xsr+4>(Qfkk3nb*(07Kxg3 zb;=~MU;1x%_-=Cao)c%^(fD+7J$*-`$m+9G#EcLkTa7y(U9CJ%z9j?gpFUo5*6|c? zv^U@CS|5mcxwJyOVaK9ZCwwYm3aj`{qM+~154E?uRjfdRI=&kkNx9o%@7U}{$m;!T z#Xau49#T|YTrYwpH9TA|vIjPVZ4|-T(9rdudc0ngS>1V~;Qn^C_n?F>bIJm_h$4aE zKXv9uQBZZrC#t9oV{wOP#wAh4FU*;(qL>QGB@1fu_Mqktd2KcQmdLBpHV4Q~+?VC@ zamPJwcR4h`H5zZ@Da5F zQMLf04nK(?)nT_Nk9~a*R<{)Qz7-6E(ev$gXy6H^!cLSQJ-z ze-Q;VkMLi_Vn1VthiWx5!Iyx6?a)vep4%AzLZ9Us%yE42W#aMxnj1-F~fr$f1_(GIMcM@o<;XkE1lT z+k6@FyRelOxkn^9W5DitDMHBZ#c?XFHWd_&$l?9An;8yC-;=h>^x7+W`@62FX4(9% z?G;`9UrsFHv&>8TL^uDJGb4T0Z-_xkE6+YrStY!}b7hSy(y~_l^!>(b9l>iHFoJKo zyG6#2Gq^i~H&cmJ18I5?qQR!u)5!quaLqN$%~(bGN=+d#x})E=$AJtWHe z+a19|4jaMXN4B(I9yTuIP`-J@P-c~(5{(f@F62bG_MYWOecm$?f>b7=s($au8yJj! zv*=01fwl_KR#ssXc(59N0Qo8~C6Fs=y%s+%68v*=RQSPhqe7iGgHMP8dB`g|fpK+a zc|&hJt%_wBuUk~bs-_7dK~MuZYvM#+QO(V84@)xUTkdn6Rws?|BL9HRZ{tS~LTKK=zVs|(r3TlScz_2cKbG=rWO4#C_xe6)h>wo5q z$z?8C>g%qhRP3ufNYxw{kQ+!jK@WUM`pVf%d_c>I@ z^QL7HtgFoxfuWki{$cfbsadH{$USiC{s*|Ph# zMBkR^8}}L>4oTaR$+Tti`ouha(fFGapoy1EfV%Q#8+GF{me%FbJVcea>@s&iEDgJC zOyfAhrOS@`{2{4L))aEKSNtjpqTW+%wwcm~KcC*eV)7|zRCgzhCQ$csD*dLhxYi?0 zQWMnzQAe97OQGUS`ps)*(z-hZna)@Ft~;VD-Lms_Up{&Bx|u0u4aW()sOi^52@=U& zy*Q5JxnbOca)!2dJ;?biZ1&~ryriS#Oxkb-<|{W%3_022PQaI1Tqntm{L?M2p53)S zO_FowttUdsrKh^_7YY^6AEK};nN#xBM3j7c*+d<>Ba0Nf^MovS}*-&W_V2`2hhISOO9MX7iSqIHgH>VY7O ziHY>iTvAVEaa9DkJ%bXVJ7=~$GV7LAbD>?`o8VGWa@_)HI zuXMHpDB6pu3;AS0eRMEYCFYY)>oXeH2F(#(Q*}^0zig&YZ`9ufrGIOrHih{z@mR<; zO-&4vQ~hI;RdwHb>Xjf_Q`O8V-OCXbwK_LbQ9FbBR`s49oLxN*HvC-$z)Ur3N9e)`P)aU4;VRLg^8FMk_Vs9M0M)GGyK^{fI0%pk6y zte#mo{{}=SK-z%Jp#-=*oIj<~Lo=C|SZVvwDyv|>tFw6ZEZYU;T5sm6VTDbMlC;iB z_MW;{*aQTs2zxKBN1(m*Jmj#NmGOjaW;de&G!-T6_aVo0FR$eCBiBA~zIwT+bPhUP zd!7%_IlT<_JXyw|^-$}C%A*COlhaYWylW7ej245I<%Qss62_}$JGSUr;605i#o9@@6ELNxxAWDj1Vu>9U<@6#B2yP86?_ zr}Hos^B!-imQ^(7paVl4B6MK58V)}3JzhiAtz;;4*ssgx+h#NZ*%~#yk_i!KNzqzq zuimaCBfLqgi>su{hKaM7YO9R_lkbR0b??^SDq@yysm7%R?Vym9to=~ zRj;bij4Phk5skA-XI^gJsVXD=!n$Q}Ejb&ANe#cSj=#Hv*+?{1)v|d!yINKyQ-W}L zsZ3_q(5wf{LnH%0z?gtn>u4@3JRG^kG22z8larwWgf&Ou#3ZYUk~45}N*#7L6;suo^QFqNXg{smMa%mBuC4=x3>6oHwc<#$tmSXF#l*pj z=3f*2&k&Kb19GOJ+i4nS)rJ@u?dnf^e62e=S^L$myEFB95w$VS(VczBL#HO1R}Ijf zQ!8T4ShO$GO|+-_P1TB%vHoFbAFCBf``F(}kvs;aVP-|T4vYR!rQ?mDj*c}O((!p> z6B~nL7_f2beoc2R-eVv#aBlb^U2p37=T zGZPZDsOXTO67LEezHN(0Rk6A8S-rH-Z81$n8>p)YoY+FxKqa&=WRYimWmGp%T%$5- zVXSDY*0&5G@fX@!|5RvSR~?@=H6qo{T5)s_<%TZS;!qqEZD|yTt)p$dt{}OoMz)kg z{nn#i8M2?~>HT{%J85fRQnj!_ka0#sF7_DpMj^@ zv@g_xQptFm1P!mrahEpq;hfptW7aP^YK0b}yp-jgZy~ZG`TsD{Z8?`4xEI z_HX5BE0g?F)*IFp#Do zJ~=`0=u_U#b$5VNqvfRtzzvG7E>E#dNO6-JLMYx+w01=&DMj}trQ}h&pLO-lWZk?N zKj=T1tm|4D^QoZc%+jbmby@|hfR4~-FhYJ?6P=P@P-i}Y_QRqr|N5usHmr8ICLjzV zX-Bpak;>EEc#_K}gMB20)b;MNmEUdkszNJ)W<@JO2+@Vr!o9zsdxn*kEf{w!_3S%= zu7JAH!`Me}ZFVL3JhC_1aZ|nrwk{i&pm+#OaIONqkc#VN3Uu1lXzS5NwJ@|7`8ltq z?)5VEb?y6$kfe#Nd3hI!mSjzDSwPR|d2lKUI`5gKoz>JNvjm1b!umTj(MQ%7WW{W< zZYnz245+zd{X+cl2Eev#d() zFKfS>#*2DKT*Zq8d3!mR2bXxOYg|P}h(&ZS7dGYS>s3waEKtzuzwRLk|_U0oZ8eLt}=!jo4Sra>Zq6z=JUiNuLR-rT~5UQtqgKRY50-WXespcDaS_+KYdmxjw-V>BFTG$W zT-*4js@IEf*ZiGub9P#B%Q>KNj;!^BsFH3*l+J0ZD={=zXI>1rF+@eU>)5M>8u5}@ zs9c(Snwn~<#D}=|5LnpK0_~Pn1c3^IyuumvK5S}!prdzYDyO)zFt^T zUiK|eJwewRI`amFC%96GCZjV)?LBnn*aizm?{GZQnmJ>+%7L~vvr68iup(JVv$#S# zHSrbW3eH-lHB0xV+N+QWrWkM?jdh@=>gx0avnpimpP){AWOZ5^RGP=A$;GH6(KyF7 zu9c;e3YqvnSy`STI>)1(+DA`=YM;(((L|GqbQ*U(uG&SFnI!xA9iDbBx+@*Wb)}|C z>f9tFy;HMlBC3C%Ri|IY?Z6M#;Kt1K*Rh}kZkSy6nYt0BGZGc8+Lc$jXBr_RxMsPcwF>B=Jf_W!32?bCT~8x`%rIHIsv~t`t30_!OfL*NWFmEu3Oj zJZ(`bUG-FH?d(nMVcytp97&!0>x`o-ep-*b9X@#C7wsM}6BD;Nzf%{yySrD$7lgtRXW%t(z*Fsm`r3-SX6wu4l3b z5@mnC*Jd@&-BGU?fKS$%UgcGTnipY^j5UvgJt1 zgUfC|leG%hZc2rbrlrDY6xk;|36EkScpZ19gJZp}(P`{xki>XHo*tlj4S*&iyyk3? z?ptXoU+@O3H2#Ob9($dt+JDxeiQk!RHi*vS5@p^sMFoYtrhM;RlO6S{K${@lQhJU| z^P69{(1u30?42XW`CDjt&|i9#F|T8O-BNt633nmF66jaKQLTR&(!;zy&pdNLNlbrP^nK$mjzAy0{{(?FdA<3@ zKaibm9!KY!10M2bO*!HN!`O90dkW^WtOagpPmi?R`I{V0FT&k1qu04LCmXM$?)O85 z6L>;Fr`vjj@P)>(u070~DlT0XQacx#vXi!1x>KWcBdhZq_TF^Ib?i4X$N-u=agmv? z+mif4V@ZlrO}^+ulM^+$!>HOvhLQ86_|A{a>4$TpP%}#Y*c{D~_VkxmJ~jucj;%&~ z@=vzPwb%^l*y{7eX8w-9#(kQJ2W3A!;eXEJd39;b*2g)QdOm;dIN( z|1pa(X@)l6x}o3_lU&>?Terl>PlrC5Jn?hGM~^_|g>Jd?xp^GN@sW3z8Xuu!K}}id z3sY(NWzi{$4gwZYI$OS|oyzmM6GqC>)UahnQx3lzUmAY24bg*q^re%>DGKQUbM4zr zF~%n-F!zkAuR2sPdnzYcYAQ;WixDVie#YSp0>#OdPJGo{VdBe?WZeoQiCh2AeU(XX z^vIJI^u|}l#BPnw{Mu+#n}&{Fb)Q-*^A>vioH)f%7a~S=N z;ov+KReY7nP|lqGv&zg#^KhKA`D!CM)qYw4y65*539vi`FD}$tV~ps8`>ShAxNGU1 zca1{6b&utE=@;Mrlb1gGo$*q=G`Jp5SglrkFB_{y`0(q?@ukndH@-ySti`88)o)4s z$OxP@;a5=_`TIHHcY19=`1#`^d7ZH@T*>yqzt@?^Tl7R-&$+FGf3@Guo4J(a=tH|9 zmE7w=Hgh+QiJ?n(zV^qCc8L`m91ZzbC;feojR6tp4~{Dvo#0T;h?;!ZCSw7|V7WFM zgSqph+HCS9WnryDx-tAC=`d}KsHt{u&Lp-IX?nmfelVh7Lbl>+Y%$*Hx(&09*wz?} zCwKDyXk1%Q!AV5PKbo*{N|whznv%u!h}JJqZ^wOjL@O}LwVyjhS+1Xqi@AsT{3kP% zlNnlVGnv70w%yx|v$>;a(9b4{oMkfCcC$>-vaI(`-PNM)vJt(T*}(6Vt|fav(pu7y z4yxy`j%xg_puLF-l>?aW-h;fN|5efKDudql415bni%0inbSJtub1@yLAN zDQllYcAu6iV#gEedkSpLo>Kl{o3y>k*pW#TQlBQHyA?-37J3NhyMbxjwHrLD689Ky zqM9T>9i-Jq=VNf3m;owy5l%uAR+%j>#j18%IuAQe-Zirm&ckNxbyTQyR-uAZOVSH; zCm>1qVP4nU`%I0g3mj=wvD?3CKOA3MGdIk>yna%~+? z6OpsKa2;xAs9pyGViYyGE=}pq${BUzfbo5ozRoJoL8C9&(3YFdgMWoDO}p5JX6Kwo zIliwIMk~!ZQrMa7xIq$7A^Lqz`)r)zhh&jCM-gCnGc1#%h4>Ve1XjOez>EuBTmw2@ zr6)t4_=kG?h!c!7kn0JG^AN|o>_Qzi=%`tChzYq{A#w$Bw+q@8`lWWkkH&hF&NWwq zmbj_iuk2n_!;YDpsGY&}gxe(*blk~SSwy-_8rqa5%6T_7&8=pflLej}Yg(l=!z;cH z)fC>kF5yj&&#t0>bB9HiL9Y7x)KRBSWhJH3N3*BW=Nd@8u}AA=p;S}_Xt#|8*>$+> z#^ZQMxBV$&f1=Qgh~fr~IdYp;fLFX}bgHZsH8*Uw?czV!H_Ur!!aR{0SM7 zPw=`bW1_%A@tM<;f`)Ag`zwPR^aR-hC z12ZR;z1r*JRrnd~fO?_jqu*8DmzDhi2_Cv1o#s})!IVX;k>vr8k1Y+>P1}@8MP0&%U z)-@gFKGIZG9Q8S#YD5XV2l&{K=T+C!V9x-r@h1$;oE9mD_A{q_i_{Zi#VUXU^QA`t2vjj zyr;@kqh9V3QP*0|>pX8>HfN#knei)TW>m`S;T8sb>B!&Ysw2POZq6x4e%0X`?yIFJ zx+#*mM9_sJz09t8x4LG|dbE(vJ2yM8nWEX*gtWSDQZSvV>on8=GcO>JhGsXs{i$~k^E z+9l}3K`VsrDil+Rf6*hpkMyeU&MunTsWG4X%Y>uze3>5M{$J)*A!nyH^0pDkIf~$S zOpWR6z~8@P>VLP*YutT;&3_5_(p{(z`rDKWjyGKR+wlfP^}qH=s{hNvk<;UOE%yyA z)Frmo?isT^huHN|lGEyHobBei%^tJo0sqc_b(M zZAN<1LesOFRY~YScopyIR{7QVD&|&}e%2!OvCnnhd@QH<`@2$Sb@Y!s&#PtW?>EuA zhb`ya*$Fco;QHTVayea)u$*_4oCz%ymh<)(t(H0vsL+h0K;Sb)0}|ZrX^z*dlZGP| zzFL{>EX#Q>j!I_z<p2>&(+t(&gDUBMTlI4;bKK)(hSIq$=Vq2`{}_#4q27w>Qg}cwzi#X03D7N$5%v8d zdg?G1)`}U`Pv1ZGreCqt={%ORRyc8|CqPG0anNne1~`fee4>ehP*YR^MLZ~y;(4fx z!Z{bMmCthS6*&R(Z9dC+-OYJyKwIPK{8p^b!O0_?A7}VJzm?=TzW)TfLy+a{Nwnmy z$8uY$P5G@*b?ut0=Z=XKtePtEJ&{d)UIG~?;7J01p`b^j0`EDUtlHxy#1(Y% z&zwfnB$SK06UmwPL>={ZaVIqV-l(Z)JJZ8QRnN7*c2x*HeI%9C^0s)n1+qDZxvqy8 zdI>zl&~YAq6Cm)B6xU-dy`g~{H}F_XP#Ws2fC*BeX~!ZtR3gYibK*VMK$AO0(Y7U{ zB&nIDj8C~HpG-1OZ-%`O%BVnxv~^uwl?k;$O`^%I}Yfru>PN9~5SkO4(jh(4*!9Y>FCcZkT!S zQwIs1`IewfBAsy#gzjVh>Hpz^(}j)!KN3Z+HfjE2(Qy#?@BWhyalJc2=GPQdAP%-E zD&yD2vb&PBYp*#3Sv+G#L-ksMSs@%TH7^o#D0nTrg`-&93Uu4wRr?GB+38!TeIC+E z9Ox!lonW})<&6{2GOtIghtWnrrj1pqle0MnYe#MC3fBoK?Wl>RLr3pzEAGl{{=_Bb><9?P|O zDFtdW*NdBDiQVJcys_)uJ68&N0i5#RK?({i&Rom!i=bHE326+vceF-_URtg6oXbm~ zIME7E=)YafO`-Kh6ywy%s+RKu0>oYi6+QL!GRc_K3MnA4x69$igMY>yJnt1KffJs3 z5DL#%)QIXEhT5Q*&m9MG|wX7C?v1xJDUFmnhCaahT z%k`R+mYANoeGNL9`8RgmS?)PIigEJR6sXvnUIowM2HbYjWVDafqtUxVud54@mhc8 zJMQIpyk=m^{vV{Y0Rf))OBe5n+m;5$EcF^t?K$PGVK$LT&A8G8Og!c0v!O) zBwnpm(sI;ffho+XoAqSq#Bvr1>^T7 z)$|5NDB56Y$(yNsjjYD%L1W7;5an^rg?2%6R7fLdkK>=Xc0+m|R8ipk97W2>xIJg+M)V1-KH(49tXMSY`?)r!f9F(ZjqlahBq&XXc+@peh9Kfk5KYr zFZ6`NF4xB5BgNyLt&BY+Wive_?W-vE^#A-V^S(-JjP_NZsQUpNs5;V}=`QzTbPj)v z>LlRNY`@F-Vr^kFtFCI^%&foU8M-ZAMK-tUso*-6^D`YdShCy3tB1|4DD`-WXzHqK zT%ol@@fK!Nrw^sZw(vc^_%fvXT+M7@&GMU?ck~6x1T-zBrs3Y2O>(Fc2~L_&G`^nq zc+h-7G(*+KFY!Z?3t9#cfsvlT1huJ^HAW3=W$L=f1YcX4n%Np{z1y3~CAao5p9tp5 ziFqZJKpNcG+8XAUQvc#++cv&gyb8({Dx{s2>fO^QyULSbl7c1-YirquuTxaMcGin3 zX{kU~515dqy6vZ$tj@HvYI)O-X7eWPY2%udCfwf6H|`r4cO{LBcb3~*qg}$$&w*+k zy$Pak9HRE#GW&9TwI>2?5HA>}ZY3Dm|IZr|HKXk+QF^ zZ;{m;0bF)>vR-hRL(ghWC!YwD)S_oV5NH!kK#zyTHhkS7B9Hw;w-+Jjuzjw zv{zd8HI8`$_eyji;RMb)b)&NhJ=f0%u2)04Sk4;>t`%&9I^D$-Ew0VTMm4OfSySx; zi>|(B8^a;fCXo{-!7K4AXakdwYid1f74n;I?;xvMY1(Uqf^IYD5?hZ+8I+3uVPtaO zzMTgR>o>}^!=P=Uo(DbK{)4*otmQmBqKBn-q_t(rs@>g?r(f!3?CzTAk1DyFRZLy# z=4@b4BEG;YTd26 z&V=!!$#{{@CuRx7dsv0k=iQB%_*G?liY3u^yUNzXs_p7qdZ3SYX|(^MM)t6x{Oyi6 zXxYdccBs=mOewZ$n9pxZsSQ1?B5F|2fMH<>t+`NDqZdRx9MGocRJfOK+%WLnts;Aw zIc1&m9K^-FWBbNus9p|mW?_6eaNAeLZNqNv6f+R^#@!~}0ETpbM4y#Q` zW)SjaJwEyJ5mh7ESjN?KRK5RCO~+KOJ^{VRSIFMlFs0R*K2||BrH@J7E@4in-})F~ zXePQ_d9~?z9P@-h1AIb0ebS= z$C2W^YB119=?I`*ssaYN0GB$Q2M1Yq`Wuyz7+SI-8F^qppy)(=lWx8VKFZI_j6Ek{fSJ&GrdARAS+rJp@V_h7q@2H=L zTM>@K($uJb2(4%|^j%uf`VSi3SMlMNbIh*!c>E$32HoH4{Sj9606w+|LPlk3?=i|MSdb=O2vReN ziR1tI+;8Mi*8-k(>RcVq%*izgq2fko8tLuPJ`)t7fz+n~?Qvs$Ik+gAER`?SvEIz^ zqIhP0(?MZdrvTcsk&yWRQV+{2B3W5Kp+;8DPIND*nZvB2u3vv~4VFX2jd2Fk|8E4h wF>W)<}pDyAE+Vog)tK!;|kQ8%8YW&G~|tKOk>OfCJArX_Tah;AFeYwV84lh zy)ZJM|9BGvBJe%%8b$;d;-U$@ml=R~QQySxVN3vq=wO1)Vg`Yi){tXk8NrYkH6Zgx znt0cBg2{J*RUjZNMgw4!4>1u@l^KM>Q5teaTShRVhnw&VVg@18bPYMWI@5S-Et48W zaRr`T@}NDgz*F=^a6MVcBw%F9rXim1XBw96wXrE0`c0ylvtz z+6af%n%G~P3BtZ?Cib7fzkvfAO&mh=e`aW$#}#;Gl#Bi_qwyLOO&T); zkeA_j8Xw~doE_@H3tWM7&>CP=&gH=(T!AWOO;jDt3__LTCaOWZfUJ-E0CBdxhV18B z!DK(+wSgw)KobOajES^oOlm-7X~2v1CZ0cH5-{rRF;TxgGc>N@3N+YgqTL*30P?T= z9zcMUAl0y>RCxB?^Qns@_IqH!BnU_=%Z zua998Fe=P5QL!j906F7~hD*-u!!$;L5ux~S6CqzPNeHcMA`Br(2z_EA935z2bm2hJ za~`zE6)2l*qFfUu2~ps!kqcL#Jn~9;*k4u`pL;Brg8kx5+35cJ%X~<&GEMU}*F;Qy?GYGZe8-zOe-bH_MXEBj$ z1TzS^XPEHM!3;v%6&mu6U>dg*nIznqY@+8)CJ8IiAz>X%L0AtOK)l#y;xbY-;rIC_ zF3(^tfj{Co;*@YP!UM$o#T86uIqyMjToLDoH)+TmQoAVQJw znqi{fy@}t*u-n_R6^gcO!Ni=!oU(H`gZ~&pdU0u=(E>E zuldX%4A^4gwVU7r^uwG$=+nhS=LlvHy0-PewHqIRE=UlB#Csl0#}!CI8(|1WM;Lm= z#IP33APj}@gc0{m42AH7q;4igMB;nGR1-tuzy}yP%YrCv=rO`XVi*P(hWUTkMvMgL1l4Ka z=1wh`jJw2S-NwwQ8)c#%gaqWUQ6{Ftxd<~;O32Tv<2wz+TT=?_j77q&H3jA=z#O~=#686Mt7h}&wS&ML$>5LeTL|73(SkoBaAY(o+M_#9gohInJAge z3_{Tv8uA(v4`5V)Fo4|pm5J|=0|;MVGx6yzXbkuaDVXq0SrcEa!TgUu^7Hj3_7!E4 zun;ySsN*K)4`-6Fd5MWFHJK#v1sdYd(M;nyiV+PYnCtVIQ5J#&@(emBd^yI%+7d89 z2@G}>?4Jg^|A8bzxH4Ts=Kliq8Bnmbi2_kf5?;^3Wa1nq>#bo%AvkPXjO1orCLe5M zvU&?9Yvy3G#%NSU5VrPxCf|iK$HMC?;otQ`Km*g(T*TxD{u<(mt1J^wfZbh8{IH7& zjiR^$yI=x9PKF?acjlPrUY$uox5*ktfM5jq;Ykx8Kp;RofwvR(pjg#_iT40M&NboM z{SX~L1oKBGCdDvG=m9AS-EV6c0T?YH=S?+HYAZ@Lpmco?j^YZGNi>X-G~#dtPNL2PT;gODJ^;V=H*u;i6B-wBy~vD~O-v*NF+<}Tu0U&eGNIKb6Ky&$ z1CS}u2;owYiQoG(Nw}13;wsFbu^!j;nEwynG;wGglZ3;EJt%=I@Y{Y9=Q}Y87&W}O zj?X~N(I#r;UEw*6J7-VXyUJ7R!W=5nV(6GEw}=?=9GD$c+(!{s@m?Z2NXySxFlY~syHN<1o z5r9z!8U*A~4^E(_Ae^f0!4=s5)DD!M z^aV3=4mVK|p8?qu0up+`9|*H+nwSM42;-n7!dM6k812JMWNyq1f-4J(3_|9cCj3?~ zgOD}KL_GY0kbSU*oN%0JOiaWY4;VSx#B+Qm-1p!?9%RKl%m{%gHQM6ZmdU@NZNj5T z8ZLPgNrZ5#gN9M8G$Y6x6-+D-Vp0P%%Yh{^9-P4ySPBymegQq<R+6h1PF|o4* z=z%T!O>B>1QUiHqJFo#}CVYGuaN$p@>Ly;D$RwfVLldn>Gf8M)*F=j=OcI(8H_;#& zi3Vsi#YE>7OcL5`HPILX5Sl?Ngtl;CLI(&-=!nlQ`hx_d(Igv_fOrb;B>W~!Tv);c z;XGzX!UdF5gl9)JWVR5dk#!7{fH-p9g9Kcmsq9@$WZMq9?I_i8FX8AoqH&A4~h~k zs}s;N&>`4F!Wk z?G~8m*a<2II!!mxbQ!b^G{L_CBPtberNVZGiOwZpzY++yjT-X17bv5EZ5TaaE;=QA z*xJP0Q}{QKy2Jy4EATzc2^f)B0|1i6Y8d5_-T^tGt%>*W*+qZY8Vzv`wg+TTGZS@? zY`RY|(SxCG2ik8p(RmJ5GC=oW6ZuXtgOLA>hU{IMY5dR+#cV&UD{(I%d6oXbq5?dYSkbY9|bb zHV8xSndmy6NrHfe0C6J-_1_IR-Hk;iZlWmEzykE<3eYzDDg2m{}?%9 zrHLdzCJEP}X2Lqq0!B92myqL{2beu`48?9+u!+au@fhoWBXpLDFsPDHq?3u@z0d+s zH3KYVeK`6MugDkiL1z<)EXr%xU zG*Ux;v=;L}{z&&06Z>|d{s$JsnHY}DMo7$KVw6Ajh=4aSazgS-6UV|ZU57EF)D#nC zi!uX{5?TO6DyCkIWL$x}RW)Rx`-uNS_nC}`O5*x3aVyLNl+L$++qh9<7p@SjP=5_^ z7aNd-dzC#{kL!9YC`Xy7izw+9W1=HwPQoBeK7?17c!2g-T``#T9%>l*+aq*mhceHO87g%!~=XLJS?gq>!JAk8;cymqZkj?;JOB7 zS`mg63S>$osBJk!rLUU@E$HuFI-!`l*pcT{QENo7ib&(}U(1PExVr5Y+0@@%MLqYm zcj~!!OnOfxaGuS5_}w@32X%D5@Kep_i&)j;BG2UZf3LE;(RqWR z5#j1!9g)+o;jrODdX7-b-w_e+FB@i8>VybW%gzeFuR{-K&h8$+&rs_ph%D~wr%Skd z{E|mKJ%N6foeowBCwK{W-03Cm9zXfHhwRUz{NEC_@sBK;X>MdD^XM)Yc^c#3yu&{iReGE(mU9)m7gKfJZ z*@7{W)qY#D>%jg2lJ!D|J4CE|2 z>?hekXl?Ku$zt3PA`OB8>t9Ir=(%Kj>KUwkeS=-AZ@AdT1_qnc&S3ff0&^hpu4J2l zmD3~(0xG;O*)CxERD3r@vO>Vz5irdglHCTf;PaT*C7V~lU_~n$>o)yf$zJ;!m%pBe!wGivb8cs3UsIfZB@lRz}{*QDnPOvKx`g3WnR$YItf+oJwM5| zWCkA>?9-m}O;#|*qI*nBwW3|tf7KM@yU3gCPeI5)5f_MegiLS%>V#{?VI+hDFm0}Z{Y zd$hm7YW6kQZG0Ix2(}+!urb*1{R-dFo^1)xbpp+deu#uV2Aki@U|T?Q6EtD?t_!}4 z=nPNqYOvivHiYE8M0h)}JIP?Hh8XP1P=mD?2L8C-9|8VDVgGJujKn{t0&yUkH4^^@ zl3z!Mz^*sI9GEd2;Rf6X`V2Vj`QIQKAUY&y(2Q?gFiVE@|r(CMF&<(KeM?8)x|UKEzB^k0Il0wx-;qk!Y!+T?3E z=%;WbsD8#qB$=<^q@PPRWiOm*p=4DR{An%n#TT&ek8oDt$`5ef-IB%aL59nV(FYoA z9bsv{{aMjB3!J?Zozi_AXrgg z{4T*-PeuptNLIZ&JiQx2F#sC*5FOx#Jx>JNyGO7XVD68|ez^A$=wl{1v`F5usC40j^Cijp{|@`&8gdot1#TV$(?dwPhoLoK|8H=r^FR%QT?aQ&sP9Oyz7p(Emf^En33a*7*O%Zay?q&$7<_1e_fg8bK`~}HQU4)8&CVxnF9+-Ls z31&Y!1>(^0yaN~&I$VU*8&e%TfK_4e9r)CVa)=5fp!_+Z5nygEB%$1rP4tKJ;yMd+ z#-0etTvKDg8lkmRvV*HJo1K=d-?zwiJ7A|1m=!Z2-9Cn&l!1^(C0l{-YM+8F zff>J|gI^%TF$j7bbHpZOzwwgo1_t+qllFr-U2wv2lAY{>2m`u2MN+~%F?E@Av5{*e z3xnhNZ-vwNAz!1T;W-WVMMZ-(L6#fe3m%I|m@^APfywT%pl^=^l^Mw;3!((q6_{3| z5H*$K4K_GCa=`@Hd?Hjn5?4$(iT4qzaL{`pNKn9)zmbL?!AEXFvJSTp>&0NB8?f zkP~+8L3sWI-@y0#5q44A;VZz%4U%2{7*6hL1)IDIMlB(2YpAC^@^lMmqB$I`0TN3i zsJkpr45E97Z9?ja`NMP6je`1HiUFmnD7YZ z1fWZH$+qLW{K)^~jw1f|Bc_9{BAkGOL6Xf6gv!qe=7;O#BJlJOFz;xvhl3Em?U4IN zqw}YT?Jk%JA$%|dnUerJL%?$oJ^=&Cg#mPF2%mw#4MEo)0{3|Zz6IeIv_o`2@adf- zThAo z>wD&+JKHtEnqd&b>p*keQ7K_Q*bZNrgNZ2^|2~COeF_#kTzegfBN$-`M=JUlwjT+?5}1UFV-`gE?X?LbfbGO^IMh(w+Z93yXz_+%i+~b0 zG3^593qlL=$bes02Md z!GVbez5}9=wigscjRClB7r@AXkwIYm5n|a5`|d-60mCU6VV*>U<|uUjCaNHKde||1 zUkaMRd@)DDVX;M$3{<^~lD!ZF!HE0Bf$o-I8-cpFk=}v+Xj==K%J&3Y4~!}dN309` z$8gI1;@m*1Tu22sX z7XBUcNU${kD}tCu(z>6Cv1Y6(8^_1;G5l>lmA}uY@b~yO){cG4I=a+XKjI7dBEFc<x>z6HYQC#H#yL`S|x6z3uQswlxDIM$)^cmAAjW#6%r>=)Krv=Z$_J8_zwV#oQ<`~?4n z|H@DDZ`ek*iEUw}HnZ-cD|T=Svl!Ng_v0PK2cnDU%h!o};)ZxA!nu?=We?F)g%9R= z3!mku`CRrTOJJ>7Yu1LfWwZGl?&fp(hpOdZUdDBdf6WrvMjj`IiMK_(NEG$O>!OKx zOS~dRi3VbXs3V4o+G2>PAqI+SqQ9sq28nuNxM(Qe5Vgc$QC$oWjl@XNSiC95h`J(4 zye3wQBVr<-z-RCeI2YL86!S!W_K-i|clkX&oW0IUun1P16;*#jO4lk8#4n1CVyE~_ zTo5zZ2W%>v#-_6Xv0PjdDZoM~buJyx1?Icw4?lRAfJjP!T4=#c%vEFCs$3N>Nq(Aj*iZMI>**53o|aC9lBt zihbfdf5OZ1)_j8~&%5&;Jce%)2iYOEOH>hMcq?9#H|M2!0xv5*6}S1TyaSIF7x^>Z zlsDt9al$3u6+ekeqOwTgrN!@}q9`Y#MU+q?mRI5xc?DjXmlqX8j3~$3@ZZE9{uAHF z_wqITbN(g&g6Cs_>#$=2uka%L8?jgfix5^&6cW$HUiK5) z$0mt)!~`~xzNGucIiLD}@#j!f9Hp?U4Vx!obY$Pko%CSgR zhLvQ|?1cDP)MeFKHI`ju5!r+*tH>eZcs$=Ma*3tlTd_r?@%iEhwu|j%Ke9Uf9X^v+ z=T&$$UX?fG!F;ZGAwCqR#VK({{3=djRb82t6idVov0WsK{34&&CcYPk`4L`&H|B-K z0a1zV7N3ZZ#aCj5Xv8OrQmE7qi$mg|_=8_@iLSf|JIY(K(V{9l$ItLsHbpeyGqG{N z#6UKP4Q4~x5H^e*;0O63zMgO3U-7T`4z`^ovz@FKugz=noMNoV&(lN!KAOGF#;~!h zJL|!Evfiv0>%+G4@Ax+UJ>Slk@TGhi|Clf5pYT0w9Lp?9%@)tZQ<0P9U;*s0$jkHa zJ8X`)$8xh=ES245kAy#Si6^#h5uig{6CN;hw?Xh zA|J*_@jNV;HDO77IG-UFiCZF&uNOB(KK{4JDhKe9{C|5w4f*$ss%{MCp`I+-pL_G@ zYy6)xXK{C^>@x-ur#f6c3}uo3(X{=YA~Hp-Y@2O+`s5tL$`8MfDd=2-be^xoWZ zB>$t}X6%r+3rM$RpLugVr0+tT%WUHv`Q`)P^V#{aYwz#fqaTkC*0y{!T3Wip_BT?= zCwM8f{&yMaPTrqsbILEgUN(AEFn06#i+oUS`e>-!soYP!SD6=8BRldiHLN4gy!mV@ zUz$DRPQKf9$e*_K%c=*@c#JCYl>4hA&v-G~{Wmt3dd}yTrG5U**yrz<-**6;@em>` zL_g1P$9~?>UGDQRmHdt@rp9*@f$DrWaS~5Aa&6AtL;Motco^Y*{t)H%KT|?Qj~3Pg z2znY(M)kNPb67X1PH%~5)#89GgeMkxHmANN;xfBO@5$~C`89a+vI%0CVLmqLJXyFl zpPejL2Izlp#$%K`hCBPY*W3v$GrO~%E3tXoV)0p4@A&m|jWVkHDv_6-a73z@&qM+D zxPv9!gAP{SjG-S4RQYy@K+l^Vs#R~JpbGh3ts2aUP{Nd9)CRzCF`(`GieZ`CTKUz_HnyKb8nYmQievO(sqk}-Y*?;`q53*Eg3?+M8~pwglz`S znN6aZKZ{6jdw6wEdn2@GG28Fl6cOHbE&js1Mqb_hpr1r9Z%aU!Vamk!ihMNtS9L#VhR4wjKo#&^H?h=;Bqzv8Lm;3C&k_Pmhui(yH z`pz2ae1I(GntH-ihUZ)xPwEn^RemEIO2*ZfE?0VY59tQ~%8*+E+p z8lom@4x&6Bq8>FetHY<$Ss6YNq~1Ox%yG{?B&K^i(i*u?$fJ=~hed*;WyfJ*Y9tn2 zC~Qux#J)h^-FNQ4UfhIZOd&FcqIy)OM&bV1-8^9~>1uynT|nwJySs zi9X&hkInUb`Ry^$&HE+fHYuAP7wxStuL{#oYogm=br+7L?zG|B?Ja==ZhG$Q`Llhe z_UlM8F%V7f3^RFZ3C@8SCmJ8MSih7YIb;#n)!=Ip{*G;1H;!N$Bw+OKIAHvY+t`C;W_<;T;ZHM|TsCZc5SJkzOS^yV05=f6~(?&aoG=i{@MI+f0iYad8+pcBrCq27CrmGy){dGIU;A8i%ROQ?kF>0)5QIZsH{ z0~wA~5Lu`@xpJVo_?s<2_!DG^nSXc&TJ5}O;_aq<8s&~m(v-g>n8c_$=S5-F@(+>Q zky9<-jJ{xdm~&*`Ua&`|TPXEt&yT+-T3cQ2^ti!K7ezDgmv?h`@=v1_(a`&4O1$UG zohhQR^<_EF?X@o1Jgwfe87R?JRV{xPAu915o?C@Ila|f3Dn9trql#C4w|mnq!zvnP zYKR1n>c~Fpix*LezuQi%sitN3DHH^GrAR!{A`DhiRC6!qRdVSslIxhCp*zbp@HYawHBQv(Q@R)rUL z=)=;RCL_HyG|7S;+$|GphbnU2Hol%NKe+CR!Ny?FSjFEE#oS>Z2dia09kw?IUE_xB zd73Xpu;%;S4STMza%!EMw#QqB(pDxzHB&op;6O@ZS8mMvE1m8&HEC2+mj!im5A|b& z*RmHPuUAhL$a-?2KyE>k%iRz<=F$!Y?yz<|K=nN)!aT&@EUf8kfxe|hKmN8T?`27< z*CeF+1P@6BWb_RNlOh@vtt=*qkA*eGTk6pxpaj=i4NFDs*CP~T&5uvs?yP7XkZLjl!L6RmxrX491knz5cKt)os?@mPhM;$fMht)GyVm<&WBEXYbnnrscJ!u2%Q# zjAZ$lzUTBkJMt;{=x$4)+m7nOJ%O0_(Sc=iednRSUXng_OVj(JzOOd4Lze+hoMlrn zov}bc$>j`AO7r^OIuAq(>t1h)+xfuua?+%>CTX%e*($yZ);&WWfMe>9wj-7Q)I(PR zbUi$Dh1Iw&s2JKWvV+0l9X++}JM$uHeYnV+k*VbcS_1NdUY{D>}8`^wCSS zuN6&E-bb~1M2a@!#&QH}CTRZHwvdzWPmdjZO$D}mV#l;qz8!gDmv1^vSXK3ar*>6M zD$_g;dGi*zkC zF=^$~#FR+N50AikJKw1Za+$;Eo@P%hmax`Lfy27)q1|Z@ef+qxH5ZY+c!WvQT5CsOR3~CqMkY$D__!|Rcdw4BCS$O zmzT8k)&oq*A_sd@43)?F%L!SfwU7k4`DJJ}X&0j2wX`PRne8P!dS&2DfI2tK{H3C<&lvpA-~M$$l#7Oj@u+Ux|9d2 z7u(WV-V{8KNAMBqX&zZNqu?o+PV~qssR?;OP{vHPqNFl11 zhx5wn+?9XweM?F6)zUy)Nt9}H(;Av)r;iW;b?U^bfQdX%y~rjDJJdj8>tLw_Qk)cL zikB0mR6@RVO3*`~#lG&cB8V5N=={=N;`nyC$kXNWa-yJ043ee1F2k`n)#Gal28%Ji zrEVUVaeOpi>waiiwnQB(;FElOE8V5wkP?eZ7vfqTL?hCD(1@0SVsRKR{gMHpHrHgd z;9m~1gt@%DIuwX;`%d)aZ<>t!4X+2N@pE~UiprW^J-*uqpQvGl?DSx1POF(Tw}RAs zH%gRz2_M>JqAa6_PfM&%m8-Cwkjb)I9J1_6gxiEEB^{%86da#XM>#w52nUH4i2Bej zLVc|A*ejqL&#S_U$ckQjSw+9@lZyV;P(eUZUP~P;Vym2zjHbZvkKpwcL(MG8E0S3) zqc}qHbH&53;k>MCRuvcS!-euqs2yj|LuFa__?9{sTa3uMS~q0fFNu*gx9M?FQL5W1 zb*$AL&FSo?eyj8k>0zD99WJenD=XABixFV4p4!W(S+TOaS1CS`exWEt4C`sAa$z?A zjB_h=H)&(XyIXY#Q%j4>5?)F@_TP(p)HfWQHmkJaa*DTIbD|AU zt(&T7-=cPwu#=8C>`|UHSwkHwDP!iu`l+-adoVO1>Ll4h4U3c&+(*AHK>60Pu9m?u zCx1tMlu=6}WzT;WWE&BcQnM=KWrrbUUlPGuWQySL)y`73xv3V@O_T$+Qxg*VM?5ph z>`VjJT&KxtuG^u>=S9jAjtv~sgD}f!!jT|MHu+)%%`;>cORk+nRN5MWV=B`MtFD@t zlhN+9j(-0dGXYWm6*Ie4t8xgw|909RHDP+Ebp-Mrl@#+o2;?C#|0UF3V)QS8yia%Z zud?h{uJX2JGY0YjYX8STZdvhv6v&5&Nrpfsop_AYGxpz%qywF@$`RzqR!i~T%*)c7 zrlRzA)Jyf>#yY0fRkB0TN1*R3%V^ajr(M-K>Yks~&dSo-Ew_}W2Qxy2R{f_!NBb>_ z_zN+J{EuSiq$bKx>^LO(Rh6%1OXA4#r__;ZwsX)vzdzMB^jPOK%Y@pddlmQ2FDkl| z*I?p_vy+Wu5B`k0RoyOtlTtjhNL?^Ft0vU&S&N zprzt(UOB>72deEg?PoW%#L>zs4yyC2a4lKWo5rkVly0Zpz6)x0`t}>OJei~@+Apfi zwPjWB{Zu6Bl7fn)6cRM8mdNk!zB;#ZSGTp`*wMJ;AuFoF>eyK~<9L4ej7KdGL(v#q z+a8dnrJY?ZHSI85R(I>jj9aX_op$d2P=n&^H6JYzwc2QTcg3r=+3)64)8g!c8M-m4 zB0zQ3D@;nf3{$mt`Ru}Y_tiB=+RnP>rM=q@rOf)OczW&Y5)O0xsan>x%`v;KER&D? zsui~v#i6W9WS0Qa}3N1ga3AAuj+1>-$u_!zM|E!_yfmHNs z4N%elm*S0NFRuoWaqtxLT~GDW9_{zl;zsu3mmUUc=1tJ_0L*9R=XD%XS{yVPad-%_ zouzqGhp1FHYb{gV{5O@w;|tR#0u&Qgq_ZeVq)kN;kX>ENWG_6jho(-JFg1UvDUyIUb;p9yEV)`t0hvcD4~R zdV3CZl2js{w>umwCn$Obz_DJchCF01QbR7tQm5t6R&NYY0ZmZUCPwl?>inxdnI99c z_IsLmbAxHXYF;y=w`vjbdX~AWX#-k+(nDF^ID^Z2)0Wl;rL6$cM`~kHUVYxt_6vtq z^LR)C)!1@4PVo04n@&$n^mI=vkEWiyYH25*sfUscJqFhOwMKg&F`NC0Xy~vnR$Qk3 zyMZL1+R<5#@CJcn!H{1K>5^`l?^wAPP>;LVbqg)bwP5s|2pf-G?H$sd^E^$x(Ns{S zb(N#N9YUKyN_F!rs`{va99_2 z9it2O(!{Ad^N>$`cRtXyX>U3VRD>JuRu3AgVaIHJQ+=f!g3dUEfZ$?MHHRZ>S4dpr zafObc3I$cl11$c0*fr1nzoxL5pCk-5;kZ&~A*gd#~JVJ!tFq1SAUSW%`+^){-` z09jlW>MvjM_NWOQGizzJxW7-HqYY=raT9_}7gG{n&p4PHx4gDfSXjbu^(eo z`Kg?PeQHMpnvQS^wDKfSd@KCO!OX#yQz%F2T){(9JcC4<3rSSbLsIaiB55)bDb`D- zTpM^c2RrQmj_goL4H{}^2Zx7OR(FTm9_~#ZePBN7`mq*Bhjp>yr|2 zP%i9!Phxxv)bW~H`L`AEFL})4yCqcDBiGlEYrz|~T;xAFY2u`%S3Q`djw)XeKWvfu zJd0X(GhJN;HK8e)#c|`-2Hqze5&^B;vyEmlvqUvHRp2fk0 zl7?0YRj!Rx&QbOQG0ntf@64@xOIB1fp4thH^sK#@78tLPi`{7_%BeIz!_K4Tku*(3 zQ*{#$Re5#wEqf#x*R)Ml{AhcTMU#|TG+O4-X{(FMJw`^kFNT$JWE@T8*cWY1e)kQJ z1ZgJswD6Kd?yTq>6;BJ3ymm%1hu5@JUyhO10YJxemjDi}HgV^CM~2iICPTJT7slFV zqMNm9Xs&FnRr9K7;F#v)JkX3FKa{$nm`r-__XQN}8$ zy*f1Bu7YR_R?E=>a=c2ShIJHm)vO7&dplM*9neS1=cU!a=yZWaD@d&ls+2pbVH53T z9qsJsq|qEroxotj+PbRcJN8f=rG95kkdKagTho_zSvoJIMWv$hE8%y zswpagqAO7>T3w1La;UUP_)#+Rhhh|!7}oUC4JU}c#ffytlWy&oVKLfWB~8YbL)^E# z+&_?0p{tcZg>DZbx1RGl>YARU=!96*HPzp<#dqYlUMh47l3?!_^ zjrRW39+hFQQ+*J`@mv62`FPYL*{@SM-fsrSko)_OZ5qe1G(2R0+^ zOpeKSuo^bQo_u|_OW&R;W885aGAX|!cHQAH!%*d#X`4ZJZ5=ILJMZtbzvs|t z)7f&QcU&3sTN1`K;bB`xzMx`9yEau8!*#xxr=8Y!*yi&x?b@`h{5sOs?CpGjdcPlh z+qb0DDzFZ0{pq&MR{qCy=ZI9aUo1&)!s}SHZGO6K;nFEACbjT!qMEJdw9ISUO-T))L*{8&~^$- zmfVY+vS`ZHi)<&sAcK^3TB_+{JB3<4tM5r!Y;&irEdAwcOY9wgr?>sN#P&AFR`(Qj zXNjz&dSGuvJ-p=O;og@Uv@6m2vrdg~fgG zCpLHMXl|Vqc2#W#1ZpBJZw)Yzdj{;7}3y&jkH=}WBq_DWj- zrg*_3H2kM?P ze`#kD+AGvwe)Oe%g2@s`w^Ukddod|We|cf8t!#_OTkC8dj^)w{vT589tVid*u)W=J zoc~h{_~`JeD(LTYMyCXgmX_sdZo5swahNm#1p&bGUr@1H7JUvC(#U+RM~pF5hTB^|$QM=o{M(j(y~{;Pv7F z_K~Y>vU{^mkWJfUr#Ne1g*V#+vm#b^y?L|kmQ?%cF;VUJ6^&`bGSnJ7oZ9tf3q3Z< z7GJ{*cb8RgzP{4uWL|?%%)bHuI zY5kG!>tO2$DNmcUjl6PNl?UlxryH7U&%htg{(^@h8PdMv=)qYv`-ttD+O~88O0%IV z=^WU^pG1{}lEF$!R$yz*(d#I`sijBlEjOKoPylN#Q~;j`m-8oiW%slj!M|KArCJ4LuX_yD7GxJy_v1bu>ARzqLQT=?-X;6p6Nf`xQZs+Hg4-MPx_?U2 zza!`tUvnmDhrTYW4JT}UX~`&*H3NEF_Xh?LehN>k@BqN+K#sV*0voE?e(=~?H#pA7 z-IlpCc$+pj)$3P1#Ff;W1?=pq-M4KX!*t&spu47W{%X$;7WdLH>F#b%x>gxYXL)^UWS<1xrRSaQQz9KB8aO-6fjhJ)fSlcEy!=Zy`oN9$D4 zKrOr=YwCCNGh~U3x_O|MUa)nOvHc;nm(@Q4kReMDH7z-Hw_Vlp6d9=2U68?`E}9`v zI2KHg)P+kpS?HV2ykk+cU#F*w)0gOs)g{@$s|RY)CZUJCPl$ze&|eEq+XA|s((Y4g zZ|W7p85NF)FV9r@%l3YyqmSom=ViMOifHYW^kD7<%#d=Pm!jV)@H&t+1T76Ec}-49 zKFuU=rTqV}tfm|cnLs6UfmidjtMbYJ2d*Oj!z+Rv&SOQ39ydjcP)DxX(~Y&9$o{8Y zBwI7=Cx6=cOmlK<3uO|9JLh}VawJraPl#_HTQM#suG74Oc7~%}3mpcf(5;_9Zb_Yt zccQZ2u!C8rcG_px2JL>s-orqPc{AGtG^s{%O0BJL|hJ)bW6rl^0QtOw6wToY5AE67S`(dpX!mdJ@C^FfuH`6k=s2Q7g+&l0 z>zeQ?jt8OS&zgc(b0MGz;81HAj>FKNlogeZ?ekERtZv4W7F0fKE71;N7+L99H7rnK z>ZRMLC$G`HlKY2)U5_g~BqJHs>sp<28Rsg1&pW60xJZ*|lU7w=FeBozUo=O=* z%SI`vxWK74{47<~45!*O-^|agMT56L?X^^KlvFvNV>1q{{T=B<`?s~98UDg9;$iC` z<$mD_#?>$6B(G~&`w%_T>_E}vzomKhfd-(>b(R~}qX6<@JtUfkqg4twBHf`$xg3FLjYtz#0bz_LRQ~gDs=a%vC5v|s z)xFG?hIN?EG5c0PPE0OYNyR<4)3{Zb>RUG(hV}BF?%Yw?#**7LL!#?n%4R^%J@vic zWiou<$ii_J?4;?IT7HK0S|jb7>o52De5qrR(zkADm)WpZ9L|=<>07Kf>=tJ+tT*g% zkJ&}7tcEqmQbnY>U&v}$M|T`6@>*nLJ}*?Q%Vt;ya;?#YX17P@)Ya~jrbkyf~Ul+*A&g!H<%!b=MKRr(?;ZEM{r=ABG)^TQCicrC>dmoU;7~>t4 zH7yj(YglL1^&W|}bG{+39R`kveJv3N$L17sWMMPX;ILZFwDp^ysY2DwK*M^k->N-Y z<+B5sLS7e_6tJ_q?w(2w-91gsZK0T<9dT+lgO$n0 zG#MRRZ3nXDm3c|W(I`i?+Fr#MG)k%QE%2*b*Mib@N#U)XgBGr@5~UTwKGj>Tf(Bl1 zYsqt|&*xexM>%@ws3sIPN~^F1BDacp)6NbK@9Sg|c|~!$A5>uaDb-Y+iPCxl%Q``z zXAe3R-vzUW+kaIdwP?8Am*db$S2ZEnc1g=K^k5r;LpQ~X7}l9DOaHnD(tmfdQ}jZ- zkJmiZeyZr0&U--jckA;4DuGULEU1t7MAQA|MUbLXHriOUjEck%9Yb zswmYwyQN(39Hwb#XJY_Vu=GB!uByzpz0PsMV4xZsVFx*7Pd#{g6f}tJcTwO}&C)U$ zz3;wMMq>{q;t5M&>_f#Zd6cH3dO}M?v+oc{om{G{8BMknJ_F zhvobGAmldsZYnWfSL;fpOPP)%et8qFwLG&+g#CW#ih9PbgAE9WH9q7lg`kPiNDfq&0ez~A>~hewTuZ7y8Z z=C%Z|!b*2RVfD5Oh%)MXXAx_utJ`U*J4VfnGMq0;I!d6i=w*CpIXd~`b?gii^f=HQ zJ6Az1nvrf##Ze%;RI3=n`h5aQ>RJd&>f_ag7<0hNr>?)A;|Nfob7DfY~fQL>mqG}dfjg{2-jh2{HdVI_Owa(Mexyk=$u zt2&i!ed@Wu@e_s9h{&qeDZ}WL*Gz?0Hp1LXw-i&$s@TgIhZR3iJFB5^Pp+3!-Kd!^ z&p0al8JbY}uN1k|m|E%bvCaYOeP4N*N#sq`?GlD_m(#JaH;ag@3fHkOG@F`Y<}}Ex zmQ}Yr)ptkc`)Wq4d;KAtO{|?x7{`?DR-yRePVaA88W}|=KhuVwMcrJYuBsMS_cbSTUs~id5O-4E#V*0hrqNwIfFaFQEudSd9qwEitIF)I6e8TAWeLS{6FzJKE0C zN+wB`Avxuqi=Vejzjz>CTHYv7EmyParpp12_xnCpx$D_W49ZYC&r^o_1d{6iHQh`1 z95fm2IjqnFT7xaO40MjIj!z-)&IxtZPxWn|a0J#$72d#FEIEtP&(wwn_I#!HheBR4 z%pKn`>dOX36?gaMagHLz$KC2QG-6eqMn(y**))SmjXaMJ-o_x-sHKgJIga*(#)i3Z zIu7lh3**BiF<8YlH84FkwxYt^`XX7hUB-a)3r#vujW_TsP+z=ad#3Ky!Szc`THIZy zb`!N8|4^fwq$A(b#52nAiZ?Oda3}oWrM6WhiHO2LPRk?W>)3e*;>X=L7EQn z4#ZopLR%Ok+(&EpsXNUaGzIaVjEB)=mDJ1_opH4KMq-pyRV4d0Z&mAXb7ELo+NDpF98;>?7Ldb7b zN*iOoS1h#Kdf!U&zn)=?RtC}WL~k2^M=PS3Rl$xG5p6Q)n5Kx^rqbHkF-ynr_017z z`kpr9Vv6w~)orw0usbHY?dn#0yIgUE=njPFjz=%qjMVG4=dXHxJ}Vp@C5tRfU8uzK zsiYt5{bo%!tb^yb`a(drQ%&n&#CkQ7as9W8_=J6fpR~*0(ROQ1=Xg8%2bI#%2vYBL zv|ScNrcP+!yQ$rJ_tv^!M!=Fto?ZfUpzjaE{m0a_?)LpO zo#`f;&W@|6-R+6hF|ME0n?2HTrJq~Xwx!p?Pv9(Pt4dh3r*lPfMvYJxdSK*3dK!^F zf}0(a)=sJ;J=1Y_c<`^PMlahSmR7akVIuNtqSzE?|0bxjC$9niN>sL6|5%o zHu5Ub$1YXTt#>qcdSf)H*+f<~x=%V^re7D;97?FpeT)!wt4}&(`nbc9K1Ko6rLPhG zQl(r_oBKMHVyBpk6tU&D;Am^@e*fHmXg~Dda3Ct7WCXcqjmn}H53&bhWe?3IQjJBM8r}b;M)3{P+iJofBcGZy z*vC6abB