From 6330d2bd120f3d4b303bf7c563719b1186212598 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com> Date: Fri, 17 May 2019 15:18:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B4=AF=E5=8A=A0=E5=99=A8=E4=B8=8E=E5=B9=BF?= =?UTF-8?q?=E6=92=AD=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 +-- notes/Spark累加器与广播变量.md | 104 +++++++++++++++++++++++++ pictures/spark-累加器1.png | Bin 0 -> 6835 bytes pictures/spark-累加器2.png | Bin 0 -> 11424 bytes pictures/spark-累加器方法.png | Bin 0 -> 30153 bytes pictures/spark-集群模式.png | Bin 0 -> 22912 bytes 6 files changed, 109 insertions(+), 5 deletions(-) create mode 100644 notes/Spark累加器与广播变量.md create mode 100644 pictures/spark-累加器1.png create mode 100644 pictures/spark-累加器2.png create mode 100644 pictures/spark-累加器方法.png create mode 100644 pictures/spark-集群模式.png diff --git a/README.md b/README.md index 68f68ca..eaecb01 100644 --- a/README.md +++ b/README.md @@ -74,11 +74,11 @@ 1. Spark简介 2. [Spark单机版本环境搭建](https://github.com/heibaiying/BigData-Notes/blob/master/notes/installation/Spark%E5%8D%95%E6%9C%BA%E7%89%88%E6%9C%AC%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA.md) -3. 弹性式数据集RDD -4. Spark命令行的基本使用 -5. RDD常用算子之——Transformation Action -6. RDD常用算子之——Action -7. Spark广播变量与累加器 +3. Spark命令行的基本使用 +4. [弹性式数据集RDD](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Spark-RDD.md) +5. [RDD常用算子详解](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Spark-Transformation和Action.md) +6. Spark运行模式 +7. [Spark累加器与广播变量](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Spark累加器与广播变量.md) **Spark SQL :** diff --git a/notes/Spark累加器与广播变量.md b/notes/Spark累加器与广播变量.md new file mode 100644 index 0000000..e07094b --- /dev/null +++ b/notes/Spark累加器与广播变量.md @@ -0,0 +1,104 @@ +# Spark 累加器与广播变量 + + +## 一、简介 + +在Spark中,提供了两种类型的共享变量:累加器(accumulator)与广播变量(broadcast variable)。 + ++ 累加器:用来对信息进行聚合,主要用于累计计数等场景; ++ 广播变量:主要用于在节点间高效分发大对象。 + +## 二、累加器 + +这里先看一个具体的场景,对于正常的累计求和,如果在集群模式中使用下面的代码进行计算,会发现执行结果并非预期: + +```scala +var counter = 0 +val data = Array(1, 2, 3, 4, 5) +sc.parallelize(data).foreach(x => counter += x) + println(counter) +``` + +counter最后的结果是0,导致这个问题的主要原因是闭包。 + +
qN3P_jOz zeaY4bTX>d4p}JPY5+HWLZ1BQxLT||L;vjA*V_nVt7Ndzy{vZvB9#e_b_y~C3gQmep zl;-aZU*8ql9=0~f^B)S{Y$mZfewr>|m62Q1z86OJlkEwz9y8Am@^1L}{_g4^(|~0a z!Pg(trF#CjI+Vgf_7VhBV~Z*!a^G^4*4A8tV%6B1v5EwSpe_{^X^?;KzlY3`f`&8h z(r1VPbo|2gsL}1W26$l2q?rYl@AQe*8Q_-D;@Tz#q-8SFl#Nvtma6NHbP`B~ z$4@EyeELG)j>3i=(_*Y_8Ji2
B8*ieq;8 z8E9NLHSoXn-QiqVWxTUW(QdtF*@t+=<2JAF{D&*j{Q}!`aWeQz#``h&ME&Hn;Wn=q zGP34m4DDNL(+!QE)8tNz&VAj}h>KzIWg!@(a|LNUYO7gL9#4{+st4P=*^#w!`i_5H zki$frYU=h0r@`$ej)#R3jUC5UcfXaI$Y9zJ7{)J39r=@0Sqc<19Yp&Og%`+$lxd*S z2;Hr7ljD*As@POsD3Y(dAoymW-coD|bd9cvqqy;R1|1KtS7b-2w8w_Pk(^b85x *7QqlOxK0de554{ >Vu!r8pNAQ;Cn$2#y56DPmQ(2?*u~3 zk=j+_htrognfV(t6W&MvO_ny*W|OOVTKHPU{!}Ghn{!JXI~g&PZA`J_ic<(Ela^KC zE-T^@#ZkE@?DY9nbaAusV#{P}*Tyx-*%n;XBg^>V9m744wVJAiLf#(;FB)7^?+kKC zz+hymfn1-pX(QMff(5ITZ7Yt$o@nGtS)Odl?=0tI8sZCwHS`}gRy4G>MClXl<9;%a zDlF4$kuR0+?^2HGfW!_&)7>VX$Cd(TVYvP~I_I0V1VHbVB64^8Z+ImEZRX$U7xvw_ zPkZ}RpN=gr_Z4BmS48Q2m*UC %6E%;(>UVoKbR3$17iffD>uL8)_VL&Q zjn|jP`?bFjEyqDl1igBFzNsEuXi1Qn0s)_NB3&2xiylUL668=?4|%O6hheF_W41nX zHahCreKx$-UPAT_{KKEx$|97|Hu<*9WkSy0#jfMgJze|1iGBO*@L&>jd9&5IZHN$O zTPlA4de(kdigm+sx8)>aAmEv|Ts=?dY*lh^UsX7H{vMd4%T{_kf)rmUgRmt&FkfM8 zgP#j!f4x|}aW~}pAwnRIEbu+>l-a|l*@)W|hA(5C4cuzG-)tKc#SGMkBPU;!il*YK z1g(r@hYqqXs8;{8>gAG;G ;AdYI>M_ z*T(~P7nG!waZ_jR8shUT8fM39zepkN(tzXY>fj+SQ=peb>Bq%DvFq-m9MbeZpY!Go zN|v`Uqd4f%Oh@_R^lgse?~`sOi#jYEt7)M-qh--o?I#t;TDQ03z2Abi6&)Elpp2Yt zD$F58pFaCY<@{1eeyT!pvHem=&R+^CkeBq&3ORPFKwg5nV2Y;JC*8ye(yD=WU;$me zHGV`7fkH| kRn0}XagXehj31sseHlIkQBw=H{t zXia8pI*#5hxz8h-kIo^Chk{3TLj$jwc-9!Y1-lP?Ga_@W7H!6FOoG8taX@_Gv)e)X zy)?J77NyT*i53>1Fzs)_#Ja>4I8=ACQ-YADDgXc-b9SZ1MAR;`A4bJu3>_GKPl7iv zeD)2pDvIJbeaBs~8~gfNbkGq;J-`opuGN$5l@~GD`?;`N@+ C4 zYdKCpuqoYEm{~#CIYo}d=c?df!`Iu|4<&v^Sd;Am;gZA4&D}SBlzUKRl@mo_ospbn z{E$6Np-IO@FoFdG`lTRMqgyc?9h??AYlwKiQ6LF^?c!W>H!9;NO1U72x;}5czV|Lb zJ#*|dd(L%J6{WqJ=y2jY-G_m72|fk}EcsmU>=;l}!0my-wAEeTsHm&&L=B~N;XOzs zBg9TLScUcaccZWVCE{6-_h kW&G0->o }o>%T~7$S`Qb93GWrsMWfKpto#|=o5Xrdt{M@yfX)44+`XcZFrC2;7jPo< zx=F(0L36t%>K#^0**?#>TPfq8Y;Y6+Kl#Xy@a1_U@#@Hpyi=Rn4&-Wn`i#&=#Yy-M zhNWd 7ng%*GVzwA~shOm1a#`s?G#gbSA9u z@lo6B`;^+ZR~%9ZUBo@N^T+q879nUfTO4`I!P=7qN=EulP>1dl@#_5 ^`#4Q 7@RZ>446UWPn7jD?;3 zo3D|bL+VL-hS+Q9qWXsz?*Aoq`+sr?#(#W>$(^7m9W%N*;(}rDu}kTtuXrY|LCRM} zBK7Escna=c^GF@Tz1#!KzHuCCggvwezI|aa2dYYB1NdadCB7I>X<1P!6f+<9{dNS7 zLyP_j|F*DZR}xCcWTx+$KP7VAW~Hq+*y)IGowWcMs<+7|D%$_cNOYJpSLNaWr%j`L zn!^x{9G7>f?jCQhhrdu2L5gX9hc89*AQ0cXV-1;K|1u2xcz+5;G>)={h;(1Nqe{jV z1(?h gws &P(Bf6B+@*;sS?uF&3E%U! zE<<1&U p2!C@yqj+`c^NZMbng|VE1H1@qMn-VKHWzh~=Z@m%F8FR-5&l z %8ROL%e<*FTMVIGGAVI@>Rjg& z6FWE-_ZBX9-I9f1Nq0qx6F*j`)Lk9b(^AiqKl8OEszmpF-=rdf7IN98cyQOsCI2Wz zS!#YEcx&9(m4r4U3mRcT=)>D0X-Z!#=e*>Wvg(FFa^&!jU=zwZYT^U1OgM6c6z;&s zQQG)jd94j84yupQ!xSbSRbB_J9}9n?7;YTaypPfEfw3&% @+=+sc-V)SC(k=G7cvKcs37Qg9Vj;4Hf&a|Vr^YyARP2QAyrVzlkGxVu{Z!WLW zz=$=)Oj)i+YvN~4c#}H8XdrzG@i4$}=%DuMZ}ujLXET8V;00Xy`N>Z#`8jLS72k4> zE&0lqA6p%hTlCtiEZY{3OFc <{YkZm5q0E?G(>~$;LDc*A^ENciZloJw z6bI!u)s?Y!umbTaO6r+SgUmy=PBN_%hHo!;)HQEA>DpGJfzIjFjfV-%zC&MwC?=9= zu-Bb9VTXmzUXSR?qxpR8j=?C2BMk{@CCV@3koUq-2@JOIhyYKN&DUVZmBBBG9QKIT zD`YA4!x%{Syz4@_Pt^xvLs(4OC+x98R>+TVewE=)7sj|GG8yAkp1FPpMxj&854vO^ zyBYL#S7l#Ru&D^zsd(qaRX8xl$DY`VojpIn*8YPRn`T?mmzRAuU6W}nxS* 6s2Dw|M3huq8*SdLg@v8%I*V8awdGI4z5_tNV%0ITvzW24w=|xJa i~fG46U zcG~77lqu#Y6M=}S-ef5~Te6g3TJP~lThm0KNA86hzd--Cw0TEZx=M?bYJo{4h0*jI zcFQ3(e=u&WF;OpnN#=2J3}K)ri`o_3!8a_jMYj1nDK$cgdr7Y+CnOb{Y!YGsUnM+C zH0b#LT!Y`BSPo~}KpqX(ffkKVBLbo-e~|kh4GVByOi}(Ike!OJksZJuRZ4;SkBc6@ zsPDnu%6AE#>#9YUepu7!#-&`rMQV{aW($MofKXzQN*#4YCxhtvjFg=prWFvhnlxS? zrSLDWM`g!HUsf}T7(@5&Pp)UrgZ^?G?*-pDPJnmTnF@U#J%d21k`O^!CmgZ ZFSYhD9@Xy1V~JsL3_qw7Gct$ zC9GnK*ZD@+Erxq0FxfqYto z=c5-MCiP$$KIazNGkd{A zCw1LC-e&PV7>a9wJ$m>ls?c$1SjKWK?@u2jLiy!`0-iV~Ca-nmKB9RfyZbtVUkbX{ za0`KwRzb{fEv(fRj-|$r2|^%06{xB!bX#kBy6+nIxyQ@kb&(TQ2x#CCDHHZG6B(tj zUzfAc#*UI6pS|$+;Q3(yJan*6*uzHGw7O9CDFM`lP8QMi7B12xd9`;@ujQzLkMK;c z1J1LN7%Bjj+6_V*{bG}V?h_<9-ZP6hL4w&Ih$u18-}zq|kvbz4|D5{#Bk+s2`V;uo z`Qv^60)EZ^0Q~YVTc=Y7u=dtFFJ)%U+w}9rc%q+E(e@f2{i8RF{tKTorK_ipxK7w! zIyH0gfGBqjOSPOmhb#D|e!h+MZPK0XuOYi+^)IplfO3C<0#t`zlct}ANcjM`h9q3} zbeXuYDn4}oH72xfUI`IpP9|N9lCgSFxAh<+$K$F?lp%FQ`}v?w!fez8b-Hi*ZM74t zuJ_{BgqD^76y}D{{NQ-rhTkERA6nT;=`K^D#6reKLc-<9c3FrIvfE~QYaI`*bAVzs z#{uVaPYB)As6Jc8E|zM frE{v!vaGF-9dUo`y&$btqkBn!a7xRo zs_U+%CV{3oiqL~y5h%}Gs}S}S%azYutx$Qyiv&5OcKyNoU{`@4Hu@(dCl Veq*C{}3_I*yBhoK?H$>0pIgl)lIrq}l?1+^`uVYtUT zxkxW6zxyQbo?uCZfpseGA K6LSlB6W?xME*EsO6&&gxy&3 9QHBP$7|vciOGQP+pmST( zn2PF@Bk;b6mInB1IWIg4yqs~rZQ(^l#n?glJ&^)p bNb#NtK(l%q)~f?3)k~;HR_|7A{B4 c*4^UFs>0 zh!YOAH~oiL>lY^%Ae_eS*X57AadEU`sNjv~liee#qkO>8O%d(vd2dFUW=BNc5|;CW zs8AE?4S03;gTtiR?~L !eLO-XELuh}&8Cl=qu$N)U~HpO zoab_yDR;4_TV X=@5xVR*#xB|ZLiZMV W6dUEOAE?r7;tm}y?+s!`A$89O$D;nvuXF)?9(#7|#_?(lY^!IjTLml}i_s9*Ga4@2|hb;`%W9^+~m zK=*BHH+wiNi>G4-dBv|P?9Ka|uLZFdt#^>U`I1HqRq5gaRvLKv=LGAG9$9J-%Hve| z?-oxT%^r7({+vS@ae?l0m%BVd zq^2&tW<4ar<{U5;RihQCFVj3MFAzCMc^!TOSMQQg9Y-)nJ^OO5FiyaxlOHdiZx0@> z{^|p}Ort5D5*GrF7O*jkzkA?+Z~liI$r0;!ErfddeOy5ocHBszCyRjN_c@Qhb6-_^ z@}O-mCna{&=+a{gFk~aat EaqdUi>r 7%^R3`#VJ7Bh_D4_F%x301EL+D1) zf>=I?KwmE**}<1TuCcb%7ej5_#H^s(KNO@E1uR!+eqXrSOQE9B6EqPoe(;B-JP1@e z(xzn{FaB`*QBZ`m>{|Kk%QKF6I@-p(r?p)il1pBvx@@BzQC~WU%-R80y{iKVx_h~> z&M6M~5qj*ee$G0hFp(*Hr+1yyoTY_QEuJZiS;-FObBye(0m-Qv^@%i-j0HElW3yTm zm$bOLS>2@dS!>p-ttU*Cer*kcT$j`gDa$(0xHwiOKQX}444f w$GuAl> zx#lEgP^a7}8`x0?$LgNw(E<0wYlE~x-y#9=HompJ$JjvnU~aVp@mlHH5n;^gRk&Y( z>NUn9IwmJv i4`((8!UQ!oGJ{>| r4wtDjpviXA0gBv=E zpU3C~ulUy|V06lDU}vdygQ2{Y$VX2dI3$%g`6r`((@B2X=H i?WMj9p{nM5O2&Xj>aUI?LVf7*# ze4a&Ju3m{9T>b8$0cPBWDo{RWrQi1{fPlMaJ!~!W_3PI?ZuWOwg$8VSw9V8sLozP$ z6aXPT{wIDcd+HFpjFBOYt4N6YEp&|cubAgbU(vet4Px_~0zUg@C%!KvOu22(xKJQy z2IQ7(bZhwi!lqh>WQ*tb9sD>{pu{eVD;wdL$&Xi#Je=z+;ulJak# z1bzG}|Cy0rDIEWXBaDl3y#{%OW%V@!>gpH=w-=SN&D82b5UeZRb82O`S(6{6Zl-H1 zIxI ~fUY!PRo=LT}o(rJ!gxeZUL3e{=HJtCH z5MWeHHfr+>OIY2iO+IsbB_DTx`9NHv`))-=>eD~KL0A-;Ugw5EZd63ln%!-X;B74Z z{WS9XMX 8W3Wbej(ByL*I~?=Oi)s^lyM&L%&$QuaC4 G3Jo$D)pM&gH3YKvdmpi BcK?s#vYa{ZX>iJcuU#5Gs zFJ1mo3u2@OgE41TE_-Pwj;gtMg&Lin(T@!9D7XNPm}X<2Px!vd=evvQJSqBsHd|;3 zt(r$!Dv;$`Ber0Hu&C9$dV;m88tI(ZP2E~Ui|}dq-6toP=%+>0&%0ig{V^X#7Tad3 zy8pg?XOY9SL1QqG1yT|_7Xy6j`|+Fq%gy}CF5Ap6ts9h8%`-5WEpzv;6^I5|;?D ze-8zHQYWmrUGS 9}6#IAjNrUW 09P2-??w(i?hgx3 z` B2X3t%dpd6MMZ-&pTAGRBJfxX$ z=IB1*GsZR+n(yQUQ9;vi73j$2&&bJne)@m3oWHL3Hqkynj>@QbW3wx6d|N G`o@4xj`%a?Ksx$dNAn4A7)paON8%&?$=)A`@7<()q^Wt>uFVN_jncXQ zt^}wy(muY#sKE7J%8YpRDzM}K_+tN|Cscw6Fy&N;>`*EUkQ4DdJ;FOKC|K;MTCfl< zjt1zhgr93Nb>9j4_UBipE`LQwS?#QClh@7F22}2mbQq?8{T{(6^CP aFop zlAu(WAIioM9@KgcG}NXX)c5MuaulE{Mz3FO{Z7x4siEg@GjSrS`hxwT&!ixTonNjy zk|s2r{zVlE%9je;Bps`TJ#Gd-Ec8lVbW~qi?D06y7aja40BXi}dEaB>MdeT~4c(c0 zwat31Bz5f8=a=W}XEC>zzuh`GvC=v6vuIoDZXh9%ATcF*p0F!CYRsEAK}QYV$^V>} zTyZDp41a8ps>!qah|KQa;$)N~$#G%%X}0#&b!wf3%4GO5%ReE*-@|Oy0h_vRBZ@z} zvI!sWsiQKlIt=h1&N50MM~Vn_k3|NnWhq~owdL ^n^^C!W!IW_V6(4R&gR4s z?q}p?l$w*c(_qxC u-SNy$(2MT1;;-$+#Yp`X2^X)(P7!SX zFX}6kEb2*De-DljZ%x=mxW?Lyz5^)HB` +~xw*#fC{g_d zq+rO6aDv37b>|S8s(`_Ez`9z7UR(u)UfLeUs8bc^Te4lNw9(gT?xY93ra#s7=ta(B zhmc|Z&s%D~S0R1QES6PZgFa_A$zh^d%XcN^_G$ygkEgv96dN(Yi#rwXsz@}t^uT#- zr+(Yn6{1uI?%TY_=1EuZK}`$xRA`DO8y#TQb`jvCAcu=^gl~)cNxtqX6?U6Q2}U(} zzH*Pc8*0+BstqaVkJSWaDH!l%ks<~sUY+1v6^RZJa^OoKNpL+Z2Y{$?`r}{6K=h5I z|6wBDTik7i_tgm&-S-a2`1x<+V++Zu)+zpSv9OB06qH-f!B_tWx^7FG6ll`itxb+# zTrnF9Ztx|<5JV@e>&TsrLtvyA@C0GH#KCEs6@?}t@`#}&ZzWXN lbb=jUTD)r2MV^ozMriUwvHocbxZXjwcG1>Zqn_SMcwIkOC{UO^zY3RIw9$p z3?c(+dJ*>s6mkq(4Iy2C7!?c47(c}pY{zaHITz~y>L}_u7cWjeIh3FV3|8)a$vqbF ztK9U`()6#{_{!IY+gjz-)BV3FozqsImJQ3W6YeogE$uyEXZ8e-+s0nK-;btw-Fm*S z7rck(d%a`7Y`=SyCaMUvAf+zB>NA;aG~01wh9e7R6XcDCo*D~VHwNRZ@}zIKZUn`G|(xI;X7C+!l#QVp{W9#$yCCLwAAZxRL% zz;}X7wYxC-t9Gp~a{KC6Nb=Tsr(v* x6H#dCZ-o ~xo(XZT&opD(~=?k?&}VTtj8JbtyTgr?i@&yjThwC;3t zVPAWN*63mT9-B)7fP+6~s*3;iy~r5llOeCj<9_tOuAgg7ns$NZ2fH{s;lNBWzs$r` z;@&ByrJ(gZ2gM)!KxNM&mo4C69v_2^nnjz8VM6R(|L5`+vfh^f&Uw50)26?7rW)9E z{>1!_R9bt%=_Rm6(iZ*xtrdlxd*VDO1$qRi%K8@%4-p@_y?Tw5eOKEgZS)m?Y?k%i z@i4 r{@i?|WR-;An))UM23tlCBhhC50 zo6CtfOtwN4!u_eWcXCF2Eq3q)Bb)JnJ(d=bCp32X?H&oYm%qDHB?y}o5qKBa@t20I z<|D=*WB4o#y8{tpzH@GOX58Ug&q3S3@{#9$4d3lnPxoMqQqG(2R$S%-@mP7k?E{a^ zE*&G{S(eNNjnJEV5jQyMf&!s1?~P3e?e0DV`NLny*zIaNqX2-@mM3Z?ybV?xMPO1~ zj_OX9fh@rx&{n!{R`qDrk`&xghla?}8>R|kZAylkW0af$SBida@~fJ?o*0MQIUQEc zxhveV*YUMOk;YBdD$zUg1HA9OGdHr2u1WGz?f4V=gk8~ine0Fx_P%T6VWn+ryd`LTDWrxb(uqKEd z91#ucVDHyJU(|Ga5!;8lNOM>&ob*aQ9W8ZrsHk`guj3TAs?m(PvZELzRyv9t-T{39 zm+asJ97s{}>07^*GF~!V5-*;_LLJB5=(eRwZD^~fGagGl@8}lqcvg?Rk}m~cP5k;{ zm)N}-zX5~2tmIaI`peTTJ1mZn6cmt8sL37M!6VAVP_W2xXIz#2ZiaRIi_jr`+NZ%8 zF KJK%OmY%IBP3TceS1iZNGb;DTX-G zyVjE V zU~ovmjVO?`_UT#<#~C>cE-!MVqUTqugwR*+L2aD^-9eQTEt~OhC@j (yr5*l+R z0?%vI9quO+wrB+BeP;HVgnEi28m~#$f`n^#3wm)QqXOf3Rzon%PbAVCQ9BsNrkrjT zap+zAfn jgcDJ-)~IYtHt8Ga ONLAyXh~CYvZDK*r|HskcGj$aZ z%E=!Vo^8E=tVr3BnzaEO(BeWs6FcPwtKtt&eJ>}eYT%-)NOFg?`{+%kwoLhx6}gCa zz}Q0_{ULrz1ma@?-s0wOTP2Q5f# x;IZX2TN+ z)X&=%W|b$1MHdqg}+R8Pi}S6V9EqLoYXpP=UP975bn~^&g4VM0oP7= zrK-G-txL~PFfb1}*o-XNuUy#kQ44;vUz~rs1YFO9p4+W|>Y8lRjvTTa3_Q27kGDao z4DQ*pq-kUyHnV!tgMQ@?2FejgBH!(Co?Lnr6HIo=>>BLTjbzaG{r!w2^8CPGfRDMr zj&d7ZiQ$7DL^7XSQJqfIlku)IjqIsb7Zb7Yz(e(F&zZ&9j8(914 NNRvUMh%yvXjvV6y2JR5;Hwt)kT>A%45AdeH z35PdD%AL{jPGh%c#?%G$p|Fc2Xe!HD%gth%!fsBhj4b%|k4Uj?#AoQbpWj@Dtjl_n zPZpAwYGVh#iyqTF@@j?^_w1vAC?O-nQPM7a&!!JCOxQfasVpLt7RlWyoAvJqs!x-J zSg%I<;{Nhg?K<43eZTUD0zGE`4cN4b_v)3?B~@&}KjhIz54?&5T()vm9#2kjM9}p= z{o42|Bd+S|`a|+Q$A=5#9RjtA3$)7|-BlTYHPJ!Z=YcV#XJe=S(hUX_*LgcUql-2g z(wF(ZGOn=P`Pvmv)ABq(BQkYA+tQHl^guPP_x~lXyxyY#E57Z?BdcF*Q>H9cvtm5B zqMP&6jbc8iw0X=q!Y|{A&<{=I&xA^I^2b!zE@6{r6>@V8rcd-xlLrg}VVDFNsw9e7 z4;nz$11t7d|E5MQH{j|T@QSRNMb=h0#DAMH4R9ghN0tw3^r||FmAe9)5x(^t_Mt{s zPE9vJ%R0aa=sh*M`%F|S 5#4$1D$WX(GOQ?mO5-y&T%Yt;zuuql~jK`tvX653f>qQ%rteoU50& zga+ZD8q1%cvIJ5KuKl|Yv)IApci4PO7Ot4_E2)XWC3%d2KXod;KqMOY36YpC%SJT+ z*qI(V1gS^vXU*}_mV*KF1AB92;ZPmvVQ1^#v6XoJ+t$v`Nr3ACt*J75jGf}(1N_bU z|Es_8PqU=p%k|!{9U!s1D7UBzAu);cA&am!&H%C0Y??los-%t)E!18Fy)tm{gx=wW zKk?Vje@m3B+`L52Izx@nZZ0)}j#hqJEw;s1psaj}wVojWX;n=JuKE&16=B!H;mSO_ z+d+QyiQt+^_5l*SQyh2E5j7@)*8neZh!NreI`%^@s(L5z%BFuYN<@YVz5Ho^c$uex z@PV44w|))xcmW5DU7*}0_-%+zoJ81{%4Zir#`3E@45{V;Y_o3AOsOrWlXHiaPoufL zEuo`dv?)E2gTsMg=3(M;+zSItS|Da!m>nh)&)C6980CvhE8BhXnUAdDj^j*~Qb1(j zN-;y897P6bsMV^#E{XzH$g?+ 0hkZz )~)mV@LvP((QF!E}ImOWWU*Gf{Kb>lu`@uw_g&a z*^Dn+!hoD9EbSSGv^L$E9@lC=_pLF)Rf>Uu$>wiwfd-n65F`Zl*{+*%tjELH$i{=` zBkXKzd$N3%Y@cvM%EeyiW8O#zd25X!{Bb(6xL|<2fBS&9;(5MLQ?m&9r4S7e*Uz2U zs+#D&CM*AOn!r?bNw9k+?0J1 u_);8nU~|{u}M}{0B{yQ>8g4 z4O?#bT%o0U?}CjdG1=wxcMB{KR}r6hoV`K+&HR?p8i x zj6ArXoPUNTJxT|s>}-|~K8(+s$;Ad$Y{oQgSAK5p+-b%tzkWe!bBgU2kc?2wqfqyw zxc%$gvuPn`Z4_L@g)R{Kt4bb 7@I5hQ APwDz z17@sh xW zVc4S*Q^xD}JMfCrQ=jy&QiU&-GFVyWondqmf}=qO5OoTN?`rfC{kSPLdT|vn3~x!l zK2fB5`ex2gbr9whBc045TyCsmO+fY5Me@k|e9$5!zX)qpJM&`IqDnRfOq;Q2QL$hn z^fs6)wf+VP)Gw9`mMHEEkb8{HL6J+&Vh<0Ce;0kS#2#k`ivy)6qE{hr2z&Qz0>9oN zvAwTc**B8l#_qm7h&>QZ#SjWgy$%>RfApQXTO7X0L^ZHe{4gl+0e5O30)syx^3mqP zJZv9V;u*pX9xn`zsm$A12Oa $!-^C#d*9 X=!d^vc& z(W@Jg?rPmd^VslcBFKv&-eb$bCl!2eSBfig?Q7Z{eA=L2qcLo-&Sp?lw?1bvzCSAH z$E5 *|sgs2UPWWbX1*bkXvcZz#`E!+vcUcDd3E5){@nxMV)^@i|l z$Z>qNB^9x&&8ZREk`?}iri2&mM3l28t {p Zz=W{`U%v{t2A_FH(m8$;G_Kfw`&nPUKE##8-4r z6c$3sH1?kVN68W^)e@MJlKc>u-_km!7Vmied9i{R?TmzrB)i!+OcI?~VG5EZR$l19 zoOl~umnJ%4Bf<+eO?dZ{1;mRm#zoiBQImr|rjEWM?8yQVL-3<@;eaxe%<+q*#)*R7 zi+RDOBD`+~v#WJTX`Nts;wNj$J_vksRE>5<2Ss^HCpO;dy0qc%>6s+C&sNviZl4_N zv~e=2|McQR`i5O^GK+7zU0Iows8KDfD%)Y> ?G#E9nSmtFNev{;nYnep*b|qT7)ZwjdVSC>?^<5=S>%{Oi9oVXGM|$9 zX#^C?bg5q^T3rXWWoWr){ev^c-ES)G-w?A5t9dczvrS;;Q~arSy5YQ?Zz@+iF#z%p zn|)H1dN8@*T<=Vhq*U6B#=E5imnV@Ow}*7eV>^FW8~}9(AI=R1_FmGv#TC}>S6+|V z>P)KkbdzS8S8nk!Zapkm7+(ETOylNB__TLV2R43*Jy)?qlgeHu4AbcTY5Ge)c$ U*s|G ;gN% zccGS-FZw4(duQ;o77o4Y@=-%Ez-z|c8G$kVZ9fyFSb(rKvXeA{mo|Sl tv-kXbywcGf&DRgk}Jc!36MOo8JM|3ebY?%h`;qB>@k76 zA(vXYrXeyxCx=pA!~bqN8(@G!YFE3IxHIcQPG2v;^lT|OE4A@oYBPwes_1SRpF2f~ zFCu)EYFz 6rTMvQv`5{Be-TB`|TMuig0i1i-?>=R~fr1ak-~c(wi2QGd zipztspZ17WM%N$J9;AZuf7b_mJuR3F>;DpSnC_E}pe#wv(I)bq$FRF>n{B}AmoAcP zt0$GinHx_uH?etkq~j%`8viR-rbOV#@}_g(gT4GOS~pf4++r(HI&QJR^2|@`icIB4 z(>o6H zcmU9~a%mZQjxJi|kuJ;iEWvZUbx|{Iw-2)b8%#1{C -W>Sq*&}l(9 z(b9&W=v2{1^4HqJzKsyuwVKFhIV@9#LS*)~#FyE+ISw-Z+?>hX?33=a$2AE($i!og zb1nm+L!mgGc0tE0E_*YGGt8u#SF1V|l~-~8*i_zGalSJzWwMr5RQU+ctr5Okmy7s2 z4F+B-A_M6{{%{PZz<@Ou$eX`uN!{1tEAFZ3Za^J|vV;~NCGzu|^DcY2o^k-Y i8S)tfPyA5lWxPKGAbM;lkgc$_&9ImH zKvA1E_o^;sUw4wV3(Tdi|L~8ezbEnpQQQv*^cLm1$4o B{Qhud>{B4pTj()vHyzQ?G*+ zOXAzL2Q1FThb-(%Vs($FnromAI~J&v)kS&)7#Ir#l3PWT!;+5Y_J?; JdP9?V}JeRA>BT{N^<91%<&sdRU8D#(r}M}fIDm{erzqgB^prn#g(%s!4-QC?Y0z<<9QUVHsgmiaz2}lh}ch}I}A>FVC@B3c& z^Q`CDYpuQC_dSli|4=W-84ek)>o@1`{CvJwu!@p28ZrSg92^{)tc-*j9Nd$0*zxvr zMA+|>L^x8gKVCS<=sLr}p|?N&dJ@ZkP6&JOm5Zc~i@H6)#m&^o5>DOD%E8px#nKRO za2^hh6i!w`RKq=GuUT1vNE>o_L+7Ai<_T~9ZZ14^d5H3fC{fC8&r?^Q)Guw~Y4|K( zRj$!q8TB(VRz8m_k%-h;`lL%LDM}&AX&v0r-x`Dj`5B8(5?V#V)s<%i*8=~ zcUd-F`*uX)p&Xg^84FnrMa2!pjYXLs5YvZ>8h6I)lqRlDgf?%4Tp^>$cUzpqTdi?8K($DG@Ro{zth3`()kBJ7qyd{M_&0kT177Y8hm(OcoiB+Q1 zq8*QWEa0ci?SWvg`I%QmF(zweiNF05-s8(++rxbUk(U_~gD05m;oD0-7GH{ES_e2j z{@$SZCx8irH1zlSHau+7lXFBMpb6tq3uHc`yi>4L&^68N&h6cSb)SQ oszZ^1J$fz2+l~A79{z9hH|#Vr#nZVR(rZE4GRGlD5{y#! zb!=-$i 0Mp={c(6GYF+fNaLV_`8CWa89fzc7HW(KScs&fb(aP97Rb zHKpv?WY4TAICUUQmNfOtSj8ZQ9%eU8DBCl1D;ysc-k-83uC0ELQn+B|LC!^>*!Kh@ z7v_a6Kx)4oO3^8w97Fh~2Y(pexc2NAMW9#{>PCPo@j({#{J!P;(0IO2g=X=%B$can zPh}pcQYgzSR_#8LT*M25d%b6~2(Rd4&r$DqXGtlwDTuwp8axehncJ2+(Z>SrLbWfq z`oAjInCmjsQ_~P@vUr&8p-0kc>@Jk{QyPbgdf(_FevTmN^(@Y*Ux#a(f|!(vHnpSx zzMNYsMedjz8&Qi8QAMjMlQLMv#}g0fl&OvWdeiLfBfNF23JE)i_1}Hzio;46Zg-km zEvBx~B_VB-vB7%Q&&r0+_9neykk<(Ph5CE2f+4VJ {*XH&6 zjcPa(J)w|`en@k2z<%iWp;2t%Y>s98zBxH1r$metxtxjQC;Qg~(PNgofsqC4Uy(Ya z0r6uz{!81e tt4%TlA&dXGST>?#8?BHG^v(KUB z+7L xUIAd _XjCWXNQSCQG-Uhb O~>=e7DX5u-j%J^ zB=LjSHl4S3L@p;-1Q}Uauu_`J=)l!B$OJ`~9^xx4M9tDU0{v~n7`M-{;T9w4kv;SC zLq{jYkQLb9(S#ZH>JJ`+w?DI!pSlb~UvG%Hk=kWB4zgu|kLjIUVj>z5LW5fS{gf)j z>+=KZ^la!RrH(~s!_)y$ec~Kjc-Gw`vcd-kK*5-;VOuN`;^N-zN--XeVL; `7Ebq=DI*CykA@hG zMcUp~tT`U^Rb0-Ykt#>g(lL(T;~i+>_A+(EjT*MLD9y__ONp8JRe+5WKXr9NHqLdD z 9A!zP%i#QbfIJL#1^?>jMD7AGw9``BJ04?EL;Wj>M3=}ny2 zq!|3(GT&sb=*dzom`qG@=M0xYvaXlw8m=4dl@xW*%xd0(I@-%B?0Idj<%A7t5kTP! zUjuHT9->m+&-Be&A6Tvu2Znm|Fe?v^%mQ2L(jl)t-Vwhj{`$D;JPCB&xUBz$x+ju0 zA_kyQEHmBUhx=i^xij98ydCVs^0Yedtj$LH1D%>8A&t;J;_mF~+afbxGo*I2I6Q*5 zNg-2gb*Q$~+BhQyoteEhzNcXYc6ud?YWqEe9eiZ}=5`quLu?zkS{24g;xM^Hc+o(v zfKdcdYmOjZ_tH389 iyq)681pD-Kn#c0*0a%vrpFe~*usVXD6_NLmS9|i47Yk^`R{i13( zo~mRX7?3fo&WCf6 l(x0BQ14@D$rn3bM+97~xz{*RMNElS?;8QLn6@;?HAfxC zQG74&(1vu;%^S;lypyV{7o}QHTWy+1ntul=I%A}nrwHBB>JSiZZE+2JTUhC=iEH^R zalr4;Lo vJZfcY zS5KTAVry}Cgx#;8&F`6QF2_b4XkCRQJIV>;Lc}h$2079+`8mr%{2u9P>ieDX$!!8b ziQbZMISH#&+7$L~KZE9_)T d7IZbN`5RSL2hoD*4KG({-EU_qL{=jwkF@FATG%0y?vuzeM&h+xR8g$S* z@l97-ZLcSo0a;&;ghDFr_@kPyLjB|7gG(yS{R#G?9RRbyJ{q2X4ikq_p`ueMi*v}g z;+1uwM%^+mwWoeit*2;t^(8z-tc;T<VSUx_lBJ5>|;cw`){iw3%ZyWFkhKN%%y|FO< z1mUntxkYQmb-3-#K4tnE`kpkX?np!S>YSs^PBGYo#uk4NX{w3FrL0@ETw6C{2|wA9 z|RZPm2cRAzU!ZVESPH|%(U-pY>e z$1iS_*Hui=Ebm11oa^cM_#O=DN_04c{~_ GZAo`)7i^Kj8eofxQm#1}%3h;gPtr&-Mqs z9?V; ?UtQ=XwE|tJ1 0uV>$ay#X_xe9Iz> z^xla9IrQfphiDHE$91pL=5*igb-lLCwL9n^h>VZ#>KoEL;+PWNPqOH+lVbe#W8V3~ z{rprI8IJFL#O%DOSwfdt7l6R?DZZ9DX^?+IU~a#46PgXS{Z9~W_YXdv)O zYrlA6G~B={OD`
$i1hUrQi4+1Z8<=yMHJaC+J-FJ{PEsTK>`?v~6Fsy#0an7G zMKrMdYHN?b_0s{IP`sDRxvRsKhKR93jq3i=+ivjP>)m{58xgsBbksM4MFzyBB>ELB z&QTg9jSbg^T{c{ FA?Y^*gO2#cAD3j#! z6)hZuL=*d5Nf|%4^b>Z1#jp}VV@zGj`u^xEONp)RjB2+2PX}-3Bvw<*CHB`e*S2U$ z+>l;ld`d(}H4Ac5MzXJ&R4WNv3#cW`@289p0t~Z^f6b2enwuYTrya?hr55JbiXAim zWCzF?0Jo`{tm4VamPzsJxjszXS}+vAHc3wt6GDHz7cVSyZL9RuCB-t`nL%A=Y8m6# z307 m;goydwX(*LXOL0$aoH;3W z#-;|T;YPGfEJyK>bc&;IqeoZLxe>sFTR`f16Yi}@Z;jk8Q8o1yC)K>CX{Qf 0dBO?=(NTwkXED*j27VOmOd-H?yHh&RRa8v#r$vMI71 zdU({`{v+pQ{Apjo>`(nlNd|5Gu5cf^1}6%?@Qh)t8$Aao?gmYT!>Q*aaVx!_L7S}W z^3&+JZ%6;!!N|hNSnAnIn^#pH+FhvoMy-9JjQza9gihGpIP3GBx8>f-qTpp4)0>Z@ zL!Fj{R>DgqKY0#ZB@^Cgc;~(+5$L@tSZOP?zc>LXwsM|}7Wb)z|70oj+4;I=KYFvC z+=%UaW#FPwiQ2xdkywhN0-VXYHY`1iy{fMN7|N=cDEw;VYLR=TnyHaNmaDoZxMjjl zn4_n=lO$0#9P4U?UoF(Kx%PH0vwoNNq9JTMr71qwewsYJK4b^NO8o6(6d=m2tzR`+ z*Kt-hn&S12w6W7&McWg(YR->kT}dHD@lB|g(%+#Kko1fVOu7(n7||WKDAJzeK;OIG z_NE!;by4BE4|@k7HBbZ_D<6%SOA7vC$?5O3RK_2w!JUzd{^1pvB$T+G<3&+8kfoVh zifQp(;9Vq1w5R4Jub%m#(L|9hsNY~P3F1+1l~unIx-G+#57{i`QxF=w!PO26P6TW2 zxzQjxsBgx;H?fI}`Dh(3;--qPleFIB=NbE*!IU<0>ste1JcVlCNSxgJ+f6 dONHN K}TPqoe@?O^<++$%!8p(W~gIMmKLK(1G)%cGd9al}h=S68V)`t?X@h@1aM z-(6HcHS^6P#$IIhWQ4_&BH 8ypG{4frZiBM9KZS! yj^%S~&2>Xbj7<@P^LHnr{lt{0t|`-^pVC%&Nz^GkfQ< zb&V?E`mTAWOKZC?MdErZJ7O)n#beBUxD%1 > zQBN0lu@dE}ZpO1cRgAS?;6i%3#c9Aa4#O*rJf^m*rKF1muv|E)(2jtXt}R@gi)g^) zs!_$=Yywt}=HBQE#c`Xe?T~wzPUx+@c{c{c9J>F051ghRp#HAJj6n=a*)aQlUcM3N z5*0CIXd#Fluf3dmC84iH$T8g$5$#bMK$J?!`##b%Tp!FxavebT>Uc6}JcEp$&J$2A z{DfAGUj(7^z4rW0ew}9Byd{5P!_u4G=FA`*!dKp`iTk*$5=B #z9bIvD5v(;gb zCh(v5?-^_9hfLD8&AD;VkNfUjxl{f&bB;LG;sbjHyS>b0Q(8-B7#r@p|D^_Xg1TzV z-m^mT!GT^y#Fu)Ga^dQ<%lZue$bz>0bZR&^$Lv?jw3AOv;4ENoflrA$<}nFIwHNGk zJmuC2n{?VVVt?hoxiY17$?K67X&ui$Ho$BVlX?qUyXgsxO5)~sl2LtEpxWB1O6msm zvo<)sKJU`VRQxRhQ_<`W(9WDaiX7!TVtq@X hokpW}`?9e$qvy8a)7cqyY)js$x6)OH!wibl9e13}73f zOa#ulIaBv{Qf%Tas955nfK_U&@;<$A!)W6WJ_6eEU!yKrVLNLh1}-r_>fL3gG!wdF zZ&Ek?nL#%7U0wR6N9erQbIzYRF%qLbEJdl&*6;(}R)E`d^=092 PP5Vl9aKYG zo -x=f81SRl-3QdMQluBa0W z*!O2#Dv~F~T|9QpPLkTydU_eKwU`^50+L~lb~)fOhyH^f>?ESptYq=AzkG;q3H!A+ z2yZ6RNz35s473YxY7#W^DGN!jKew8qWB_xRWj;GdYwW7dzfgti9`T$zK*wqm#1-Hk zo2KZlAVA=Q`N0x=YHA91!b#c%f2hh=KW96BWgfK>;#AY=a&>;#X*aLZ&?(x!r}H7L zk@g}aa8+*WIhPgoS6yIsFaB#3frGAZz0NNPc~ W^)CLwMMAGX#wBh zlhdOA gNg Lj!rdD&J z`Y1)`h)o2s0q8Cv#JxhqO%r Om-dsAW>DS;VHMrcwk>gHzOR zOYJ-_QIxbi!Q8r@m+~RgaIVEkRoC~c=o6@{IY!5|RzGdVM RGDgt>g%xi7Yi zOBq%v%XN?Nz*i!;wGg9j9k0Rf)%VHIH4aNzyA_PHMg1}~4|hx%9Mvke@4IYgnK`Eh zqMN6>-5n3(1X5DsKDXJ7)pZB$+1N$o*0+-nkX)JHPNBBV@1qh9BBJFrz&068#rOET z`9Q{_8$-p~8X|;DIH7#_ZT57Dq7+?k;g!&vS#?6CPS3=3zU_okFGTz;CGWw#lU0>8 zHeZpv*HT->JrM&yjAyU6CXMZlct$7j;6gnHQYQHT>I-fJqp>_3=ezIq@B!;FnR}zX zsyh3PyZhCPvoI&$dLQ1tq<9A1`3pB!;f7$iNs%hqXI)v;N=&W_YB y|2^5;!(-V@1a?kVqm(CI%GYa4B#2{og?>HVCNv`!|uw@+_gjuN-RaZVL7 zy{O&Ed_NE%GPfd1dj~S8jod&OB=A}_(*C$DIuVqAQJI|*LC?|jh)0u@3g#r=8W`8N zq(f&=S$h_9F8X-f= *Hk%V5;AROkT)6Kn=*z^1f_Z>%sPRw|anT zt(z;hIX6WQB^T;#z@DC-ZRbIDHCMB&psf!`@Ftn-e9E{$co^m&SGI0b2u;;$8_l#i ze3LJ`_BS}9LqWHY#5IfP^qMSY0#0JDKUp*qQZ}O$P4RC3B}uAxFn4xLA~Cv3QZAW` z5ah7zeNW#9-;c>?gcnw8fat7g?ejhIhuM#2#*wAkUFCaF%l8Imen|5??im76muJ`_ zLR#$z4`RI_gY%dp1DniJ&KLcF55;8FDKYkxHTW4k6C|_$Mm9>Tn$$Ew4=m?M6jE)q zE(@L%z|fSu+o9WHGD*`XrMKGJA0=;adW lDK%pSod@+0sFp`%vAGGXY>yzR*%MBJJV!0Yw`< zH`bO$F}M*k5EB8hR0x_xCcuL9;m)q@?X+CDPYXh0h(=aiHdE~B<&bmt_RkqDD|7Uy zqUkTlJ)XZ(YuWGX9-uj?95+nz9wpc~1Qs&bYU4%{{UXY!FB0LA^+KjSnEJ&HX&5GA z94qeLoW#Qdu712O-P}mp4$rIr&&})D*mVuHMW+<+scZECX?zDIB_`?F=8qGxV;Zp4 z<>^JuW$y)V?hOMS#=w>rBsRt~9GH@tq&o3FF8bh=lnX<@`mx5C6tFS5FW$wY;Fr_! zM}B1OwA7I=y*$e{-9rr D#R{2m!j!-84qk9xq z29IL%5as(6h%B4IQX;5RWZE7?p@yn!$B@CctxKYAP)~Jv)k2;MfuFCJwDsLcf&Il; zW^o_5x8`rL8Kk?~ds#Z#`R_QE!0&C)A0S)rD-Q0fHoXr|$FQ%4hMCw@rp_j$`Nwu> z&aaLsi*RAUQyfA|X+d<}p|5p&vE&R%b)*lB>kBTgBGx+<#6lWf0YQT=6K3}2o 4tw)nT4}JTUOElmG=PsHkDhle|E=1B&?n4NwRW1y5^bdy3t3ctaJto4@{$;w zXl2xs)4WoVG8KZ?19diYC&5fQ#eCtcZ&IbIt3m~Lt+n@jsL$AoQF^e|(W|TFf?8mc z)IUVvLSTWR0mDbAN^JMz0!bD~=rne-c1?Z5tMXP0(51bS!73&qr9;;LLuyWbwi-tA z*Et*@DVZ*iF@Xgy&EB?Fi(#YR2l|#aOau_z_NS W_y z|AVt$wcu6#>&8LF=#$xo@ITo0&ybt(d>zk1wl`GB-iK`BHtmV55t+S@U+hYA;HtcK zUcJya3*Or5tgp>9z0;-Xr4o3bQ&6g3%jL{Nj|GRg1uYpA$v42Qr;(3XoB2;zi%8$Z z`3Kide4k^s;R6o{(`~%ZXlj)o3+65|q~7duA;WMLCQ5uh7T^o8V0;zzZEiKYuu?Vo zsIUsQF(e8raAGL5zaoYVurC*~m2g}yaNNw=!8#Eu!t&~up@Te@j7SW8J%_rp`UKg* zV`UF4e1^4luenaQ-A5Vw89BG~4xc$XGfSmsKr3TBbB`!?c4q=Fr8zo27@HHTQ+%AT z^7fAyG&g;JD|&j?uO#G>^tTl)Fo^cP!n!kB(W!zi(1&T>b#D+u3xVKnjl=y~pu#A1 z9f`+|;GvPzn8(b(y84~o)?(?(O&$6FKBUzITOzLibL9Pwp; =)O*vjMy`WWgbyi`_gH{wprw| j86iZ(>#GNFtC_6MZ)-CB5eI-W>J*N-2kRE`>|^nNcv9Y `R!sSt}}F znwfhs5`kCsaD9uG!dzu>0Z=kV i+Q3UblC(YqPh;=H7Lu6VbwOIpWr_?SKlFPC-X! zH|tWlp&v_i56)@Ap={3O+=@kXM!GLIBz2!0*gYD?Ib=*8eV}>B6eBG)^`VPa?^>{O z9=>OTB&g@2rm@P%Rhknj2W)m{9y_6_j@z;; g}7m;+BgQBC5M!Srvz>22)PJQRn2Kt*VpZQ81#R@VVs0n4iH!TMj354K{J z<=vCTt1zr&7h i`#vQ74a16`uiy0a)ZC<|1ysG$x%5-*C}qNLf!#N! z7pbdsEQJt~PW_?iw)h(sEbs_8Kjy&A05WFWYDwpFDROE*#YcaJzlBaPrhUnq)Q2L- z&h&l;RiQtz*sNu?;u2sII^kVZkhD5vsDbDS@Nil(qB@X!El2yb^q_NHX58sp?r5#C zV;kO(r5 U6ZgL&?0{!gSLlY`3!Kr<&vc6kykp#uzB{a|=t04wIujU; zyi`aP+J_w9fISm3(KJ6klqvN|JWoSm-QCVut<>C;{In)?sl?G$oOj{!-^AF}{}N+k zKgc3o44!ekfwz>rbUZiQRp#2Z_`%0lLu7k_d5*No0A--F=kveOBW2cp0NJL1>f5@9 z6?& Osa5Qnm$mErefk&qcNx&5pU4`6v!uomV2J<_cl>332C&`BCJW1HF?eS~| zb($JTrCPGWCZvvOsCSM?gk*tQ0QiC%S775HtiZhZ4kTY8G`;1cKBVWhmnUknCe(=Y zi77YY6@|QqSRu+NxoThXzR@EWz9a-auX+n}37I1AbfBQX0&{pjKC6q6_=`P2{juz; zrvUv|oC$qIF92W3N*}4akNCX;_w>u>qijM&mwEe_N0P)?B_f2g_WXW@bViT)H2lwv z) 8FR0F50ktIxXsnrQ6otnGteuQyc4uR=MY9BKXxAqA ziRA9KPj_*`81Vn2*Jw4jVd((NQ~esxccUhnox(sn38b0NC;4>-a8gRj2`AF9Kn5+_ z*m)uIgGNVDO|9XLuPRIT^gbJD!#9;sBS!_uz!I}-f+sg*T%`$b_JB>T(!f9^S=&7u zs;RY{>>VnW(0MY G?N|v zRUGL8D_#X}+8>sc7!XqV|6!sHqWafF+k*V*gG1o5O6zH6lEC K5z?e0Ja@_ zljMiYGQiT-uJRT7y{CP*D$aarFWRgOsh6RNGxc5ejHQzi39i~^TjZZw64TVMPe>SM zCTsB1g{96%KGWAlUB@jh&oW{e+r;pVZC6s Xp!xGq*_pL-3gy(zd3l&WY^?VxGDdl5z}cxKhFRv7 zi@*optJ&wu2aKfW=Al(;JZ>8s-F zhTFi8kqA#VRu%3S7OVgL+Rv&-WzHJ`go` z?H{nR^_y3kbA$=`qZT^`i;EgsY6Daj0=Yu!Ot`TvmQs>oP2JkjWG=Z6uz(xEe0f}H zz0>3Ux9|HLp%{0G-ZjbQxD6!r2sqNC^kj|qwf_=w^ZgxiJN;|O?eSO0{WJR?Lhg(U zi}ZAB%(H{kpQR*4<3;z=o )2H~j;$K0o zD5t(pxtxFbIDK {n)k@E%T zzo>3bzN2JyGue^DD}RQ#el7-!_1ndbHZ%RMHalw5UQT6Kr%(&lnNfH+J9{A6S~;vB zi6u @_!{0H{kfMGI0uN`w*VSJb|+$M_*65PwBAD zf`It;1HyJXg|1ewfJ}g_Fg9SXCH@ N|2(iRYE{N3s<+c TJ5qyqLQ0I+{96IKBG%0#u!LdVXb_qn7Zy0vW8E`=2Y2Oy;l(WaOY+;@!%M z+&L8kAfAwiV~(SL8C|7FKHnI%ZbJ5d-Bgz6{b4Gr*Zwe-{hGf`NsHLQ*wco Jgl{#v4ge+V)dt(xz{SIH@t*xqLQZu*XyPT7~Jj-U!r=Y_l zw8a5@J%nhKfW45>vQed{_y_1SeM7Lsqw;c3i;H9u)_{Cv!E3>8UjECGGak= `1f>8OwR2X!?+w5rY5P+%=uPXyeiuFZO4eZW_^d?cYifS+uy(kq;BbWQE`MwdcA! zoC(i~F9;T^`Qgg{(vqZaxv#Y6*{!HwS>KgfpQ R5WnU`ue|IZO zKYB^a&>B&FsOMWGOM@`jQ@H-FF}_0NwQ-M;tViFgxhZ(Z`fH%gszo2MR3Jc&n@{DW zZA)@p-%T@alh?jx QleS}<<4({u7PYG~QYsVP_DBz%m3xHJLjI;kr`Xmy$ETB{#En-83RY;(Z$Fb;@H;fH5=ue-DlWxix{Q#LxU|sz&be{wurq6*pLK z0d&C*TQNRNn}~m WrAqnH<&U@ zWpdkMgPMqwvQkuDYFt5h@oG1*1rI==mhJz}EbhU5e|-z8J|TOAOFvSjKAU3Wc-Wcy zH# E2{P(`XUgG4Cw&{B}0{~jiW;LzqV^7vNtbG#OMbYY6DAG>2v-q5>{E%jS z(J(JX+WlE?Q8VpG*yoI`)QknbSIgo!x)$h*>@F9mrn|8#7<|P!CDPy;IYdn!jL=d3 zYlo1fD)DB#XU&=P*HdK*vg&>w$ZHH9HW8(zHP1LaduPx0{^bR$VH8NjedaSaj>+5K zTRp%-Fnte{q2o{!Ajx(1=U;>s-W=|=zI@x1yl-p#vA(qEXq)L}kA1une|te=tbV<_ z%BQ(_Xnco-#Zhwe!#?}#T=`MpAy=;Ni_j9;Ni9&&SE)+8CpcB17H{I8eejZ%#flnb zxJaQ$85)ye#3@&C5J^w}xV&u69o5&pGUdgE<<}clKVPRUeVKQOV>FML8f+M&boy+^ ztBa>3TScG&?dKi&5FQ4bV+}|gG04A$%sF{Wfo^CD=V)U8VR;1QQ!@V*Ca-u%gf~*J zf>40c)YlcO0V$+LW8OhR$fEP l3O}}c z9>BSjmoWIc|C1|=UEzo?w+yyZ#m2LQtE8LcRD3_K^e%@1e~sF-QG(Ls#jFAs`xu zIPBCta+sD3_L8mNC@anU@G9{cr1{#oe^5dtehym;BIYsi1^ZBSaPfZkrSZJ4-)8g6 z7Yk~mI4wU;TD%lFfIW;3H#@#`)dQ3oCsC-_jBp(cw-wTW7t{5mM^AsXTnjR7I4`9O zxL^C2^;c_L*o(1D%SU%R(+zbg+7-!e5gKI-UJxiRG;{;8Bn6FmhP1I>t$U!0S*+lq z&`uH0nKN~jIk9rw;o`Quy<#!Wc8}<}N_=%+BpG5m3NX@I&uy9FSXeySb1RxtODnt) z(bxrUESJY_%9yj&`<^NH-{*Wf4iZ-=@L=;eu<%V zwzicvyJuK7Xn%nP#%trjGIn}+c5*Dw{3ZA;x$=AULZW+t_ b9_YlC9HdSHHQn2m$$S)gglrK7yI`va2jMessb6LMkP#WplHD6%4*{SbyPu@tR z$MMF2YU|{jA9m6ceoW_`cJ0+_GVnpa79Lj2qO-{+8yJCSipFwi&$Du5N`0G;l+)Z- zUc|-wS{SRcIWG dc9* z(+JRZv&uXM=yjLYVi$rlo}XV{0sI13a_alZa1R#ER? d zqH039ph}5oOaJ>)V3|JMpMOXhf|qOd6(`QvzMTbohiM)19r<8i_|1^z9VWy)QCMqy z=3q}HFuD=FSERbT0`%?3U`(Oqm_RkYwpmYVMl$-aG&LvU#LBj$NrM%u*mM-=q5miY zCv7L_O0Llx_lNB~bZa#8VfINt5wlt2To5)?<>j+0Z&b?Pete9~1A*i|P75)<@Wt20 zWKp@WvD~0#SpZx|zk)2|!cK?12|SA &$@62Xv2?FNo(sIoC)2UZxF{GTVsmes zPm;aB vL{MTD+{$L&^}p`tO+D@AXut )v%->yxKyzr)T7c8VMwcI}C)$$o2TKTEN^M2X%Dg7?y;qSF= z5i?}gbghFWG1U*)RF1#9!eUHz+%x6XcuC$k;pCdtzXG__)=cz7rdx9s*T27?{8)uf z-3B+MMBr&*SFB`Ke%P&`wZ5*QUnAT3*dsWmM0TS(Xlh)dgEM>B9qzJ=wVVl%^;}_b zLww_12bYwkf^5Jxgon?p?9y7dlA03*si+FJ9{7m*sg8=0Qcl>T_vNC;=036DQENoI ziozK?gJ21}_B3pe=bSG0G*Rp`(l3vVAEMxWzxfYi#_+|(^A!A8*F`-#Mh!}kOPqmI zBd@iKCdYP(Ndj4*WVhYXqWGKnpiejAx31(@bJvNAl*k_EVT;Zx-hsY8Jqsl*09vsr z&e*|T;1GN?n(}=PHnmGY$|dPxB0=VOYQ9E3>dGFS8BhAjyH^#3PxoSAEpt0jQ}wLD zeUG@&m7yy+VE6;<{Y2hnpOhD{azX=MqgNOk5sqnT!b(x7>(RBK&!tpI9LCNqI~m*v zp`G4Rjp@wo;UUqwOXuUI{plVZ1Hba-wEK@#HFYDql=Dt>yIBeAqNUPX?90O~xG-JR z!bACsef&0ky;CSWmqu3NLo7-6HBSUrGOil?b&OshV+bc#W*)w8c)o%gpy{2Ihpz zteHOYkdT#bTcNwyActLbVM3=+a&HJitwZ(c>_3#pXWYjP@x_r)!?|1$jG)cs+)XsR zW>?2^^0yNT>%F6tpAZYYCr#$$^RM;}ie6tQf>l+G)FA5Gy1JFP?Di{mS}kD;M3=A& zIz5~D<1`@;nz!o%E>`*+yOF^y@(^IQ$NE?k6QvgH6J4G#6pj1yZfz%;D4}Pp|7au$ zN6!BWyMJ$Ov!SUkmMt%Wk-{{UT2ulks)Lfat^)z?x5F01wYcWney>3w$B|oM(rpSe zOFpg+4lX`!p+f)Hi30r<(xJ)NnRB;N+am*d_PVR|V9IK`gd|BGgbB^ai4#4>Q0xQ> z*u`_)JCry)A({Bh?%~84mp+--OkH)Fo}(r-3NM@4r^nYfs=&>&*eLT?^iaLWF7(^t zcUW&1BszRu$_VU+%_;4j5#!Hfs;}3)fi3d1n7K}7mbZi~%~`3QtGUKIJ`7#)mY)IF zOG0QNELkt|Xk3b+@^mF7+1H=hkE1zW4EI1iE3gk}%I`ye4Ya=$yz?~jprzY50fy3P zh};YYUHxE>66kDc5^zx5U)sLe7_x|!@-CBpAX-ko>E#eo*X}x)r6>fDeA#r88Wc@C zgZ!X4`vNaVSHfU^u|KrxbT)KO;OctPuauLtw;!X;T_9W Y5_y8~bgdXpT@fXc%Fek&Rw){#lBE=_Hrl!boGC5D9oQ4A%VU&AW`Sg86 za=HLvO)cD^+=d3`-Q!GCa_Q;}O>Wy+OJd#RXY) zDcKEotD!HqUFFLyB5Vysr>-MPNro)rNB!+GEA{lr?lpG)Lsg(+@S4uV4d@!Z7`!Fn zQHu0?6y5hB8i MtjP?0mO(JjT^uzd6Vl-9|m2FR+(j;)39HV-ig~ zqrjTCf)xogxv=WNy41_pJ$D4<@0T}XM!Jl2QZ5 ^rV&X*wJ;Jd}> zfri3+sC~XjPy;R-;haSk9mmh}_Hk^M-$-wA;xPBup$$0#)pXEbT>$LH-*fh}pNZkR zn#=9L!jA@-^kqQ_W7)MDn>pTpfd3y)d;TA71dGrE>QY7uAstftBTtp=dZEgISfR$R zzIvZi;#*#MU_ZX_2kxVBK0~T`fDMj$aU~~YDw38yPNYYYgp>Eks+# eXXXRH77~W_!$+!DGm?|3ci%&*m|lg^Vktp@eEhNwr{rx!`E{ )Z z;hi7nEWpOOWxGN~Znj`M%-=))sIa-)(GisfC{&l@k5<7SQ}tXuYKSi!s>;KxgJ1(Q z2}vukN&da>gtD4D*PO>8QGgN9Nh^`1b($n4SPPr9^2f?J07%>Q*$C*)$QPImD`S+w zzD|b@)c}(bpxpcC8~`Y@^t>?S4^8Y@IblJyf9%wo7!`Q2wSRIV8Xs}Y1subNw6H}e z!1}1zl~{>EJSD5moBZ{cY0uz);+p=GB4&d^adQ$@PB!q^2gjo$*Km$E@O0=FY*Kk& z{F%;!0-=|cP7x7#ol-@Hy;n;lgRDfyqjTt3_Zd-Tuu1k{?tv64EHd6p;21Q|+9>LZ zN8ZgZga*3&J}ULc=sbx|)>nA%w5&fGu}oH7;J>EhVXRFx;2523jY-he*8|~}`+X0C zCrSDTtb&}`f LktemLP6k7YV0e@?)L#ykmFK`M8mgH&!P8c28@a>K~ ?DkH|_zeDVRTz zXjxT#j;xoK_aT3J)i22WL@?wa`z Y=tQS z?HNArX5NWQcIhd&w~uxByJOlL+YGKhx&z7j5J^AMDV5uKBc=0ZX|7=K)Cm%5ui4)< z*C!8;C4$wvc>}NGjGkZywq|zKM=9LP1*=~D^i54Jt 9U6oa==7qGcgWyDADf-ZyNwVLAIeBxnAGdQoH5xquhTdB z_*emO(J1FneDucrR|o2NLwEMp{k2opJJXTrL%GEdOWG~JDw>)U9F80ErU%L@EvzZa zC}B-qH9)u%tl!>vgHO|qr*5mUjZy_0O~ne+VC(Igf6^ L)x|>ieDaG*bXG>T;2SymJNI)&HtpY6h!jU=L_1lG>(<0? zlwE8&{QNydmD5ZQYXfW?vYUHQ(fVEu$60T|i`toF{rFu5h(GIRe)kJ4KWX`i%dVA% zn3S`i8^ Tkr9fc-2pnr}m&ZQ*}uk)K%Gbn$rc6dvJE6`Ojf3A;;-!3SMsBw}uy zPYNFkZ8#F~fQp7Zh98R=&EykS|84}#*w5|f$kvj+yVHu}u*hG7t5~$vSpv{^wF_mg zXuuGsFr>NQYZKC<6~pRd@nnXtda){|OHP#xnsrIeZ*rPt$L0CQ1bR{E?VgtdjjG&0 zUo2`+l(z36tFQ~A+}$npEdsl8RpU9Gc!(hj&d+Ih`Q_KYu+ N^LU?! zsBJvzSy}Zthm`Bg`*vrK-(ye8)92>UxM+5$>Z1596wAjUwI=J2Vfd(H3YgI?UZ)po za4Ym>rs=g2`YL?AMR5hY0TJh$P >&Ee)w~W9WxGw zEqWIJS8L}P4%gbZ{Um}EB_w){5IwrlLWmHeMvoT6h~7t+5F&c?-uvji6A^t7j5>M^ zW3<8Oo+W$l``-IG?&odC`^|hYWvz9s-*x`a^IRdb6&fu7);VBXGfN+QW2=o*m?h;K zX_@N<_5JQZIuWN*+{2852Ths#!Rf27Ho*x`>)+&RTFH1oe5-==-*`%U3qes7r9{Di z%Lebb&4r^;AK8MQp1!Kn8Af5*5_j|~Q8KHxrxQ4enLO-MTRZ+qr!cuSwtH6g3~0>= ze%bw?qO~+cahA}oUq~kx($^;p1Kp5YXT&345-7~DsYXeT(DU_l*_)zIL~J|Xk#6uJ z2;_g~nK+jmC*_tHgN7gG3EHZXv_UAOf&V}SY=sxMJKPY*fXL(j= j1;vNMPGge;azbsE5YCE;YZ`yjfKWs`=Xs`r9Jl9d)B^Lnr)j^Fe|5 z;fg7cc-rjHjEbr1>kBhe_`4qz-(2w1Rl4cqY` 7hG!TP*V*ETXJy zfa8KLt+BiANj7x0it)aY`_5oU2-9~zAh^yiAXw5zyX~ko;Aq71zHVH%xKoKoEmaNH zZqiWpL1ZqNhOc6@k{On2kccpn!f$+Yl}AewWQ+b!?AY$ec~6)O%u|(3^D0a^ja89B z;`aS0!QkK|=s$^Z`M@-u{0=V_NYPDy%wdx)C>j&OBlB@)uR@JbLkHLugvqGa1BDr9 z1asg7`O)|(q*aP4?!6Vx01n)HRO_U#CJASLT$- L~HJ8GgV4P4Vq$V81I`=Y70L@zc{kk#QLzuOyfqU9d$n#mNO&N8|jj zt`IJu#0a&zSK!Ubh}7IY*NuQqkhOx&F8k(WTpi4=m(!U<$28RQfn*H~Xt^Y`ItKMl zt1Kf)JiwQq+;Xt~AV$da2jkqE;I13{(=XWV3dKbIQ_M<-!*D1Lk;MMKcxjGmS(?MY zT*U53O7@LB*m>X~wqs|NDm&!$Air1QuPA >u|0!vo zP8|J5ZPV(ON?L~5PeohHV$@!RKH>B0?n*%I*-D;P$}J%Dz!EU_rYQD*=RZ&YYLqIb zN7{6Ys|!NiEf{AL+=VA|U}aZlxeJC*>F1FABfg%MBfM8hOi;`neN(onZsZfB7!|uF zH|mZYr+$NvZzymCBs_q~EHh<+@n1zt*O{LEU-M>j*5ATdlqz0>Y!2`vZz!OB#2(mr za+I^ZS$`INy$^|a>ofA^YgSeWP?F}6sTK`nGQM|7yJUt6J8=DFK<)IPLGu==`2v$Y zerGx%Ma{vI!cV|Jcki34(48Mh<*Vd=u1h^D^V|FYNNQibS!wpM^rMcD8$pP?_=Dr3 z*A4>1L(tRGmNbrc@3aU*?@k9 #k`E>q$A;9TC=(47AY-flyTT _ZtK@`_V@_jjtQRA5jkVs~;>TE6`?484^t zc9|qQ?)^+^Q4)hs`)h#n|AaK{rinBE1kKPHckP9x;yPk2t%f`53dUZI({%|8saYls zEEp+nsw F+kC7RkGV$!>>$IcQ=oqPy}hpMtCCV0HQ67T$W1*(8^HwJs?x z%V^FB*Js2AP _?NZTc{SDBmdch^z0^u3E!R7KP7PzQdLFJ#aJ@8C;_~BO(BAB*CvxB+>czw6 z+I-P`3-1xG(~}#suothM_S3tnz9%YJySsdl+chRxuwx{~ol{_+J2jM`DuZz;uXH(7 zf>gNhU!YEW-bTj699-%k-BO!r&1A~RUEaG_9F(hqLmvcNncP>Y+PXV7H<-VmD95&O zWCATS4jnBwg$5-9(5tGtIgG`G%I!-C4{?Vc4vjemlwpyMm;`~-=WB!Z `!v@IMbqlGk-gxo$w_J^ z&ht!K;-!X$x(U0rv%O5DJ&wmxCmzyQuTNoO8uyf>@nwkET4<&@{C<2-puQutOm$U{ zn1>-S{$c2Pi5k0drw >k4@EX1*tYlaCoJ)>rjNkceyCiK@-znkXN9(bH7T2VQ zkMdOE6)WeIjb-r%t(lDG;n4Zb)-~_N@5jy9*KwIQDe$e 9+ZMdWfa{EG@ z8a^ (DVoLgDE}Ul@|NfIDU$%vXH{Yzy35zkf_6MD= zLf+-B`ik%wrkFfEXRVZnjvLvD`|!QVg18iZ0VNQg83=DGnSIw!uf+43&^EtNUBaqb zc5Ck#8E?n|DKEkju8f;8E*Ey~ZhQ^MelbE!s(-{$(hQQ$Vtq2c^mPW%YuIr{B2` zwcR?&uYsOy<2xpu2^QG4%H}yntEOmq7MPCZA@Q2PPOg@0Z$+JJ(Pay^1%?sAN-=AG z3+GXBO3#fGs^KDbHwt!dv=TO(uA2wNWY;?alwA$8-6niD)v4$>kF)j|cTdAiaHHki zQ%vvf@yi0`yYrnSbwQ52t=mBd<2K>#4w+N*xSYzvrboq{1T7n_uv-1jk#~+P^4#bT z&po1*q;PCkrWNgHKXX#Pt`cZ)f(*l}rZbYb0-gLrutyPPG~VJ!pHh!dwo^Sqi=Krw z@Vqe5fs4cN1Z#LogD#I~&XLcuwYmd*7qS7c;$$opKOy0}zD@iQ8dn8I)5h)^bh$-) z5se =)>kZVU@9(2Nvj!g3HP2b2sDtM&nZAw+fV)%rl%e(+lRImbIqJ>P( z9P1G%Xzczb=v#+j6@`nxqgMB*75v`*M(z1~4{!b $maxu*x%Is=nAEr!`^#>1$Ck?*xaZ>E91aU+F4*XfeZ-<2mN|%VLLzWSzm`pr zM4w)(ye6CTMCG*!uGcxu3#2KtqOhtTL9SPgR=)3inH59tWM1Q(A+D`>(jADXOUJ9d z$Fg%Ap7G T!2Sh@r?Axz@O#-wytO;y-a6?9JRs z&b?vehoRc= 0Bl zPdjmBUz=}skVOec%A<8>?1d`$ERGXnMfa;8%+XBBRg%H^A@^qe{pZ&TnBFNlu8!Gz zZz}GNz w*`l&bLqA*4OQ)YqR *v((T>!=oofrIcdHX*(BF7%$sC3xa{>fFYoy9!sKzJP7Ktbnz8cR=1)+_ y_TG`#(`{ujv xsIxoEDUXyxz z)Y$R+#?cJa9aC>36uyc}a#q+9HP+bdSuf?NI^{++?ECox_8tLL^R&=b$MCzpC=DL- zyt)u56nyrIp`C7o)V05RC;9al`;LRqKoe!~tWiq%%!r|ZC{~FGU2(0*d%Ji~gY?$T zkmmxWt18i!cP(0M60tr!a=oRV)1jjDb^eZCm6-5Wt`5hzjV1V!pO5ZA;@}B)+Gpq9 zT(1e}R_SM{5RvVn#D>Dk+STym$pWDgc1(VT=IuU9VytxS=FMC;fd|I-qRJW)Fz{}$ z;*=-Bu-DTUjFg~g1Y6qcZlsz%)f5Wg<<&!fG4w~SRFU--)UwX_N79Rf^ofh&Zn8~w z2`YojrL-(+3C*4pTclpT^PanXL{QKjpto(1j(V+Xd-)EeFe-L39V=e>2f0FauZ;xH z{Tt{&@(9p-nik!>=c3M~ zJa)8N54b>JGkY21l&rKP*nD zW1u_Att+Rq50F4})fFz=%fOEYd+JKU9Gj92zKvJ(Z*s;fcTzNMXP?&0X`V!OEx@rD z-b^0~KmOdhkZkrLe-0Aj6!c)eh_l5>zFcU%?Cb07#MxaZ zOMDAD9oUR#px2+}1|gmvN4bOfE8|aoZK^71JGdv>df>*>8;nUl;_I)3-F_v?1Z|D+ z98j1VOrst%6(lHfl_ZpVB~TICFpfkTkY%G|)7(3cYCxURyd4ZGSVhWQ<(>8euF+AL zo>zGh#C=6dm){d$=4Wd>FW%Cj4bp37TqCsr3&@j_Z%@SwX-22=5owFSw>?&;WJ$ZJ zj?j6bM1{y}Q~D4iM8Hg}Q~KWYx~d?@2a)AG2>bFrdDiXs1g2y!0^fMn`ZjI$50qD& zk=}(V3@qF^>p#*R_X_#tH&3_}uGo*elAGOt>`eCy2sVg+nd1XHQXSo~a1Xdo#?vlT zrB=E(I-`i-lrW>fN KaJV`+i1Amxqp}bWg;3_swil()4nL zVAItf*BwLlKa)?|B=o%)YA6hh4$R44OA$7`@E`3ljQHw0F4`eFV`dq(tz#+NRvrR1 z$c^tDO(JCe=DR-H6L69vTo6&(xY2h_#PD7WaIM=G8Z>HR zP+7N~eVs5==fpU#2CQAW7Q7ji8EjKUdLrm5eZACb4#VceoQHQr3Q2?c(#YvE>9V10 z(DIm?2BAkiLZ6!LO+GtImY6=a+WK@Jq|Ydmik2DT-?$B1{!t>VF~Q>a1XyjPVP89) z#tUMYm!5$uw={uMopl3E&0IH{5tmJDnJ9AMGOmn%(g1T`obxO#jN5Gf#*7+$sh!vJ zS{tcK*?}(KQ2RtEWjk%)rf|}?C3N<+=l_L4k1FRMZ)`>Os+BYhHgP-CYbd%~9B;z= zloBcPs6JOx;aCsExJo_I62F%0LP (z_J<&}WdX|JbNlu;EbRtu>glF_DF`qzbivNH45)g5jqSKi> z(qhKG-!m&C!CS+Us!}Fuds1BFz!)>O6*8`ExYiwx?B1TOTyUCbaZ_rRALQt6gLLEQ zvr^aNzqP;O4aZ4P)jXH(aldI5Z}P;oYa}99&j=uGSk;k~%1uO{lL`I8Y{yi4@h+ z*6m8p3~~s0=3m!d#os11w1iLsr&-HI*ycetLb_Ru2}5xHNnRKsJISb`nNUp?4_zE> zTtxddh=(>6Wb5e6lz&I*f@8HM7q#`7fcpq+)7j^cVx6qvBioI(wmjhnIi-fjr)>K? zkD4FibXxmq&aSa!7|&E;d%~2xyA}<|UaFAp{S6mms;H<;xwPvG% Ie+4NBc7BgrAV z3e>L&u-%|XK{+d#%m;dmZc#xwrh Lgu zYgMj6_mKw_xm{mo2K`V)=pjg9);s6P#Um`*jo!^YochUB4Y|Iv?^9IiTSBrlUBWm; z&BrkU&;s~4XY;=)ux`Brh#`9PU!lH4F6T~S#DZ|nfY$tqU9y|NVPm@pT_anrnDf(l zD0;}f@Dolz&)RMMTQV~=eVXSbm&N}?K)Ao}r+%G54ZZfx_<7A$4!%>jhe-`QrNs$c zj@JEPO!A;ohrNEiEPl1#{`a?!`HLRXS#$Qb#1#StQxgprfuJ{0HL=+1EvXE|p;Q}& z@>H?Y;tdzQs8?RMCZ-#74;ueTd=?O9>&s(buNAX) QCa`|{?%rVLH(PZB89Oa4PvZgXDJ?pieb4kWD=!rE5P%$;|h0<1-V!V2d znk$cNr`n3o vr4U0Czc!6i4=<^x_<0{lF^$fUTXB$zAgN?{rgrf zXp(n0H2EO_r(#KL&qW@iA%}Nw_wzau^Zpo*K>vxH9Vb}uJmp;VxtloMux%NMfTvnG zL-xjBcxO#u5pWFvK*VaREzqR77@~l)zE$7bK1&{vC)se?E{3G!wo32yNv2&w7WC~O zxUiJ+Ie) dldX!+Es6nS^z9&udOS*Mvt;^}Fb(l7!rs zZz-o;5?-Dg8VCvseo=1ydDCOdJL8peeD>s?IhPf7 zuk*B^LU|$-%5U+LKYl(fMjRRHJ&qZdW+*{@jgiZ?(!O9+Liu|6Hp~hHR0LN^bGGP8 z8XSVh2@t zp#*V3oom8(&G|V^ zg;`JPsGj*Vs;cQ1H c#j^(fS9n%~XhVR4g1%kn}IR ^n-v=BwwO2(l9O20sqKaf=x@NIn#$U* zPFiNVw<(x#@Li`cOarv$FfI~spV_gAv+v@>`L+~&KY|g)yuEj9w`C@dY6Z4v$%JOg zF=4^{qaEZ!1xsXVj&>I^s-d4!_)kNn5}!BatiG$AlgQPKQ*t=EjX{h!*!X+4T@0ye z8`hp>wpDLs-8lUOVl`OENW}(s(IstvCgyTo!Mta#-R9l!F#S&6tVDv?{J2sguT+?4 zd;X)6KI=^q*B(o7@_$CY^P2t!-SSb-cW|}p@S0RnKbo?5S~Y$w?A91#qVQusuBmMu zJ*_9S`Pk2QjCR`h9andUre1>8tQo$Iu)eM{XX^`uv5;@7z&;n|15 $-nw554{-qwbz61R5~GM{EmhXu9oE{K2v*s*0mp*DL!cLt4rf9$5x(Ou=K&@ zoPRsBuZa1gAJZ@w-As0r-As8K$)7ViLjVw-MOsno^W=yt`H|6BnmFM?Yc!bYpz&GR zWw!`~4WdEq{ic}*$5~J<0ecZ+0`qA1 lTpxL&yXjbVBQkSw#w32qkWrj z{KnRz;B*36?m*>+<0(|6WtQ&8DAm%!QHSp!VEU|#Y1n@EFUsTLQO >@7bj-av@)!x^g9dl*!EkYLBjo%ceXYnz@FEN*Nu9!RI>DW{B zCct}b{f9;JGcN2f#I)yQTs*euDYT8AT(i3nh|U9EJC`-0GZA%J3oq@a&g*sjzH sAe{#v!#`VYbbr%G|di$4u~ zvy=%yYaAY)=+jRaDo8&U;nW(_k y0g1kMeNPqla{{f^K32*f0@>z>SBsfo6!QOX*uH+0#kfiikFKb1cWk7=qu*$u=s zIzFG)-MaDnaYb#{Gk-1FICKy#SDNiTNh7+lH$E$qAlm(3sDe^uzx(IyzTETuqgVd9 z-@Q%W=bwPP>0kilF=g~yj4L3zy!C7o$#_Q3oddkV@akvRFnv3E6{(Jv+~Pcw(qM=8 zs_nZQrSR$78|RWT9^1r)oYX&-%Q9~=uzE8Ukdg{NFMrEL$B^k2bPHl`8uO^23S!pO zc_Jd~ttab^NyX1=KkRp$blp7m!L4~NcxJGWZ}k;_Iz8g{W<^Y6k7=yVuS7HK+X)r} z7{mGWxmK;Q!yZ2unuX4i>4YM}Xw}!#NGv6Tw20O(tijZ#DUPC{S4V`UgRH|hev{Zj zCEBgMv12?jMaE(?y|neYu3Bxdd+mvm?F1y)p=MArSwiJm8KNGT%7cVYzzgk7nh =;pU8xw$I@UgxSU8@Csyzy=b^oDbFd6Lj;0Kf{#O`c_yLQ(q4pPAbCd zhWp1QlCkBAE7^a#rz;WV(5nV-HxL3VXZ5&$k0kIdMd!iZu1<3?#qYod+^Q}yow0rV z%qC( 2$o zxhfT)NnC}g&BU{w> aG7)5>tQrzkvJmR&BVP+X@6^>glSWokysTs3gx> z 8nJ(-s#rHmHO>w$FFmbZ}Sm%M4Q-%C2_&x`kwA7;-f*a65i*YazeX zaQ#pMcWvXXv1_yz=jwSJg6yO$(mkf|pVXMhyX|LTR9S@>0Gs5ir1Bf&CR`uUp78h+ zT!m)-39hJ+j=x08*kA*4n4hJlYAU9vGn zSkngBDfAA09=|+VW9bUlsJK9gkXfWO8R%taX8N+H!O^%~!YI*tUoXh75}wC41YoS| zZ^emBxFdSWrea|{#G?W>yaO+};5KS@{mjPFvtLp9`yQH6DilY`Y{G4 vOulNuz7&O9v?!w#p*lAz`({>33@P$qkkD$KWuF#O|+Zwc0-@ z67Ys+9Ag5Sc^H%dT`|CIEQUlZI3ZNi>_aq;zP |t;@y4mP_!}fza56Vj9CF1O T-sdK()jqQm+rHX|CDXJ+x5o>#8Q)+BNURPg6i1sb~phOsMw0Wv4sn<~5 zF8CS3F~ex&!2z{!b$ 71mVR>_1+N9@{oeG!gu7q)WXr z_IJ`PzJoCsgO^4=H=hplYq(#-mO=|?o66t-^;b(IphrEz*0R=eA}{V-GmW6;kz+vL zEsSbqc(_~Q66De_IQDq1a?HWkghHcPfl0$V%iSO?T!ZoyfMvK8_#?mJp554WC6@O$ zCfT61r>|1(c=bI%x#)iYC@evESD;FE-EwY=a82!Huu3A@FtJuHUU_x}y)ZrKiC{D2 zVYE0NL9vKe6JWaDa~zw04lfw(SL<0|p0-uSQoD0Cfki6$B`6x854<3hwa>xLc4JUe z7sn?q#g0Puyj=+XGHXKj7q|E)db?(|lT(7)kL@5uLVt;&h6?>{$5b!6qOK@;59U@j zx82Csr4FnMva&{AGkd`};|<|=HVJ35UHt>xN#kjN9%)iMMuVN+ZB?rc^A6Tq@Y^QS zJ?u4;*U_H)>%$xCx)Qq_-T7my!D77(X7HU{MiS>U9u4jC&W#CP4U|82Z3_RCEuyHA zM7LiS49M;zjh?!LG~Wrd6~cG9w^iw%vXbt`D<5T^r*=567!P4DS)sagLL~#8Z_M0e ze(Ca| bQ>vk&}=*RJ}Dt1^K-c#y}Z&W5y_K-)E zkn42e9l+nGDr2lAE_s@>^9LQ1=QRTiBIQ{&j`%p4k7f==nu4EHrXGRjklt#C2J=ye z7K}wB(V8xz4+gI&?SjBw#(n9qH|h(K+`AJ)4X#-DwjfK~r%|`Own 0=%xY*L=$(kmLukzBgz_)*7^s^YFnCH~}&!<>H0V2Sd4I~st`Ia#wx1hs?9nT~@ z#w=BJxV{Ng2S_~yr#Aj>NlAmtA0_=?d(4Ki7ibZ#t(t_N9C|p3-1XSIj6EUIF*DQ> z29_ztSe;kJSj=B3xpq!}>c*z#YRe^xUiG$Gjm-q@tt>6P>6T@K)`U`N&9e>kz|?Mi zZgBod;oASpuBCU@pfygj1h^4;igZ?Y4%4}*SsQbCI5WpJ(5GAneJU8 >%j5|pKv;u;($C+Vyyjx)LF^Z}#i($NcAol|P*XlW?&i4nffCo& z)lh60WW?ffaen;|g|>>Q{y+rb@M(3y$BNQ6e(ReFLxX+p-`E{;(r&>qphWT>@lR6k z`kDd&i4Cskv39jGtK+Q2#l$+M`I-CvuLw^RR~qG9mA$0m ~GDy(uHEk#ozczz(Qjh2E3WFXOt}19f+u z?dTgX`i7ndt|nVZmupbbdl>rYja@05UHq_FTvUYRfv$S!uvgPx4aR+yxp~?75fkPKtZ%amh7iU*5 zDSuh!e^*F> XginB34xf>cQO488PD)Sd@&9fI zpJbUGyuIC}`1$?({P_HY`P@A1`2{5 ^|2#*@ z*2~({(cRn8&6V-?xt3OLKHjp-%(n&o-=F{L>FsFu|1QbZ>wm8WUXcIx8-77P0sjB{ zY;dd0?O7=uPe)r&^6m5G1ZDnR`Tue5f91&V-xmJ=sLX$F`tK}wRXKba{{P!-a`>8^ z97bqp2E}Sh3i|$Y`?*-D&s3)BZfb=(Old$9;NI=Xwdlx&AAlcBKO&L^({QY?NO{Kl zxB^L bw#0RflbSPxxaQ7r1(t7W}AHXFGAc{)sk7c;(y=#rc_O4RSSdN ze#V1>!(>(@_*F}WbKL&<|M3L{&jo}_UjvcCsz!#wgmma6vsxbNT=l&OQOzsAL4EdH zg@OC^W|(1?ONVVY*KTfCn_tb@h*JZ6Wt8%YKU$!jbAVzfqTnhUhGmA81 fKbjTOwhbqoki*KJ` zw}o7vz{X&Z=#U2a^Hx$6s61xdlW(1o1UJaFL 7HRkP8#e276Z5fe~LiZl( zZ+C>_=;X wLy7r-@36g(T=Hu|Fq+9sU?s)WGqisI8W#H<+wf|=Bw>>GKFmO z ~cRZQ(dHK4}bp6 UJYpwi@lkvTW$kanKGOL-LY0g!hHqg~msX4C`GN)!#pC+5KkK8{g=;F*uG1 zk$du*VFY^HYm-eK#B5qwHGYRncGo2^=tUpoTKA*+`z+CybN9&D)J2?UDw4v?zvzEv zR*G@opA+pE!-6gcpDhwYP>i>Y(L#)(5p`19{*Y;2>-4NQ{=T@&90m7tp0%xJpIyqj z=~!}(42b7?KX^7iLFL^JroiGPF^-3;pubxK&kiz$?R`U+YaD;5r||@=^%8By4!KQ# zGtClltg;)KD^wxQsieq*gtRKfk}0`}xXjg