From e1f484c914a8ddf4d036b9f35e97c442477e756e Mon Sep 17 00:00:00 2001
From: Ami Bar The Windows system provides one .NET ThreadPool for each process. The .NET ThreadPool can contain up to 25 (by default) threads per processor. It is also stated that the operations in .NET ThreadPool should be quick to avoid suspension of the work of others who use the .NET ThreadPool. Note that several AppDomains in the same process share the same .NET ThreadPool. If you want a thread to work for a long period of time, then the .NET ThreadPool is not a good choice for you (unless you know what you are doing). Note that each asynchronous method call from the .NET Framework that begins with "Begin…" (e.g., Why do you need a thread pool?
@@ -109,6 +117,15 @@
+
+
+ New features added in August 2012
+
+
+
What about the .NET ThreadPool?
BeginInvoke, BeginSend, BeginReceive, etc.) uses the .NET ThreadPool to run its callback. Also note that the .NET ThreadPool
doesn't support calls to COM with single threaded apartment (STA), since the ThreadPool
@@ -764,8 +781,24 @@ to simplfy the initiation of a parallel task.abortExecution argument set to false (This is why the timeout is passive).
To sample the cancel use SmartThreadPool.IsWorkItemCanceled which is a static property, or you can use SmartThreadPool.AbortOnWorkItemCancel
which check if the current work item is cancelled and if so abort the thread (Thread.CurrentThread.Abort()).
This featue enables to set the IsBackground of the STP threads. The default is true.
To use it:
+ STPStartInfo stpStartInfo = new STPStartInfo();
+ stpStartInfo.AreThreadsBackground = false;
This featue enables to set the ApartmentState of the STP threads. The default is not to set.
To use it:
+ STPStartInfo stpStartInfo = new STPStartInfo();
+
+ stpStartInfo.ApartmentState = ApartmentState.MTA;
Add reference to SmartThreadPoolWP.dll in your code and use it.
+
The Smart Thread Pool is good when your work items don't do too much, but wait for events, IOs, sockets, etc. This means that the work items don't use CPU, but run for a long time. It is also good when you don't need to keep alive too many threads in the air all the time. If your work items do a short time work, then use the .NET ThreadPool. If you have a constant heavy load of work, then use Toub's thread pool and define the maximum number of threads accordingly.
@@ -1405,16 +1438,27 @@ public class TimeoutExamplewhile(!Monitor.TryEnter(this)); with lock(this) { ... }V@iHoV$Bx>$iO&}B?Y<4ge_^hIRc|Xo?;wyOsl#2HH9rziow*ZzChSP6)inRCMAx(Ou>tM zO;hhb`^$fU*vK7m6c`e!r4YtZGNSnsw9;gU1oe;y1<_nFQ*g~>M$wA_Ug*vh*965{ zrLtyVYLuWOH#h^f_JK kH5sTW+oFQ# z)LaFb6z+srnet1d$mmW4NtcBwemTkTOB7_VFjad&yU>n-ZbHEX)L>o!mas695QTGz z{>y%vMvOv{E}>dN#1zFGAQRXknet2bA}WedDdnJ;WM14ZvLQc}M(uVqV#=W?1hzzM z+*U!ez?OpGUQh|i(W$8*sL16Kw{lU6DV!Oo34Q@jCR&=#3uyB&OEWt*zPOzXda)O` z?Row6xAyJp`?se~F>{Fip7}>p-h*0*j3G0OU_uoo7d8IXzxr1%A3OG)zxYdZ-Y!VJ z)Y|95hhdPztp?CXa74h%jvB_fqGF#15L!oTDtN^rngNiY8{d4JpqqhUzh;<#vy1lY zxsKo&gQU(`hIbAtbRo=o B1xRf z@`#5H3lj=v8ZKu2gq_tkNlA_IGAU=)Pjq35S%OnQn9wc-vg*cend}3+L@(x$G6YOV z1*Q^ZO_Ly()OQs5A_j^GDM04YF2yMYH94w^FbBCzqi-ZjbY9HgslW)FAw{aPU*M^- z@#WXPBVuFc0nkK{3oxo`l06V6dqhQ5-ZRt3grMre =mjsqFw4Lfu%g>Di~G;m0<$tiJgN+Ic(Q^x~AP)w`2kfb;j zcNM`huSBc4REu+CD?4g6ML-Wg4LbFZ(@u umw$Eal@s*G zo!K f>Z^>Yu*K{oaAq m1B|ReXqRA_pqnbTuvbtl zL(jDr=A{aI(c(9%<_knq6ti-hk*uiO=@K!3%w`^)Wcn}AO(~dgF_AH&pb{BVT^Ti# zX-Z}-fi2PB3seD5l-o}METv 6p%8lmdThl?I^U%D46K! z9U${+8k_-MCMSAoFW^b_U&6CEq_X5rA!0(lgl$<;Mz)JWo0>Eh_TtvvC*FLM$wL(J zOg xiyy !}{Y$sUEpAIah$jtf*WB zG( Fn@p-44SX@aCK(sh6rmh_nF*4HSuPPX5(oLhgvw?%RbQqs z=gdMX&r+dMCM!jY4^8V3^N54TzO!Rj1r} nPYX~%~ZAmX9i)eB44FQ!!J?Wi#klWm}7?lP1EU1u*sxLGrTa<3Qrg2 zVw12fK{~`qwW~06bCq9?AZZFRAW5-ICMYebUSDS+Rh_ROrPGe4ymvqi2~jO7RK4Z! zFEOyvxk#~`XaT&yDLc{8e+e+D7GFe25eD}idgbwT&op=Jhi55A6Y^zBebeiUZ3Gq) zIt6JOeWhapYQUM{nxoEFQf8Wa0XQ+O5X_ R; zq0LANeyOymdNEb%L(N>tQB?Z_Min+4sRE`MRR~n+oTHT+?Xvkwv!##{S1JUpKq3=4 zT}ji(n(5JWf>M#rv$24D*-WJ}HLy$+`R)Xz=*Y~#!qIj)>U!%sk3Zp=kzN1Eg&8 z_Ctpb{mXy(uTb7YzRYqJ@)ZKcOiz#75jFPKU;yZ8g*+f|GDeXc{1OP@^Hx1n-?8?6 zFO%9ZzZAR8SJ+dog~!_VVd_cdmG(Zd*zBNC>Qk *bePl~JO1X8{-d1-k7Hb>N;K4D z4mgr`@XKs6I;pQ(GuL#(CILh{rgEsFo8$%BWN$*~fW3uTT4=)DRH~Wzg|a!Y&o#?1 zXhTP)^i3hpnVnRm69JP$7+#nWnL7!fMi`25Ixi`F%~WFsXD($EtFam=n=v?Oohs1` z%PNJG8KS9ZX&h}}FIqFxlqtG7q)Z8#DgK>VO9i!7F~ZQPNou0zZ|yqpjc &DHvw zrG=T2DMwSVb4ma*A#pN6351CvU!}`>nWj`CW>TchV{TW-6F3t!nHiMUZBf8-6=cAl z&H%u|c9^||vNLz4ax=iBlagCF>dsx-^rga|!@op*=Gt4RP`Sr}Ie|7Po8XtxH>}2l z+^JH`oq`m}QAI^Fq%eyx3OzAXrXZi&yd5sKtD CAA-1V-v$w%)P-6>6$E^*;SOk4oi09WSm<#xrXpYGe10xubuP za;qu&V_tMMU&2b859y%kkA)z#@2|z?$i5AeSyU0jx5VE5{+kj RKr$s~R#B<|QnLf+iX5#I9gy-7wE~57ICF41iznwg zmQdOtN5y6edvTlNBQJKIk`aSXS99cj$!cogke5ag%J^LOA3nD4z#&>@&Q4TFX8b8; z2eKD^6Q)(zPl+x`46JlsPi?8{MNcH4AQiN*zFkDHdbLZaH;uSJ0AI46A_^uoO`r~+ zy?_FVui7Y&Ym0zRUCz?aUW6~l{7Qv5QJ;%hmdxb|(`gWi%+ya}RHa&TEfL+h>B9Lb zQkY3+@|}xDN%LxHg?+i2Ea QX3Dn+k4fS?XF{MRzGW zsBotiSTX}B;+q<0HEgShHneo3J;CxD6%sRpj)|!NM?D-zNRV tQmy(sBx(pJ;>>r5g;(ly4q)XavXr-Y10REQpj%14{oo(DngKAtD2jt zD$29HLdWzXvKy(Kz0M>e_aOjEIdYuXZAoR-Ms22ogB`obs7)!@;n NzfdS*!BnQ>vIrKVe|j~8|OHdDqcdy*+d0Ei0DzOZ$}^W~HbNSCfg-vckl@WN4k ziTr4y zP@Kr>c6=jd#`sLdTXU~aTbL~}EU48Y{5fYhc)2?D~iM%8VtmJChUmcN} zl-r)8QWCi)61m2XT5D6MPR+LyBTiHK)1>YEd^tn2TJAI}HRTX(Uvmw|tQ&R}r+bkI zElB&*oU6FK(h7QA>m=2*<*OuPr$-{%Pw637vBs@sN~vU5qyk5!8{FyD*XUW&pxq#c zrSI}vN69%F(Q>;Xxr) sNLtgYPow7%hD&?mjEU7BXj2=v zYuV*=B%KGO?K^jEkJ1}AZzQ#EQb+Df9;I|ok2<$$gC--X4_Zf0I_8a!T-F9p2So?R z8FueIp;K1J?%f*=8Cd6J8v$uUD(LN7HLKvAt3T~+xoYZEy=5C@t7aFHLMdg>n|$NE zdGw4tZ=Vj49Ca%@Z wDe?))yQr^ hy2%2aE|`RR1P>F|^(Q}oh$x_g#3=G+1g{rZ`+zIe<02bQfg3s_}aGWn=b zCA3Qkm!r#fO~AIVd-5sFR?U9i)b=41V91O_t9aps7x_Dhq^88`nBbR7vP`TqnGr1O zKKvSgMrITgghHWfuDRxq|M*YVtXcC&*(0(MYl4g<&BShA1*xXVGTu+;ME7W7gKo24 zn+f$}%FDRAwd-}peo3+YBZutYm~Q9~=iK;m?~W`pa4n}Pr%>+NJ*s)>$-uep(b%5E z_R#CI+t=6uvYT?6bh_>hLHtmUnP2i^Xo}5vc`MIcC$_RR<+bLWD|MW<9$oWjs @|tU|U9 C{pGU}+%{hipcwyf4|NFQ9_Q4ga(4Ct#gY8jTD|k7oap0``&}& 4>1RIse!X zE6~%Wg=?-MrP)Lm!O?54xi<4gm1}82D}6lcHa&j(`1I-5PM^*`E`4J9$3HQB`X@e- zIekJaeBzUz^qD>xyIptPCoO$4ZMrUQn{nNBmpsuSx_sRYH{9@NfA;6IXV2#4S^w+{ zVjZ?kz)LJGR1@bKxH_i!2$ O|iDm*>s<)a|$5{=*;saPi{BlO|1?7!I3U9i*X;fT$rfnHIy*H6)=! zGG17TDLj&qB6Eo#h3Lz&B~w<$V@>Lxf-IuG%$!`X0Wz{A&?GbPWXGD1gDSo@Ly~M; z9Dvx5B zsnZOO$}!nH+x7Y{`!SLVz%L%$m%j9+ za5(&>TfQu|7ml-}Of0xTDRf!@)37Z&x9r$^&yuAlPySyROyGho;DymWu0uzU9(!`b zi(-hN0;5og6DIjJ6cKj$##Y%lzB^$v^ogt!-_5a>zBq{OJbt%|^gw zQ3L$TA9xLpd3p16*&!@R%1a4kD&hHLURjX~Sx)4*%=ncRyr%nOUI3T;mu<@cULFOL zj3dcq!!JjS%N@KRR_U0RTkb*E7^7Wr><@^aG;z|Oee+(7&eYjkv|VPPZ^9#jq%yC{ zZ{52T@BzGR!ZC#11b#uNA~)}-atuw?hSRYQb*)c11bEGvdn0kezVVH3Oq?_+K(3J( z0e6}?MsoCnTqZIysju_lIVCY#NYYZJ1F~c-RWg3%0$!qJ%9b)9mmSKkqZ07)O}%_b zj_HV(Q||FEzvL@N+U1ZhVJ+G5Yk+%=EwM2UzmVtdzGn$hF7SxNvC-HT_NzAeXn}WN zUiaL$jEMMv7nBPdF99!P$b0X-7w{62B_{7;A8$ZrnC0z1ck|~D960dl&wM5j7)JuR zjCNs-G)VHL21mIj|Hy@TRCbwB>SU)~qC uYfOv1YJYEPdx0=Y?!CVh@UjRw0$vut zYu2n;82IABqrN!i<)g@@N_u7?2`A6bFO=NEaxB*u76#xoQs8AeuUMVEZ|0?9X3pTH z){?$-UN$@E1HXKNm#OTtGOsMiCB!Q`_wviTL@$<2Y}C0yALL8)T>jNwxr&V$754Gs zWQ_1Qrojt8B#WG5LBYJxU?xQh^IEbD$q$Qq3y&k<#WrX5YymGNS)P|7oXe8n7vR T>oH=tOKiy#BawyEpOt*7Pp8rEe&AmV55_aZCa`cH@*IbiTY&7D9XqbNU zrK?xqvXpWAqz~`{wPdnUOacbBbo%?86!rtm%ZJQ(S?Ii&01Z!?boaOJ!w1W89@6+0 z1Wm-f2^BuVqs0`v_x@!pG6Z &g>V_dF?-L{?F#&4DAxHX| )3bP& Y2Y`%9MtY z`B!`SkQv2=GppLmzo|sF*+v01MXq$ofi!>Mh04p1)R J@ AbEfL|8SW|-}~hS$R0$82LJvC%^` zB*N^QABDZ^iI@ezTy#n&KE~qLj86{2R3caAWuoJl#4iyW@BS8X7G)_AU02Q4#C41( zG$1v>&M=jT(|KX!1@oFaXAaD({lIYnDNU}0gq9e7?SJ`8w|+SQuMq|>3zIY`4F~_e}#Qk@Va#BFu?22zj-f#BxPNXf!K-?Bi~u+b{pVTb?^NTMq` @{otF>(6=&xq z`uZIC*T{n!;C1&m?`3HcZ#5%X<;a#?Q!E3*h `1@k(0&U9XYSEpD@NW6J7Ol1#j zb?iT``&Vvt?7RYn{YWb8ohX=b 0lWX~8gk<`3F>=Z! zT^C=OSPM=P-#^EUbH*pH8)~}lI-(RfiEsKkH6rl#WUeb9T|Xl^nZ<#IV8AX*W-fh9 zIQjxFi&Nusi^HVsmJ x%xlh^ImFfOJou_v(vw8tB~s*ZDMV+lEX=j@3czaw!AqTl;*o1=K8&Yu z*6dlc=ggi{G-s|RFB9|AJ38A6HO1z=!q`KcMV*0UKV$dq(S*~}|3nXASD&k0)t?C+ zcDhFeUum{hn=MUcN>s2qv3u_n?`T3JQh9FC+_^W*o-@bsOw3}a>Q8D+GuxO9Xs+$n z0ET7YUojp+IZZffAcw5Tl@7c{a)Q#B7mE_;njNaA7ub>oB2DvUOB~&|^r5 dPcO)2Yzx>@`H^zKD^S>vFl;&TykcTYXp}B!4=!1R3N!;$LU0j;EB|W2 zxT~i{EY7-FhjG~AdO5B_;%tPtcr}5?r=rm(tBQRCNR0rm(bnw*sZ85?Iwlm_tQ5*w zqSe>4uaZ;IuW7xh(<0KE^~aNTIni;nlt}N=urrz9SkkgKfmD{J +D+|(IFQN_#vz|!k#10v z81|8CU}u6~S&i&{SWEa88#N|Q(&h`lvWbmm=N03gJy_;7k_Hws+xU%pcULvWFFT^^ zc NQ-!=<< zOucI2q{(6MW6Fg5iTP8ePRO4$ZEAS3gjx+xy*hsq;aVq5xLTKCxO#GU!W0^x5}rC` z0^k@9Up 6t33P56|8tdVCUcHp`&AS3 zubO;y-h>I^$zcg-lMTK6P%r;tV+!cfqHOr(OJP3%Uc#z;kgo)@iF9Ob_^d0GdELjV zP8g{=%S7&|WZgEKbJP{pDot#xt*sp}m4JC+VUNQ8g>8Ekt(@6L%P3~4*r+P70K7&4 zyo40QPdH8rhd-A0(J7O41s9%k`0B}%`4;mhP67y~O_>y#3QA3$D&O=JFiWz0$X899 z1XfJE8km_f>6$51uL5-V@+VB02B1uteD##clfV!#OQK2=I(iZ?qxit-eDk0WKmlZM zJ 9Gh5U)ICmN9Do$@DLJ>@DX&X0gb0+E34BnZz{;Opdk@Q;I2fuCvl z6T@7A&H{N9(#X`0D>6;G8i1U1)x@dS04fuKQf>_VoHS(;crEt{3{IUoQ2=ntq=|xl zpf0F1X^H~)Ra}1>1$1`uwe)imz2iRMWDLa=pplDAo5~_O((n{$))bD?gxowsC16OW zCIMelCVuo|A7e5h8+Q4!Q+15J{HVQ><;INqdspX``-J1r#l{h!V50N7dokdJhqaO~ zgD~B17uW*ASV!*O2OdgcDlvQZ94ssx@lbh|D!g7{m1fm;Ib7^Zx6BVrB}M_i1f*ir zUU~3=2_FM_royr&PXeqaU(IJcZHh3AsW76+S4H?5`3U7pofrX#fU$7+8bKm(5W2=! z%%?piAK2m8#HpZAWFi=r&)2MI6`qziIm|aK#EcnF+M0Tmkd`UaphDyULe|5AHqkej z(o~8?5~VBG08kJwz$G6d#L;OJCWBYueEKn6Wj2Yee+`sz3X&NYx*80cG6le!Mhv 6&YyPG$0mh8 z`q7Wjo2=x^ug=~Na!E*>l!Bv!QOW#k0K9ydO2maz%{tqdtlP?pcSELN241Y-iTsBp zJ&W3!s-6g6j{Zv&_BHpV2Cq4YjdiB5?>O)(C`R5SN0w+*{w0EBz`RBQxs-OrnR?~r z<+11q5XKkwF?a{k+_VXk@*rVg(L{h_avnTla^9o~c~?!!o5&Z+mpy4>UUzPe5Rsm`^RhY%*67@pCE{m^2}OLO2gLBog2RM7W7u7ElpzWQ_yXW(iM_4ncG#at|UN z0$%{=#EG Kq*9%S_pk0C|92%vhgGlCmFi1$kB3)(F*5<0m|^zd6PcM4RI9!50RF( zuF1;_Pn 7u!xnS0}nMe~Y3RWy&4=;Y9ipSrQ= z2L1J!q8mOvr>KadtnhT>yc_2heR|G~pPGBar{~@{ujo_r=6?E9Hxw1k{nWf0KK1E2 zH+*Uim5M&a@3}X8YHraDb7`Sy-kck#cEgP~e419YW&XQ?W@%w=(Tz9WK!s1urW=$= zg?UBuK1CObXql6WK3z1YXx5E4&YE+>9J$hsv**p5d&7;=6kVN5e?CR;h|Md#VlUmB zM+azlF5M`aH=DyZeu@gSZ@6K05slal-pDP_yYYruH*oGea$I}%4L8pD)Vw)!Xq+j- zd9&$D5fi3zEv8MWH*3y3mI$P&S+nQPDPl^IOBBtWJ@*Et7w6tEi+R->Z!DZO7c&Wj zSww2JQq8FL(y%zbRQ5iZ*FZ$Vbn34}6_`0U4%kejr(grV+2)?@2aIC*m(Th`;9q7c z0rOJKl9j{ZT)>vBC2na)6)LcMA9yfvwo#%=%$&*U pJl2 zErDb9$OqbY<_+U?_W6YU;PoynoPGOO@A&E+e|pECF1&rg*A{&3kNNqvJO1>x1q-bF z_B;OMD_^~X^wmH9(>wn7&IMon 7e{cCq{>90}pH5$3&t6%%$ zuio*;x845L+ZKH7E4P1@YSdY9hZKHg!5x%ymD_Ir8v8Hb#&zTr^3?h2AO8v6n9q-| zQcdnfdU%KQ_KrWflS@$lYjQiBE6vK)ziMrM?e?$A73rA$q{G}4cS8rb@!J=0RO-+s zjeJ?IE+atY`M2HvmD|6@o^%`CV8pmO?Q@8=-wS7b`qQ7r=5czWEnA`n%*C$k@a2 C6~{GB*6edEAqO0RUDHSuDNcl8 z_wT=cBa*b-{&lKwL=3jwS#>ktb{2Tij2v>*C+_^!z l#B64mxvEKcb}7VPi_n%|N$wjszYH z^P%y|7+4}vpd1wQa^yxIYI`@NS2p+TTyZLEeIG!kQ6&~v)V4slw(hDa-(ABVIZ^fZ zGVKVEZQEV9 #KyuxfDL#u%o4yl_-eO;7pr7TiR54X(g=%<&Nn(t|BMdMjL=mE z7msjoj@eE;FLQ6qn%p?g7VSAPxo+EjB0>9f&vpZvHiO%oZ#YB6jGt?n5U=+QNRAAZs)%;716s2AUPI zad3ep2I-g$eoe~?TN;Y+s+5?ORH$(!ls74LN|7+8a$-wlUxR~nIx;UH Jd`eZvX zZ!%}pjWfForw`~-0p72JWA6H{fmqNg-;a>aeu&8B!>@=K_TTuHh>h4oY~LG&aDi6P zDHp#4#R!;lf9Z<)*kFVvHlhI7ytCRQM5tEx;S(Z1D(A99N!Ou~)p-payha>TMqXR5 zAteNV6Rah22$ExdIXT9b5Dy(6;5D#-P*w=@kSjfY`40v?Ea3HViHhSdIl|*G;Fq%! zhrc<;jK*GRp)FY%nG(eYboRMUIF15%se91gXd8f~$W=>5MMz;@!oPM^18RU*3L{lk z58Ap%?7Te8GEZy=ys%bPAiLFBfMY})vj+`c;{&r|??Q}J %m{34+hY(WdBHFAUw~JI+Ib~7W@9RW zNlp2#S~ZVA$py)J&81x;JUYw^@EXZ5(1QT4@dsOWN9s2{sE~wy!q}%GWvJMFGB1{% z^(#4oO|kqdL3mWL(G5zNEu>ct3!tUNFOeF3lP{n6Wnph(QVIz3@8Ouq%08n^8S8kR zRerRkIDEy%$qAKwR!#|CYUhQ{3$482ml7^helgEjL!N*+sV(dg8^yw2F-sCwT_Qp{ z3NMF|iK&DweU`|)5^!e_n35B64Wj+a?UccXBy^_@bE9A?HiBT;`Il(qW#!pa+WMG6 zQF0|njw$8GVT`Amjd`ig-WT&CY?;5vW$yBf=^@OaWWKnUW4 rUOv_k z@};x)$-HvVc_lC}?`I4J^R2Nr^cuwGSmb2}u!N(RO7oRUf3J(qE)nnorw|o^tzFe3 zJSzE82or@pvyDkQF9}AdA#s#*xrPyr!I#6r4!zoS__dVGYYc+XnCjBtk#SIxV{Quw z#fXr8XqVOT!@L~)N=d%r3w;K&v>z7RlZ*@$yT)GMIXKYA>R~>cZHm)2QN?85C#b zUojQ@g~!R2RpnY=S(wZ=-gAFdv>gdi#75D1DdBPrzTjUlultv+NMR~rVq^DVMJ|Cb z<{X)DbnLtYzob01d(fCdiZR=nTp&zjMu{pjNbr*2f4R;!N_`(Pqal|s@)c_;ksiVZ zBH3eTdQGNuZ8o)++NWl*_Hx%h^Cdj`igukAxeU?VaQ6Pm*C2S8IynxCeEIg!&J~h! ztS`*V#KsD=^>u((`3}+08;XgY*Y4V#l?~z^lxSh^hJo%<2~qJY9=Q&^+I{2%_?6N< zXw2fpnCe(A;H7pFgSM8i7^gX!N@)G;3NMG9`4Jn L(6l8!}smqtSA z?#`t{q@|XQrMp8>T6*bnL0D-J0YSP`LKlz{#CQJhhy6Og*?VW6`<(NfbLPdxI35)K z>#Ihepa02Zoy5Lv?a|1b=HJ$DLI|__^M>EPjGewCO*oZd;xyt-kpXFP*>7w*KMgA% zwBJOHyS~B5`y&2xc4=6)-TtZ)#j$yb5dclB!v_jMM-sQYrl=LFbxxMx;!g|$(~?)M zFK*!P{Yu~Rv>r=c6N@2+(6DqiarmQUBLziqQo&opMZQyjX7>I5Wr`3fypzw;o==KC ze<@I^ndR7dL4h7u=$pLF(dawl3*0m~%H<2*W41%FP&~p~n=`UkcM6kkBhJ7=kx|6H zKCMPItxs|Vn2N30^ay(nxx1_lcfS@gIDLNJ^NQ2XFcmQ{WE24=3W=Qj221rRpnJ16 zfr;d7>rqeZeoB1vobLV{AXv9eA7?orzuEKN3e_zJ2?&=j20L9)o_o0bazW|K!i7b^ z?Kv45O9PsWd-Go5dgwjXW9qLXDkLesLtspV*Lr;BQChFQ?JH?@_(*kG0R${O_%^7- z&nZmQdC1)|@^kZrlwa8a`uJUOzK*aIWtvIQu}9~dn!!b-_~s41_ctJwt0@Zl?wEy= z@5Sx&VxdPTe|b;-CZ=LnL7T%Dc+U9BL&~Sb|6qVOs%jgv1Dqd*mOX*H!HzJKBn4Lv zwG1pRjTF^7Q_~AHnl_S&_+C;Yf5yT9U)Y+yKB TY|7|?RO%$|hw2J9TmCn$J1_}&*=#Zl<8XE}b7?vro8au<1; z;70te Yx3M4NT0*b}2vUy8 z=|sg8?INzX@9LgN*_kDzmgF`GaE`1Ir2AW5C)DlyEON#~>@KO`BBToP9e7J4LGBan z-M{3S0?=Y$P8|&B&L0qoryyO_KuUkfK(ha%pAX-|u%Osj95=?D BJ|Sx3Pmu1~7ho(V5a#Vqgl4Z5>=7zAm7|Vy+H@MG{9~xFN1|-^qVc_j_v--y z91gN4SV49bNi|CGMH&exW*1g6^#apajKYM}`2vml>V{++zwg^H{jrkqZ{ABJ< =eCnICUzo8n=ZN^VD>x5S3v+nQm@vJ3XOFjUe~ByIAOYSe@O z%(pip9omxiGNr>d>@v*H$RUW$p+_pLbWvOQ2z49|tCU#TrdZT^7G~j)No;0ev1!?& znhe;)n~kniPXIp1@viNr$AQ=Gb($(P(1iit;ecA^+!iOAoNj{yLbZRH8j_b#gY!0- zaD-@|aj1zHz1-Y6kU%G21|XPucaCF)G4~zvX1!Rur80&reV#0HH6ctzcRwu<7W&Bs z*v>m}fPlmq2agn*%@uas=QOWvomQh1>)JQyjB-@Dp{2PJgCLA&dJc8N&$Hh@{QmH( z_Zm8C{fDGDpZlcHK=f^k8g$C2d|C*7JSgDFId9wH1Nka0`IIioM;1#F1Ce-$1U#CN zyw23679VThDB1l=%5Y4m2>t{?-~d|$e^PVB4Esz46<;~jlH~P$_ER1+DD^lW+|_N1 z6DN$tza%Yr-;yB-0n3e7D5EtaNeDjM8Vi^Pno4|t{?Vek>cTIq8N?i+A2qs+cB*Q9 zaW17 =H5}7iQy4 zJ|t8mp~6*_6*n>^CV8>m9#O3b7CZV;LuFOh2?mFo|6$?ElBjGNq{?9h-R851aZde> zTv%T=foM(>O;rNAgv2FNW$RbG&1b9KK)6Urlf*u*#pTr}J9`d#J19Qx&?x? -e}VE4q+KNX;~l8d|4T1-M^i;S?6k%+E`Z0kW>3jDJ0W#~MJHhLxx_0Iwsl2R z>*JaZ&1d;1_|fD h?hK{FqV8l;~n}`Y35g2WaagT%B zZ?m-gTN6`xoEcn_9XjZ1c*hjNsp^a*YS3yuAPhvQ%*y7fEza;I0SP8@Q0QZ0B`Gi* zW4|Y6bpTtDD4QAYyj!N}=Ns!hJLyK5yB#=PRZj{O)xeXT8uy6@_iy3GS$o-M`JFiustS;y1D(X}97U7_K9uP@qAHUV`tC zpCd?}E=x)uX?h3zzhqwiw M2&A;hY zYWF_A0< j=sZxNC>RY$bn&d4zzG;$*1@)d=g z?40o-QE)*7P)J=Ic1c_@KGp&aA6ZiV=A(-ef?&nqfgPa!0=?`{H7Jb#zI#&W=D195 zEPDf* 4_7gkI$+mx4gvo!jwTq;!DXTIspxvZSb%8!n_vhN` zqtF8RVLo0^w@fvf?-cST?HNSqc;DLM2%ZvPKtZ>qEvP6c|2rWgG&>y|Q3yFho$>+h z3Tku0-DE(Ro!msJ`NASMd~KM+Ytg9O;c4lvrhDJym=MIEw+*4?eF;2A!@zaiD@7EN ztE8EpNCny1*=&68>}+(>)vk-Ag%cO&^NB>;L@u=Kjj7Z^Aqw-~qzSiXCiqT|PDfDB z6L^Khq3=s*f&bV;4nf;nlKI>$kPQG->$PBm*GBvzcO>o>#XSWF;SDW+imw*P;H&si z(vtqS={F7?{GUtVnxfZ@%g34*V(&~LD?vZj-)xQp*E%Oh_b0!@uq6I45uPB07`lG3 zh!IrNmLOXjW6u4_&FO(0UEBD}tfP$oGHJ>FV2?jdpl?aX7Nuy H=aAW8y5TUvH}lNEATLM z{LBi1zH5gU29r}SgX|SX`uvXbV<6M{KZ^+)8B_WT=%Nm_OTPtjav9wy7I?f3`WiNI zv~q14X*kc$X)-tP$>LhYax7!hrv9kF#GNxZjY80ekYcf=GG@|9feLCs*M*;&82I#1 z2`F#AIB^(INoR0_m*T-ZNw_hqfI=4>W+!eJ?fA;y!R5!es==gqQf6%fv*WvzZHB>h zV&`9jg#>xe8M1$AP1o4ssQBZMF@RTd3*xFSiV~)XV`c4k)|YA2Xv8TW-%>n)xQ9`$ zq>bE~FL~M6d_;ejP`15;Ouwt0n1kN^*+7b!$+{ZZWNq35m2HR|1IfFeSd-uR$k^_M zPZsY9sT_j0{FDpQGGYrXgt{NJc*2BJ1kvgOdIxN`fAEa8l-i<+yNq!fUZ&B=b{*Ak z9=fO*CQQS{7@N;{&>nkn`|?bFxT>(5n-{8F7%|-FG?5L=#`C-IFPUNA{PBEKkluu4 z6~90NFG9D!uS8dVRk;=;Y@|u)Uu3}a>S+GAuh)EzC>2JiXVZXTP0c&Dm6PJNnQqp6 zan?-`)_Q|8Vl=Nd4{)f-x&Xl=a)2kwezCGoJ}p+34HOK`Qc$&HS%jtbUh^F4L$J!l zv6`zW7!KmtVT$ 8+UNfC*plR~ztd+9nzgC$|J71!x;O$8V%jO1EWQBTzOwmKz}^vXu%S4{5kUV$ zOmsJwwlpd3nZKk$PFmdF;(*#ANV@!l3BL2)WEQ2_s4US1u5$#udxVK&Bc)M5bikA4 zE7SQvx(j 6b;l6Iqa@uOH;qvfZ^O3X?-13Uu+ ziv(6S5XlpElC}bkk_!bpFO6W%ky_VyjkHq?`c31QOgEwp6`Epdj(I6e@Ke9u`a!k{ z0;W*o1iCseS2#-lJ4~P_gq-edDt(>D8cGB&{!36{h*U!Fr+d(^mqjF7JI8mn1I@ z9K^%tznmrTI!mbB?z ~StC^qk z*q%)1{qsjUptp FDC85VGmqV;A$lZ|*-I+?C*}SxZpU=P0ou6ldOf66#AWKO>_}OweZ}(iY^OjZ z?dvqxpI>C6`)lE*%3HW?Yi{}=l?kCY=|^+vI?Crvn7mPb=xnc*ke5V6#K XI*54w@GPt$u56WH%6+?<~glDMJdw%@4z_)GQ#XoJ;d ztd}I|DW05nVVa!$z~sPKYR7ML!vlFFLfPG@W2mnOb4 yo*>dRi#AU#M$ADl`(EC4nJbh{S;CJex%cePK*5z!4Kp8JVVm) z=kay%za 02lfn+!0pJo{U$_@eu|FCNRJ&_3<==DzT zmmT~jsQnZs3iR-ME(e)az2OSfy#oh*g5Pw74g-3~`-Sf2m=XzNLd^2F0PW@k4WD>z z26quyNx4a@Ld{&Ny4*tG#E| p2$BGOk)>++9o~lb*fw4wnRW0ZATqZ}lazf)-ae6j5 z1Cgv~g+)%?s2aXj 3fd16*!^v (`xxKS78;r-yLD%#*ojlrnqr~J46SWT=&O5-~ z$p{_RdUAwhdoO6#A2^inwMkvqsYAx_jEKg}5H-`08v?e{*dLN`r&by_{M!?iue#JF z_|$@_@iEcLfd>efHYy1|_fKk!)(AzbY*gF!v-ukx4Czt?YQ)3^Z(c@rNgxO!OFB~s zs}EjoyFTJ|X=QvCxe$T{waR}5tItsFXJrVAO8*|ACK%RguK&^JqxKCyDT=;Frdu>Z z4Vg(Iyc2}Oh#n{J#(3rj1;C|;-{5dCIfDSE n`51M#=@VWBUu1|@ePaP|dlOtryJ u62GFdZ3jH~XcJB5j&YGcjS;ByErHlZszs;OHXv zxF5ozX_I(M-@aPN6#!HI4bwW1MVB#r*HxMQh8?|t2UW3k_#jO7toM`P`XjtTpJ!Ou zo0T_v??c(dTY%aD=vmDxX`uc3P7WV7^UZYB)IAKpD%LG<{y 0-0Z1%o6Ru(o(~apUqfs1{9N)PC$`mDLP8?FXmK>(>wB)d zD^w}JKFh)c-I8vjgH5YPScwlNC~kXCs{_fUletL31pi4Kbo_f=B{@J2L1~O)Lsv6@ z#Pyqx4?Ko% kbAO!;6Rn4lqwcpPqxUONZc_({U_%$?6t+oq4QL_UkmgLnDm+wvcW&e M-|?vh<%fCaTPyv{WG3eWeKyB z0^5YAsMDhODWiR73i>kfQAz_|fxA+?m9G_qCG+xj{)Sh7rKWG2?Bs~4G`%)xc|{fP z`l7K$w7gg*c=XL%y8iFfxGp>e`Cne};!j}MMdm-LVaDrDaT!34V%V{(5&d(+2Y^p| zd;6J6t;^RI`;Gz)Nn+f@Vt7Gdx6sLugqlXQTCM3^9o?!s1gkq$P73XNYieO5P& zV{!lSoWy8e^fCdx2tTi@qqxVK%1N8&392*~VrbTviE?jHu?AV5BFUJe1X__SVH?A% zc;ITL|0t<^Pn=m1u;Yl<@HLlsN5J))sk+)`hPK+5Cvnm0iJPXhL?J@C)#<}R2tX|h zo1EB&CDu-a#_*5gR9(4sJc(SW3=xXv!{>l}S7pTxdgfe*D ftnwcLVkO9tL5;Nf$EFMWRYEtJ90dI$tEzM`zZw$@ zukGzoFGIT>)xJ7%_9$(mxmt0=d<-UOlfr{tq&y-0(E0BR22wD8f&0(}KqxP;o)1j4 zKRnsAky_y TOcJi5(e1xChZuy)9x z)CO_O;Sc$$0K0XV9_~H#-ya;6!s<9Y`5}!rTPO`8Y12jf)@^g$c9&`1ICijHdXD`N7^cpftYDZ*)IB zRW)WYZmZ1>0|TI=U3POQc$sg48IeBx5x-bAFd$%ye^ABche)xbC Yd$t^qKc{cK54v j zlf+ld7G~?dL+#y2eY^SV <`G{wuxc`zme%VBY=qbn`S|JD&iYbH|`MA${cY-($ z`yWLs*uD Gw1zq=d*pekMV+1k(9)tps?`i~!+_@u6qr!+Grw0bRs(#al_Q73)P z7n{D$497d#APivgo=`KmwE!xBPeE#zHMK!Tc}hux@XI{bS~wz}!H7u3RwiA}r>{$t zi<8@o7k#cYs&x~)cq8{iqtF9j!)q+L7%l%CmD*z2xyj5dt|_U#rP2pYy(<=b_1%OJ zyFs!tvqbsAN!(_Cw_3c;rbmnbTlSsJ_~tsWAmap_F$;2uMUj;vr5W=vdCze!q5}$H zyyxW>)$Gp BlpcV6C} z5Uia59O0;Zy2#4*f6=hS#jamYGv4jL#oAcl-iZWDv&8?{740+^$O}x%GHVl3TZznt z-uQp*ub+w;0Xdv=6ot&d65j*)LI7Fhx$$vx7`VN20!KXXFV`08=bQe&uz>@M3Ac5w zqYeReX1Goy;7OBjYI;{SrN}q&y(;x!KDFba-^X0k(wV_V%+OeWh3^#A>GRfXF z`|Kr@TS zj5eFO<2WR-e<_@x8T@ aiwK=N}E2ESQPbvTNU>a <;ggZB%uD3osQe`a6v1_q z##WG+T6_l`;6)7}0zg)Ph9TN kA%T^n~wgi5TE^NRcwK=mqhRi#!a4 z8x15Q{_c|zP%jzj$t{!dn6V_fbF*ghm@y>sC&O>{UErudVm18_32vUn3E#nHhGc!R z7zjOX3 a lIg^+Uox zo7R`vcJ;qf8GsW~Ch$h} l4B}f#nyx&*sy@}uaQ{zA@*mGTsOGQBlq7(z!)_)w zG$!FPituV)7KqguWCFW3Yo>C}f7PXNsvsWJb?tM(-VVi)NbB5Jp%J4XY6}(0~l$ zcjue`XtJXwu=c4T2*7S=zAsjeQM?eQneT9f;frY& WXkXXg0?3x4xrY-zg$E$N_A)s{QX@PKREgp3Y>Y(-+)f;5N zfP(12|Ej)zrK^r+l49%(LnAmEroNsmU^i^jnNl?cbRN;#$_c6LB%T@cD#gaT9}-fP zkI5N6m(9^OH>*`~EX1=jF#gDrVi)%mOk1T^XA@UAwx=XXdz!E3`hrLGNb9-Mv!((o z9lP $tvAiYTt3$MO4)c09YABnb)=q;5#c@-~ q3d=Qo1s4j+B4DR8L!a zuF1F$gmv)iGu6)flnk_4-#8P)FUu}8dhM@PpS>OrEN>dYvkgro_6jv^xAAhe7T z=i;22yMHUea?Na`OnsFA-$KN5RD6WHW#&7=fG!h}kP13CJTeojbAYMQ^Csdn` zb5aq}U2_rUAp5@jEq#hlnIwcbaR<)k*r6Xyo>ZLgxH<%Xiz_M0IhAvNZ*|7!g2wXM zB!0!g=DHx>dO;Kt0NuLWg8bo6zZA3{4S(wtyy?({cE(AJ8#>K)glgA>C zw8P$5c?Lj#6wpd!g^oJwkFZ`4dCFXsTCwS_j^Mwgt}rm^dJGIRd^AkUYEgH~70QLL z-6^+b<|CLe<_bLObvv5!>8?WD61Q+yj{0>_^}R;!RLgsU#eeq@{7tx$a*g^JU{}+D zKhdMkTD?u^EI5SwoK@V)ETlnDIG#D@T1!Kv0IJmX`-s&-qn(}2# 2;B5KDYu9(pu(&RB*e%t}@jzg-KvWD_%`3!>(BKGVqdxdN49xog;K^1t9P@{Tur zuDA4fjcuaqgXG?o9%ck2>y7==^~%n8G2Tmf6~&(&YkQU2Do-NnNfvIKicZQ%Q@11R zqI6~SI3}u*5^djc#?}vn0J?r$Ce3JuXLFdvv6B=p)B>WBL1mY(Ukau1V|(rL3N)&B z6ZY4&K$DgPvAqWc9-Fz8@LSvBGh;ar6_jCcly5g7Rp_TYS@Yfzvl7ASUSmjxiO7tB zj?i@p-&a&0H`Q_hWHtX8W>n}HOGzXQ6rt=uh;01mIqW~&%lNQIjKTo7UPKGjWG=`L z)ITn@PCaE;R`@syS?Rjp8p-m59!z~Hk|jn9Kg#bCs$FKLqI_j+9ch9-p04Zc$ux2p zn0N}`BY~=gfb14z)tux;E=SIBGo6T__dkYZ2|C#(O&qKe7_Up(O}T>_7;H9U`3VDw z`}u}c{doH8LM?B{e!bUH8 Lh6)|-nR c#rW!Ft@xi91^Q}Fy+CncDN}ryC}CZ>eG&jfXmJ(2 zJp|F=j8QU^Gu*yPxmQaB+^NX-rtcQb7>ROI!RTl;Uqe7MLykUru}tbqt(E_RyF&ol z5;Sm142PKmsClU!aQ$e`p`iVmr$)HljKuRXWkX)nXoZ8^XxNv+)J3x$ZLs}QOnBjP z-v!xQO?$bz;ssOTNK ^UNt-Az{KGK2HdICHgW+@2vY(CfH%C(zm>F{HYWS- z5^T*E$Zt#?MoMY4K( s=Dz%+1lAx{8_G!rky0V zwJ0O!5T~MQm{+5CMa)iPfc3OA1dt#0^vE^NNX_{jQ7Kh_QejMl=UCeXK$ATm3pn?& ze`kD2w*#{#l15}vSigS;@zxaov*VNEha(|K?sb5BAxtOxZ~fN0FVs45a-z~!h=jj^ zumB$_i*JM7niI-Ivmg7QnMn5sOl9YMkjtKRwA%d|x(coNDc|B*9-V)9;;|-z32rYN zEx8!4y&cbmu{{ l)GLjV1!0( 5tvfwm_3>vpy8I-K*kZ*~vZ$N4T@HC?y#zbv@5 zq%cX ~+$Y4Uo3w{McQx6x zi46|(i|;3sA-@7Dg%EwH=`xQ}$g-R^amN;XGt%_OwPI#BcKl%d^}B-iKY4t&*GeIM zmCc~M524}qu(K?^vBpeX@H>AS4Cu>#;^v;v*WALgTx&cX13sVtD%tb3ES~PCZLX%s zSnuFg$MwR+RPO4bizG@4-q6+@wRoE{l aKceb_`Wkwp=y?A~6^NEg$bmESZffxrO4I5mJ+bVNK**O)+UIX|Y&dM4m(vgN{ ze!(gOKh$pg!f&*~Z~QoYpV(!H_HHWK%|s)~YTgqWz0v8m9H~`i|3H-dT^UHQxsVb9 zx7nWdPnaP2joRcL+`bYEgv&l$vT%*lzazJp7HQd3{-hrg`wd2*DA#Cv%^J%5{Vc(u z(>)1G&;4xc#*prFP9Jwpd2{NLhK2@BSeU+o!o?m?D<3LV9e5V~7pz@cQ}Lj}U#sDo zd#XmZ@!B5gnQl*{5rwgqAkMU-eIQV%B===sK`7@Z8wG_AZB5rNPjj_>HKpFs@+#1? zJVp@5OVnnlEgx2$BhfubZ}Rfg<%uKLq`J>vk&uYy)?oZcF78&ZziF?>sRw7piBM*! z9TsQl5sE1Nj9ZwBevAnwqOE74M<>B)d=tt0&Rivp21C`xPl@os5BwmRCHKvtc*Cn0 z`Dj}Eo!DzZe&p-Ye7zNEdk2;C+*z{8{#RqO)N~F!wqx!b0TfmL*a?Y`CFj-y-P<9E zplenU1Az_ma!Jr~Fge{dv2Tr?Y^<}mJl!FG0F-|2syiAGg h94-`j{3i-b^hh4!M@BKC*zfC5#b7ykxWS zS%CnX)WJQf@&q~FrE%Z3(BEsdwdrr@I#9G)K-;eQiI!-jNbZj_G?JF4cJIwuO`y1{ zo!4k?6b$roP>I@k5|F73vRG<^a-x~=MsuRos~Ub)8mDveoM^ib%BqQ3xp79t))r_a z)YP^XWGvS>&%>O&gC?nww!Fy~pGV_ 7I#M&r0_!XkpIUtG_GIP;$|Wa?3On zc`Id-`ge?8+38l@o R;r~lsg)AM~U>abEUscX9&JK|dmFV;Ktj-D1y)H0d zw#R7BQ+w{jDC_f9{l?O`h37#$Y*kVU=eIp}O!k(si@SsP8xQ_Mo7qklgy9m!03ZF3 z!B$ZXni|Q)ALi%X96<%oQEizmL`>0a$eK+_F zR~j?31&^rT1?f&=G5+v_(kqQx4J5zVPe>)>6aC4VbIl2k5yOB{GHltHjHC^Jmne@? zYSy>v+oAj=VH2WI`nQ5nMgxF6CtTfc^SPW1MYFaj{8+nrpj=d^V|$Snf2xvx610oK ziO3inbgcU4wtNafjNJ_2b!rQ58Dp>bU&F}<@w|~Jzw|^q_2-V?yT|r+4ij6s&&%4` z_A_@pzm24dlv V5fN3%Q^>$7nLqWZum4o1=WszrN1bC3ZMKY>Low5|v%! zkP(MLX;nhy#VxLvF4(O4@G78UQz0Ca272b-M68IgX%qZ6PQgH{q_B7Aq#+cr!z3Wh z#JhE>wHT-AK1U|y^g`#7*6k)IEHjkLW%iyN*)lZT;#7*;?{ku;eE^z!*`Or!WYL$L zp|@4fzZ9)8fy^4Of&J%N(GMd0hjMQB*l5n>IYkl`dN^K|#6+7^ ztqYUS`jArmr6sys@bot&Js(5b_cFb9f+8=7FBHRKalO9sNdiHHBiSPCUbHlC-|Bm3 z$;4S_64*P)LtS@%kFLCKe=O#rv|DYI{pV>FE&pR1^VZa4_EP^1QqcOv{q*qrcvdG4 ze5jV151~5`Mduba*qIjtd>D{)I*x}(Jyrw}k}lu}vANR>DXf?DC%Z&t4h|*L?oeI* zfbeyM%Kh_aqPZf?X*`lW? mrjkSQ5Vzl!anFg z?Tb5*kT~1S`UU3aSnS#395O%hU>(hVDz0m!*`7h+t}`>79 ^5zsSy(t<&!u6T(kX= zCT^L%hU71B8Sp9PL0G>G_4QY)LfSTBks^5rqD9OpOg4 6pRh#bZJA`6U4<}2l{8AsCRH^MsYA`Rd2vsX>i!#xYZvT{J5J2eB z+aK>?Fu+t7$!X-h8skj$K0P5MgRUkiKI52~iYMq}6G5~7YD^XFmH?c3u@E^e$E2h= zIIOT5)5zcKvvaR!9xX)6k!;Qrkwh6P6VHG|*{}e~PkRCiLsgrxgmhewo39$x+U*^4 zq=W1ZhLY_PKdEDfj0=hC3W5ne-oDx87h9DG9~&SpzqRKA*-NlY0!nUB^Xr_xLen0v zrRc5Q490Vi{SJ0Qsw&j$N0_<*r&-+RC5NZ->WT+;YPmP!RSCSMRTL0@98F$z1C$d{ z2%F6~vPH_-1*09PAAdmi0>#WfKL7XtnSH@An;uX0LhMqNo%%K{ge+~zgUTSD%23q} z3i~O~@QYBOQF{RCI3)^WP{%U(V_ls1HNQK0_mLo1z`tk02>Bav!9l|?Kd;s9<)-n8 zLQlqxlFy}O@XX(s(0f92vRBJT49EhH(7TUbmPv+-HWEA8lT7<5HnkVQdV?y?beZ&) zAvOk6vF)ZWxK-F-W^?0nt*Ii!K;9ehI+#itN&?POg}ylpV-k~QRM%w(Kh4!=0_Z)p z(>nSTIVxR>u0f(-QqW82C#a2Tu>+P~sM4>&h34_MQ^}f!<{g>$ajLh*f*WKO1-9qq zldpac5TB8WcoNWVJDv}3+*8N}><-l3IGgWq_%NvIS`7~Ws$B?9n@pxA@n&LJ^u+}K zsy9Ppb(0{U7gFMW)bWE}zvyZ~{ChM_wCMH&6NORFQBOBFdqF|o7YU&=euAD|QmM}4 z;AIZNB?1h*gO$w=EM{EIy-4cT*Axs5zT)?4GE=SnvWG@?&0Y9x6v7t?A!MZ-{Mz84 zkj5^2Oz2Yr9-(qInRw0$xaCv+`2^lflq|syb@~B01^pqV{}=StyjwN3{iC=42P0kY zN%Bju$F!p)UG1_bZa2S4w38EJIT@nN+Z11oX{YX{(jo|{w^ZU06z2}Jl^hp}m52Lr zzlL$~v%Sdv_1y-2N;`NumFjh$sgpan-k1I~?H6x^E#A~Px^`ruqFEo5HK2*s w_W@>}zV!Gu>919u;}<|m}O39!Kd(e!>rD(Yd6>Zg2xM$_*l;+3l>TV+{#5Nd`m zbL*luTJqsM*Gnp-`@Xo~BT8eePw#z0V-gN>SsJI2j-sDtR%4p-Aph8sZ=EjJr0#Ln z3>IN$s$Ak{?GALg|50`arCcm!jM9i*Um` ~`VDT3@p^-veWY&NM^q)fiMJ-?%J+L!G~5J&11~9J`pHp=`fD7bn-8!_d=&)%SK+ z;II1*s~?oiQN%iJWjJ#&!3ufSP$B>OV(|8}S2l0QqwGaGV!KAxLUNQX^oY5_zWfmB zKBcd$CY<*;My+l^rm(unr6Vl3m=M7t=R!3cAm@rao*s7^D!+eEnmkz@T~(fWyw@ z)yX_VhOxNY*OY|s*)?#&Uz~tAe#$4L76i9{;bskn-{Prr624}eos{NTi^=*Z42AAR ze^l73Y1_$HI*9FHZV08Pc;qfRZ-Nvsdh0Hs`DF_aL9xx1YJ;}$c5!v!$6G4?g9$bo zJ_O0O@2ExPzdZZ4L%Vq?q_ACo1fpXb#SJGsIC9x1|4YlSmAIJMvF^aL8Z$)@^koUz zN|YVUML(~orlfpwcKTuJ1vB=tXSYA3iX!G4Or8ZIHx$X7Dm`Wu!N0SY445eiTBX)! z%)Hp3t4hs2_tCUcRla4?oLmy{?PUPvcYOH6*Jf$l007QHu5}jrBMNWEV=B@IriN z?<=*#M^|-M2jHtFv{SDc6qLC| }Y5xNWmuo%$8Dh@Vdi=T_u-OMa z>cS@%WnYrzW~BEf9jCo6AqMy~G~osNEQwM*MgzUJ)6(!not9pIlC=W?vcSMfF2Z0u z?q0uJx{ct2CV0Cp&Ut7u*A@07#R&hYxG=l(!ck#|iqCpMDIW#M>vPod?2&7sMo#0S z2Fn+K#gM`lGLEa&u2hiOUdzi>M@RT#xv@B8gXe>PB(CSMZ_3FL?lXmm!G% zPaFjRT>!2mPKEavUX#*+|J=E=H<%Yvkl*^-+*74C1{>^8N_4$*C}Mga?oAr3DjWV* zw70~oM=7@-_7Py<6cm n^;7HX2`$x7z>LiEJj2*?O-6s#p5*!x78N!Wqr7+@JA6|a~5D>@$; z$cb8G@}EQxe1b T)}Fclc4;$Ki!)wIJXbV2+x}WD#frND6jwE+7_8*(J~@%FtU7 zpl55l1KmxOVd+coj~FA>k@-ih;&G^;r~;1B{`cBnL{@+TT;^0Wm+1yAE(k3spbUL( zN_2t3l&%a|-Kb-f(CD*qI;gihPv-3rQHo5m!$%C#+Q#8H$z~c nlA zqsWkq?}X+|AD;Y_7fEU=>xv#67Aqan3VQnAlirL0U2GR*ZQSw}K{%qL2e(AtY_D~l z^dEb>%D3FXKRty;e&dVd@3`$d+rk8I*`QEJTX?VA0cZd@r-SthoS`aueSab~+x)L9 z+SFqeixKcH3GlzY-0sk5%^=e!KcBzLI{HM$EZ^oJ$2$6<4nH+(iuhf6h+dBQ5GtDT zHOEs }V-A{ZA2{>V z$0-kHm0k;~b@*JkEUB(`4k<0QPm$IY=f61Lql- X!R?h zM3gJEpirsm3Ew&DzRj)c(U8gUS7H&HLT+(;yx6$s;%D*1_y5hLbG~Z(C-|=4?HY1x zEm5U9cHsnOty1Mhg<_2D5xBlA;$12k#vl7I{kQ>?pFY3
&ak-nR^X0(IKh^n=!qc0VqYGE>HE1x1JD zE4ioOg9{e=^4D>^sepv4n)l`G`L^`-J4dSTQ@$^ZAXb8afLJ!4fbWr3M_>PDp%H!M z@U%Esl$Ba(Lh9*V`rZ?DF%z*ox5(C Z`U+3DcQm^x0p>Lv8I`ub?G2J~bJui=m z*ruaMex?6&Q~9@%CQlf{>n!>j_bQ6szh1TduABaCmA^ofhVq;_HaE^3v{=x@0Rka| zq0Y0RQ>m3|BTXY~E*ZCVGrB(^5_DUxlj1}dKzb_z;}Y2^JdJz#$UcIL>PO&Oj7~Mt zi;gMWOLqHzIyd7MegPcf@n@c{Qz0;OAq4ugw8gL-_;i@@M&IN>-R4idq3Ox2#E3V1 zLF7_mSuD*;P#sn3Y}!A&PhZ>;KBSi#J-+}tX1d~hw`1IHTTM6dt=j&cyXJtPo0-d* zo{Gw^jqjhm79k3uq!y~*xE5|wRXG7{*~y(5bP=glnY Zj|0s^Ke?Yug z-bqi|bL`B0s5@YLk);&No4gIDfv+J2&xO$*Px%>L@Z-i*l#0gJjLHt*=_&i(h!>sz z9bD)=miqiBFW ;{ zIM3_1N0LEx`0CHCxY)S2j~01M=gL}VzLc^9`a~9_cSw%e>=Vc`N(KD<32$@a9Pp8O zKWN+Fai(pkjXvG~s5+~#sM_$|)7{;T(kUq+ozfixGo*w95`%PiN|$uk(BM!*N~1I= zLnEM+poF*=-~L}aPB`FTt~G1cdf)eXp8NjY@tXIZRSe$rlgKFZ3z8rnmhPFOq`pD? zsJ}PAXQ(%gPAZb<#kZL_n#H&-qTcL$#x^avRCIL1^w$PA?M}MU`Qqr>i&_hA!8y za-Hn86+MWLNEtb}u(Afc=LCbxKEa1)5>%W ~-^8CY0cD-^n0-!a^oRH~q^a!W54qvD=e_ZD8^|sUq-1Snx^q zvOCS^54?`_g${;+@}2{{BC_f5!+LCxj;dLvAh*b=9rI8p>6zmA5CVjgO~Q>TIK^b- zAA-?}Jv>^DDLGR#VuZ$SeCd)wtBNUDVe4|a=R64VOfphaIvAmERi`ezx(_x}rmA9I zJuYqCXBtLhp!{O4TYbp55#jA_0d(t!m8wJMDAFQhw7vvx!Q#fEt+gK;P8&2(MFeYv zfA9Z)VuxbWm+pEINPc-n=`f<|c>7+rq%dPIdp@akTjB$4hx&IW@*xp436L zY#7QIOAtL}4qqrnUH~K@4Nl-cK}rv(vU-<}R`dn!s#pNaieNE^IPEqE#hNZa$NUt- zg>98S$*sMb!K%{(h=6vL1_+t8y`*? CYX{&VIp@8&rB@<$x?zoSESjWPpO>+WBB3mFKTm=Sg=M8;~t&p<&8XGoG z^B4g7XzsSlby^~NDfMJT6+WmLTC_X;o7^c)T5T~kVdc=e`Op4#M{-9!l9FA$a&8YD z1Uc~eweB7Sc?$NmDD8+RWpxKyD>HzUnCoPkP+f{zq- JSE`k!;Vev170PZkzO2Ll;_}%AN?PGTtQq`y2arcI^_)Z1 zD|e&Mcv2kBAZxJ5oMZ0JL7o#pb5HqAn0j0o7j&Ez6TcOq1l=Y(qAG8t_g)A%pXU79 zbqL??B$mGyN?JJ-YNE03qcP-|Qi-2Qs3ubzQC}RVp8A9;XsKO&z}eoc+j1H159SFg zqz>myR%u}RQ&Ur0%) H-xu=Sraf 7_@fs D#5VU z!}@OQEh!4GjR=lrjI26fbbr4(1y91?kNVj}Am2`U7hT8-_r}1mq7vNJcLF6-&sTgr zClH>$MQzFuZSETx#e_N(-%dsOSKQ^?vzS^jE;DEYjT`!up!JhB5+?WbIf5tl7kVdf z&`U7*4H7sh_I50lVHOK*8HVc3X0wooW=9Uwa>CM3*=m)$|6r-CnfYZc+M8R6lg(57 zw2Na|mW{npt|D5*I#O@%;C(f3POzCHMK^{Vk(hFk07w^Ji|I}yJx`SHAHvD_ )P!7r_KXE+bl0^f4owPC+jwH@g@f09;<;Nyo0T?rY486Gfj!k3+A z#4l{kys7>%nR`?9GcOf7%$wf_lVE88(hfd$?>v_-63&G|U7X*=>gk2l!Dekt`Oxn9 zcL1gtSoY@M6YD2W@OS@T?c;7`&WC+nKd+mOg_kM^HMCFFfF+&LLQ8;|TH>cn xddE*#eVXUw=MSSE>s<~5gBPs z6JibY%W8%1v<0dny^L6aRb7olOQ1^V|ISEydSr~HI m|N~ie-A-GXP@^gCG$NuPR__1&%%g@LLU0y9ebpn$#He>LUKbTa>`)*}iC!~}^ z^-p*oUZmr2D}dNli&Ny&P6edtkC`}p>htQEym|VO6XxC>AE3LDzmmRu>}rX8!wN}E zNQ&?vM!5K~Xn*tz=#EXA(U7CK#z|562GHBx?CIL-pJwW5GXp<>y$h8rEfegV{6oP{ zyAI*p;u=KJV#K!=8u7{_wEhLlap4?5GS5CGzQhq3CKt2P6}PI&)_7#`Dyc9=FQ7a5 z>k&`+5~Oj)^;x2k|1XRqh m0shnkB3qdu~rinxbF_)_fLKvDj5e(!?{B~Ci3Wo ze^>oElPV2`{*r$HkRAL1IIwg6gkYCifjExC@f4tPO *q1 R6gzf!?7Ln z9T(MgX!e|dwXBJQ>X)VGd4fsc4+sRv2ei(EQR_Xzx~n`+?OIV|S4J1debeLca2PcV zh^9o-B!9D95~gEDUf^R<6()_Bwqk_(E?2fogAw{jYwsvN=}8Y2iKuwbw}6fb7amJ5 z+T2#l$e1f{IwDOiC5;^Uz^nZ)w-mRkt>=tiT;zio9Laf)k8)>EL~;$2p`_PeIVG3v z9gXlXK@%~=J$c$g)LYq? A7yEaoX9G3ec% (o4uqV#$qBq6`!lf09onzGhftY(|T1=D47& z0s3``H(;Rd?kuil?1Luhtm}3CYJSIw%Xc|G*iVP=&+^~4MRgG8rpaCGIP;t^{w}5+ zQBE9?RVUDMS6Ka{;&dJom_JVb#giD3CAPZ&bBRrgst08B)P*X&h|O X@}ap*vHwU;F`1Nzalvmt#O~NCxgC;P0rp=@!T<+!u7Lglt6c zRJInomG|pqr*qCqw`7?Kj9Ytm5J<2vL{uvw61XZYY&3rtpF<8t@cEg`U7s4?mg&*J zgqttp#TedB7sl)1{EUZP(@|r+9^SIRfD- w7_fMm%YSF^j%5!6)JVbojPFwc z+J3wJD&DZF@f$|hFHwy?Uq$A9ztbfOUNHnGQMQu5 !?$hE-$8bKS2rq^A-W$TK6YiN|Vj3ic8Gr;s7|-bo1$tlce(6 zq3?6=hx@g65D2D@&1mQ8-fj((jV;+Cdb5?WM3l|)9;)V^+B5t&U87O1sGuat0HX7_ zvQwJ@4zU&|ET?oR{+;)x*OPs*Vl+daV3|m6XxvKmeoef&%TuswElps_$dNS1Adag` z`UxC>`xHHlUPnwz&sG~ImEI`2MTX?Aj)Vq~j5}~|zM;c_!kl-wExoDI^h^pyG}N=w zGoLZ4^kJ}bzz$DxX;rqRICy7{5N#de4XT;yTTB@nnWW@wSOQ`jN0!4b9BE;MZ!i{^ z1M8H4f6`3>@QHP4K>{?h5j%?E(X@c=Pfh$KZuVi5C9 ~SAri^R^<#d(+Xlp3s_B(3LyPk14w0jh7qbfi(5 zhL@-EYj6_UmnG2!OBMKR=SL^0-~a`hbkwb^^H(nQ=%i(wKAiFngy bJCSNQ4eMugn6-z-;zz+rep z#VL(&x;a6b`AEO+$xnr?ai|ZmB7 W*de{{9IwI)2Ay zV&*TZV>4Y1ypDYMVTj#lbm$(b1l{?=RbRLW* z!M7s1iYp8Fr0=Fpt+CiY!&_3h;$QQotRZud3|8BKJ>q?#A0hR-x<=VRz2Gh6023P5 z0XVTvF#GAA6UVPHu~i1I?e=?5W*dqMGT$~?4dSyhpc?@Vq6#NQV%E2mB5znP%pBQZ z=-_Rp^2xc;9uo8R^CPB6UpW(o(LqAjP!#y*_@uxcQN`on6DDSABxZI7rAG9h1H3Z` zlQ?x@HlOs} E1AozB+l8$`UO^RrpW(C$(jST%5n~ zI#ibGn#usdp{B(z8?(3%!u(W}-S=#h5S_8^@}lbB1TEaQwJxDlUZ7f%o;yUs;QVzC zMUVtp`_%XF_)aQ{4T`u8if@13>5qJGHnDr-Q!aPcVaS=V%s1Zniw;p|HPsW`BhYDQ zNkeY>o=lK4k1xEtD3^^K9IQ=Mqcp7ZnXzPKQt|IF{uNsM3^A!evSc7C6tHX)30EnM z+tGG5#o#TC5+Vm|$uh2p2*)(rS7e2?PBn~!{qicEBP-!f6zddw1(|`k;lo~;f1dL4 zZ_sWo1foJZRQQL$S#C&5BCzPzaLLOa&$vtS)>Sly;pX2HKwnECVtGui_8bmcN|o%m z-R`qvyc qA=LD|5Hm;~MDh1L{O~*GJae|X^q&2TiufHg&{lU^(jB#`uBW#GrdY$wi}ol^ zKT4^(T;ju+^rdck#6{G6k={sPJAXmRoqx&UOP!(*p5H5TTx^Jq8GLoS&9zA;VT!-# z&hsGiFDBnxC{kM0u^Q>qLxM(q_(i^OkSc%el@y08MRrL<8sB5hRB!{v#{AL(sVkr* zB$Z*M!_GZfqanrqAyD%tzR4}zGm?*1`1AZ6qI07pfmTWCR}a&Vc^BB-&bx75nDj|X zG*ytqgE=(2I9PGVSNdfd&R@C!+`Lk~fcDtHlcDx+JumsC1t@7GaLMp5>9)!Ht=YN1 zGV!cYTHN<8NPyrPHMt*GOItCkU4u{f@Fk4S!u|Oz<5pHmjPQxoHk$c`N>rkv{aM9D z)^pg>UBUq96Oq0T_-Ju1xVc8jKxsYLk!cZ1`LyIg@Lj@8r5)(|-dMq4f;r;5@-h)M z%!2t#UK4MsUVdy2pH>*=g*Cna4-Vm=T<64KvFsqTJZ7hS9{2-sqmZ;3zPYJhQ z%TR7MX&)~|x2%z;$*s6Y q>NKa zR ^WGgERq>0S2qEEl za#GcKBkHHPXmMSZGa}c@KNhN~#mDM~-Xhxd$Mc#0$L%0`@)&!Z`0(M%d)f1@R%qaA z5!C8$`BTts5bh3VR?t0+;euSvjp8ZmHeKZjWp5HOt>e^WM`^dp)8r2xj~3P-Aiokd z7HF(G@ZB7$$s6>Po(xQGdPV>{)oNRrz!MINsR7=o8Vp|$z0Jz}TySwokUUwb^UvoD zE8($WHv3PXk<9Y)LOJ!Dfw##XRKEQ&LA u-KwX- zzKlYXQC7JS)54(i9n1qKq zP|?$to}1Z3VW6a7r{ zhKqKn aXs5~;KYNKvWj~61WOTQYfC&B?&s~O+hh-yvEY5kA7%H5gi89swI#QPzIWj5T zjG^;+bE}K^&3H&m;gUei8_A!eO&n+2dxQHX+xG;3Rr3vXE5`P#jEmVoAjk&(7QC9* z5@{sV%fi&{1u&!qm)xHfX7l&Xd%no{RS5@B{Eke-nnDQWLTc4oWrLvCmjW27D0O{4 z%oN%S*U4-6(|;8P+h>L%Pz6mRr)c43ZRdyE@yx>S$0P0ZF%iY%5h^@nRLZ)P?SF0O z!<(q7r_}%_(F1#=W)1ryTzcUitg-n!_EpZ0?Fisje^jL8gNDHl!KNs`utD`?JXvB? zSnqWOc%k0|=R&(J06qEaC7vDV;(~!N^Wv5e8wz_z@`rQu_5mP}?cyCgeZr;4cIjo7 z6PtFQt&kPz|EVWw__9SvQnOtKKOpI4HK539a(*U9v$fh9Iqd&>Qb&K*j{&X!1@HV) z=cS?8@8q>(y%~sI;#m%%e0r`aO^wI-{ M6xxIZq&>aP<}J|wdzs^X~Cl2)*D+8iH2nv4G!;%u@h|g+2rL 8NWe!tR8k!IV2+3LhN+o=BUa$vea) NKjRe4dNyZusOmFSJBE$@1Tm$1j0n)}=7M+#E`Mx;2Vl zB6K<5H&_RZ1$wT~XWA>9b%)?GDl{j&V*h|6v_C2c0%}UbF%Dj6Z^Rsl^anV8N>22y z )x<}+B z7E3;keC9#KStPA8+o~tx!bI&!?FcA71q6t!s2T)UnR)50&XlI=VMF*ond4S@NNX+D z4cg hvjl z> hqaaxSaqUJt@-RAk4j`~1B(ti398lmu *2AR7wzps_ILI?aTJdycm#hPcLC%mOzCKU RylV}dVu`9<}>I7<;6^0OdxIpH~r6+mqD5D?P(()VtDHGxeV;8(`H=@oma z&cN(wQ--55Sn(gJ7( cy1rZk_K?$yvkrS+whatP^M1C-bC{B2+#2A}S*u;l~teENdjPg>9J` z8TN)NPAE+&B#EijWVKa(4V)fR9Rr}da-knb3avt!D{%Zw8A;CZ#UA2n5f;0qx5?Y$ z&ua1R^aE-B=kgBOg`j7*v3ZWMjL^X|&T4<5VxmO~<|k1CvK6h)M&{4R?@U@!zE~ z9Ong~@-6z~-nb}w8SOL)2EPifgn|H=^6e$D1;9c54;8YOQdMC}Tl}Mp`DXlY1z94= z3RyPGn-RA$H$`pEcggUgHFe7UtEtL{d8%Cd#Eu`X&MH6JiDi4u*N4WZew=3sVoNto zUQgpaQbKT22HKhbNq*ny24rX|G>1WB7;qMIoRpOsfQJ;H kCc{M#z_!-r?=L-Tno+XJlh<*gSNl_fHI2>g!I>D!2FMu-i2`4C_RjuFOF^!8 z< Az!U2(5S(g7$>2Ef|os8xRXG97TPA3Mq2A&A_LDVs46-nIH}hAQ9`HXE*$ zhx8Y2aI$ZMNTvwVaY?k}rN-m+&Fs|peM;I(I(0M zvI%U&&!H1vP1c2td$|TDFEakJf$p~0eqDN#o;Yak`hoj2Vs#YRK=ep7_hwJU0U;2@ zkC7NcfRHQPqh?JDWs;QM+VzeJ@nQ(>vXcwIjUX#;pq|f>fQclcVgK7&R?*r%QyMKM z;+AfWD1(5FW5xkoP6tmJ1R(7~yQJ! eNB_=~t-Ele#HAJ5UHDN7Dn4|-;Ehqf=adqDpT0EKihhP5I0#?x_9Ybw++ z1;>Q*53d|+U3|%?m|{Lqkv;YNI{Nm}`aXoeUe?e{WYiv)7RgF2EeI=k0hk2w5{<@w zBv5ad385)5hPfg4YKK@L=~%-W1NeaIvbhtbwzgw=MRG=jp&{tI;DviGYq<@%R7| znYyNq?vEWcW6J6(0<1QN@IFaU5Pi(;Lipw5JHZ0vYDdO`NgY)wOJ^ito}2oFs)z5y z!mX00vv0(&`@`&fFXC6p63@QB+{3e!1=#Fj(_ek2aZ+RtPt&N3@uO#4Lu`RtRq}YN zQX>#@;0NJp-CTEy{R*uQ+|ZKU^tRJI9ZFVGrZ}E+58$I5!Tnn|?ntACmWI61M(G&; ztJuQc&%#LuneOwezf`XW*@+*2$8%Y 1so<$9Yu zJUVEkDE6DP6JyGiiQZ0=PVxNBHzSP*CMX^{Vxm`7K%Z0J^c41b1r7oFae`_}y)H z!;4IoY!3mATSIfR1n0h^b)vxYEKBsUlk@v)%-;Y^mqZnr=eh&r`f|fV;i)@JzZhE^ zmQz6@>&|J#BY)~rgywQIWin}ozIlUYWo#Pp1S!cZ-??IT>^}9VY)ztBJ-t)ZKmjR1 zI|ge2e$g>$*Y%of(~Tr9&PVa5RDcG*a9Lhu)?xmbaXR}xV__))@i08pf}&;}z5-3I zCewYh7T;!OyxAD3g{eA#zd{zV_;YPvfNcXCKtSDo#ea-SU`-kj3(YPsxG`0K$?5i8 zR9LrtfUKqSO0paPrgINWf`PDHTaz~cVy-QLK%@*8u%Mg%4MOI~mOIfG07&L8ny_$M zOunG3RI}J6OdwrR14(1W$BT~+_m~ eiffOmVc|FuSgDf8X^F3 zEv7~k>=%#FyGxWo97aQ2e02U=fj5L|;{X u;M#%OanIp1@rBD%RT8gJn``N$=X_sb zQ5<7+dr)pyeLv}!wB-RKGtq;S(maWKNFSMTN(^BuKJ?UI+pFDPn)?Fb@o+1jJ`Y$5 zySk N9|Go0UB51e?GgO;af%_-9e9}$89X}kG3+6`x*sifY_shi6hR#$; z<)+ij>c|tH`BjcHHiBoZNxJSE1V)4K3>Tkp$arGr6(f&&-np{wr)(MaMYFSuC>uNb zjfmI(v6@KKivJ&{ypzG>5x}+SFHUPx3rft$rPq>+H-f~%$e5JghMmAWK2;J}8bYpB zhKG(ulP7L{r@f^pw4InVd|rMP_66Z0Ga37%B|(GV|Jx--9|J)~f@*3oRBNe>5uUi| zwvrs<*&k8VYN4Q3C;46&Lu9!BkE9M`32!4YoPX&nARZaT;o76;kdsF*7JhKjIdG?` zAMdoB8Vc-uNInp{|5X$u{qOQJf|?!>vWu_vBth&2_es;A<@|+RgII0Iuq?LyIeV}R zjh{Dpaay4noP-HQ@C*MTYsJlVzgPUk-)QHnc{UMgBR9rbP4! b% zHqu??IiKK^RuGfnwD@g>t=+vp##ek`%|`veZi{ypKN0T{yrSbda7_2LvHcm6BSTCV zUn@&sQ n=`$yZHOYn=n)3KQtR-!_B%+#Vh%lcV^iSLH`l4{v&t+ z(l;s!DjKLt26PoPPW=yPsV4)P$I@o`TNBF ?xUeD&|%}nBiZDg<;%@8F1D2M(9V39Y Xz71c{x@%M@K&(@K2Nsaq9k0JPC*PhFpM=tJZcvcF7 zM_ZI)a=*!_Q{0>`ofN@K|8vZex#xYG&BYKQH1=m`q02RYehd-IYoiFpgpAnce1`o( za^ibb+g;0*%GbR~wNEA^9xI4kP#2TpNT#Wo>ANesGnKvF1yDh;UMa#f+j~c2D@_5; zS7j+O4+~|-;=te0e7U>s(P*qxf#>s@wQ0wabdzS0AR!9rCfan*Qb4+0d@zpc+ylcK z;9c(Is+P}VCz*tkUEs20g+d@a3P!k&^kO*}bOJta+EyghIMZddKE$o$;KBE2_-{9+ zZ3_NnHhrso_26!kA3~qo6m-LDa|ir8CuBVw$egU|+_>FK3E3v+=jX?OGh?1zVD&zu zkS70!K>)Xv9e@341AE~T?~~zEa2ZGUoQoF(?NW19ae^A5`%*xmJ#zZ>u&zIld33`~ zv~2+prq8Y|-;7m042cN)MY(++m`vp@O2`$M+JYpe)aN7>W<#> pBP2? z%l61ct>8d=n|+9RMaA1rT{(OhoZU8O`)V$2mF^yHeN8rt1OHKL!J#0jq2=NaHX=|~ z=?45L9bR_y<-}x#F9I%7oWrze_@%Eg2WIBt^Ttbzki(sJLNnuxdu>x60YOid-s;3% z`a4}l+hoG?tkwwwvExEzUFR_SY`HBE-AXCrM~r}4|7KUeA3lq>%%RK0o2Bzou-*N1 zXZHmSLVcMB9r( v_5<%UJ=|K~Q7NJe*h{U7{)ypsp zQzCh$Bz%Dd8ZXMwdmTHZdbc~sGVuz7MEGo*@7wbo `byP!&RlsfA?t<+9|d5yKUMgtv*E=CW2lqQ9Km9h{vag0z?4umM&K>Qyv^TjYt zaRu=f6GtW4cIFShyauXkHpTcEAfUQ@!GF3)*6FM0tm#twkHt3ZGqmO$k9t?J$;F9k zdx5wbWfAE4d4MxQzf1)SWI~jTLM6_v(W0aZs*iLT$SqW#4vS3{hOqxZM5SYD2awwh z;=?b+J>oN(_0fd<^TAYtVgV#P9R<8C^PMZIiRcFMC{5)hj2|(pbU%zH+MZm$!I4#> z>dR^4 0c?VWWjIxT^px}RENxX)I6pMWG zgRH=!r#^%0l=JevO@Y>2uKvez<~B|97$&krJ#Eg7RLLH)F=4-XbN%%?ph(1&+@H#A zeOR3~p1-zUoSqY~1p-@Cnh7HAEP!3+X~`%I0f#uze+i=w#4CcxOs3BZo27iu45dLA zJVSe#+o@0E%7Z$LA{#9Rvus3CCO8+k(n+vzhxzAnVo1 PuJ&luNYaj-S- z_W~N|2b&ZRRAIOls4+(BlUMD+{m%>0sjB0(528}XZC(uEOJnKiqcx)1V}W90USRof zN&K`!I`oL*4UXC02%DZMwnf^{)5)^F>ES;F7)9CQ8cUKa0ptPP2UK0uLoGnj%Gc+_ zW=ZP6y7cCzk ~2GqU{( zea?c4h*a7D<*le`Q_BzbC`~P6IC11J7yL__$2v)IVWq0O%8|;Ez*%?-@QH~0P)}`Y z)B@spGREvg(_tO9PvoDxF%bo8nM=k# e1pe z?d-et*@~C!(c6VPe)tnTIUtqJS85Q>5z5n=)Ik=Lqgn4Sf(eAx{M&661a|e4+Sej$ zDxfg!Gc70jsBi~-)tpa`+n)&zR=Qlm5y5WWJclFdNhl)hcz0 !v4y%Y zDB-+Gi%mRvD`v0Lbv*9VHF>Zu(Gd`0l$$uPn1=IdwULx*pS-_Ie%t@5_g8fFQHceF zl~p=GEHjm6j=xtB%!3N8un@kx&DE_%6k*(m3@B>Mg4|48ElF9^IMMgTx;k+x0$Os9 zk$HGC0Pk`tITSdFfR|Ixc~$5xy|(?OE)ya7Jko+d9_;3*QWG$$gaGx1T=y0x30^d( zOkK~blr`;U(|a-s^vOT~o%*mkDtuQRo{R~QL|>fX42PRS xXx* zbqVqARHOJun&`G{4uRlSv2=w4%Ge~+LrdBXAWce6m4*CL#FGq1i8PBtr)TPTUAmL2 z#(0VyD>O0iV9?Z5KAj>_FUiQMDaeJqWvj9F$$+b$Sm uyQdkDW3$`pE~&ky%r)4z{=hY2^3bo}rfkkCdf$zE-| zE}k&5# w)hVCypN;+% zS^x8dg_G_!sI=Vl(rA@8p8Hah5^HV1^~+Bluo+HVM`xm0V=WtVD^LoB0#WRSgH4ec zv~!I)PiZ!s0Y+#b1`c`<5H8~R?H3vAGr*$E4(&F4Z;B5E^8hV`{N%JqcA47ucBjD9 zUJ&dK*zSifHM _Vxx`+&%YY!<(5 z&3v(|wHEB;5TP_UAh;MVycmneCkmw{)#}7NRr;?6OnEFYCnU0|r{7X}(U3uNSIl}u zzNue1NM^r$UOE!v@52bCJgaSp!xp5t<_o$W{*phyt %Tp~NK*;BiF4BA R>m;v*guaM8$?zY>#kqvEU zyfFUS7WC%tbv)PSQlMsaKNbgeI62TDQUE}*Zs2eL)}MRzPe>mSk9a)dp+cgtJ$#}0 z8;f=o<0m+WbW@8DHx&{E&J=R7S{Q0%95EvrKTz#&Ml){QU)O@Vsmjo5-Z@VU<-BYf zBsBCe`S13&lcLnd7Lew<&9BzEC#(by%nG{}(Zk<-kBCj;XXB_f?P%s75j2K^?Kk~V z*cYE3kqwWwPQaJs+DRkB!Kjvc4U7S0CtEfapKZ5F_|t1c&f=q*Vb>_(5C7GtXUPM` zrZ)WC2s!Lsw6()%;Jw)Nj#5UiFLUpqHpC^RH(UiKJ*}hw15=1ERjb+rJ>U#~FIz TO1l^jo+;jxtD2CCFFN>w~OYzT2aA{Ygp81DaR3-ZcAgOVP#X?c;Sw7 2Rnm0v3ubob=SD zUVVJ@!aBsaKc mNr$(``U&Jcfi%H zPe-8%c%pkr0pUKRP{N8)^gEo)$QD<=iR=t9gMUWmq$;Xye2H_WW$>GH-k(uYK)R`? zXBg1`O&1YD y@3G z$n&N)yZ{>{5We-tme;MMgL*%zrgqD8RtpV8M)vfZ?07h-T+j6@6xXqD(qGm5jA)>= zmyiejdal wPNkIw=X1uT`-^3*-)@0h8`ot-Cv|YlqwEghsnHrhaI7L4Ez0x~uOmmZWeohmn z^$ZPIVNc*@ Y`qy01dsSs=wwKr;>~}jwj8HNBFJdmff)g S8L4O+?+$>;OHD)Wt;7Y}4jWZ=4txVQKd}rRyL|DN zU5Hq5&Z%fkLjS|bW*;&ZOius)ap4h} wz_+RVd?k&~WFtyZEK`@T&n9}5KT^wb?KkCahsV2qHuC^wT@kbV)* z|EmY@yV8@Z9BLoQ!igo@X6t?S&?`d?jZf>FL3dNLGgkYZA~`>a3E^3G 7SZ5RXQCYm! ziXpq;!NU0G8G3!ABZ73Svn9`eWe@_mskVgH>LK$`d`U$nzB0K_b;ND%cu_y+C-sw* z#p=*m!WG;?7h3e3`#{O$-EEX!)^z0sU${GoBFqcMzkBD%VXW`Tqa8NS_WKnf#}7h$ zA1?ay+x(h6herGU27QW&K?9ks{AR#{-&%f5$?53pULU6hGFo~u;0Dpdxv~K>dF{Gk zR_nfD=FVMnfs442KMWqCaJsQ0nr?+LKre8Qn#~YsdBsGceRgwL0;#BcF9_FJ%u)1O zW)kpV5O#k0pUwU}JdNsiCk;VI(06_!D6~<{qSqa?9W9;|yBFdUgzy(rFK#GBg?3o9 z?B&7}L{7zlv3o nN=`V>Iw>%0Fep-~5&W(t^uEXl*XOS2okJsn%-J z*Zpvj3ItOjFk>?Qyo_qbCd#ImzG{r_i2KiA5*O&QsbAgZzOO1b3uX7$NG7!h4PY?K z7o+S610w(w0b~@XdeTe2*9qB31D+G|0ep@N@iHy9fh>st6r9g|Ki1oAEu+hSMLwWt zj7Nu7f~nN(;xc2RDGaca_opcnBW5MKqV$|MB20T?WPb1{3EVubQjS;wI)@$C@y4|) zmDha>8&Uh9Hfu*9dmadiR7jCK_r7V&yRcq7>HJyiJN*P{#UuZ-Mx`+1lDdxz!j2U4 zKcYCBG^ovtOvlH*G|6AV;eyh07Dv0YVA{yZD`1Q3Vez4m!j&D$>|lpT?8jp8)zX^8 z8QQZ|0&=kLxAp-(qIu?{oKeEmi-E~V&2^bGHr=r ~UR_dAa7)g0x2B$i0H$AL0_CjmB7fT2n^>q_Vg`iR**;b$V;>l~ow zp0d*Qk*Y8oh!a2oLM_B{B*<}4QeF_gL1!e;g!7kjBuJxRuz~BXF?}TQo~z(>-q@WDx?#yVRt zn~G)&KY8$ZEU 1c9*H z3rc!5C}iO7rVRl-{8?tPQRsWif*X#$ii$R#Z-U>Zn2qt472Q7c2??_qajF951S&hb zl|2bMcVram+Xam!e^lmYii~eM=8s Dw(n(s5{T0vHqna{VcNLI==o%HopL z*5>^=BeLzl|1f}p(5kko$ry)Skfd^nti8*n$^le_lUo!;c<~o49R+O#50`DnlZypC zr&&>#t4t);HWQWlOB4*7ul|Xxf}Hu7y~))=NznTTcoG@ n zntEE3K0)mGpcR8nti8E`|6tWy?U^ky*5D %Glnh-vG!Xthv>8d4KQ@Dx{> zz7&xU#L+OH8SEN3qmNjbr&Ik5K$bA&0IBTp{?xfltX6nV;SP* `fc_nB z7L&N9i%;T7!-tN{3r7g8^Fn1;f{=^*I%U?|O!iZCpJH?DcwpjDh$0{QNhTX&MO4fD zPA#uL)D+rNCWC@u&GHE0=Y=!8VS$`m%PRpG3Mv2TB!t+7_>g;Z&ycQpfVAbn=P+_R zLo?YrW>E&ngD^8&E=lgQgYcx$3^DDC0ht4xFWP;LGf%76cxdNCXx(uCt>IqQUR7Lb zMnEEH%aH~D<$4FO3l$*uL Ec z5XuqIW@4~uFP;Uao2NL5i8HSLDL{L{QsAG6 zZ=(4^J8>6 K%Z%l8&8>eGundPFPo`6l9a eFibTLp_mc})&Az}0>U!v95GbU;8gN@ zYXBA=;94sPXxKl)r9PHi`R4a5bLM!XTk7qB+{MbfStCR}r_l}Iir~7yRpk;sdE3%V zoU@$ce-NGwOg{P8g+!2hW-IiwE=MHy2KY@%NiWQ@pRecGmIE1@Ou@f2B$x3$8r>-; z`t473B;zIHW_X(~>9U-dpOGaFILM;0qk?{avsvr@2Q9-(Bsws7SX}WWS;Gu2xwI$( zJk;!qQg4|+t* oo9+|Fjfd z7-R!lo>SD3^J_s`%+Jo)#Jqcui~iMpJ1@{Ve+V^YXEg=$0WlFkquxaBe&y2Acd(hD z8MI