From 6eae9eb6443e5343ee38430297950f8f55467abf Mon Sep 17 00:00:00 2001 From: Shevchik Date: Wed, 4 Sep 2013 15:23:33 +0400 Subject: [PATCH] Save player location if he quit sitting on chair and restore it on join --- src/com/cnaude/chairs/Chairs.java | 35 +++++++++++++++++++++++ src/com/cnaude/chairs/EventListener.java | 32 ++++----------------- target/Chairs.jar | Bin 26022 -> 26613 bytes 3 files changed, 40 insertions(+), 27 deletions(-) diff --git a/src/com/cnaude/chairs/Chairs.java b/src/com/cnaude/chairs/Chairs.java index 6bf5d37..dcb0d40 100644 --- a/src/com/cnaude/chairs/Chairs.java +++ b/src/com/cnaude/chairs/Chairs.java @@ -1,6 +1,7 @@ package com.cnaude.chairs; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -12,7 +13,10 @@ import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; +import org.bukkit.World; import org.bukkit.block.Block; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; @@ -73,6 +77,7 @@ public class Chairs extends JavaPlugin { protocolManager.getAsynchronousManager().unregisterAsyncHandlers(this); protocolManager = null; for (String pName : new HashSet(sit.keySet())) { + savePlayerSitstoploc(pName); ejectPlayerOnDisable(Bukkit.getPlayerExact(pName)); } if (ignoreList != null) { @@ -167,6 +172,36 @@ public class Chairs extends JavaPlugin { } + protected void savePlayerSitstoploc(String player) + { + FileConfiguration plconfig = new YamlConfiguration(); + Location sitstop = sitstopteleportloc.get(player); + plconfig.set(player+".world", sitstop.getWorld().getName()); + plconfig.set(player+".xyz", sitstop.toVector()); + plconfig.set(player+".pitch", sitstop.getPitch()); + plconfig.set(player+".yaw", sitstop.getYaw()); + try { + plconfig.save(new File(getDataFolder(),"playersdata"+File.separator+player+".yml")); + } catch (IOException e) { + } + } + protected Location getPlayerSitstoploc(String player) + { + File plfile = new File(getDataFolder(),"playersdata"+File.separator+player+".yml"); + if (plfile.exists()) + { + FileConfiguration plconfig = YamlConfiguration.loadConfiguration(plfile); + World world = Bukkit.getWorld(plconfig.getString(player+".world")); + Vector xyz = plconfig.getVector(player+".xyz"); + Location sitstop = new Location(world,xyz.getX(),xyz.getY(),xyz.getZ()); + sitstop.setPitch((float) plconfig.getDouble(player+".pitch")); + sitstop.setYaw((float) plconfig.getDouble(player+".yaw")); + plfile.delete(); + return sitstop; + } + return null; + } + public void loadConfig() { autoRotate = getConfig().getBoolean("auto-rotate"); signCheck = getConfig().getBoolean("sign-check"); diff --git a/src/com/cnaude/chairs/EventListener.java b/src/com/cnaude/chairs/EventListener.java index 90311d4..38c5216 100644 --- a/src/com/cnaude/chairs/EventListener.java +++ b/src/com/cnaude/chairs/EventListener.java @@ -35,35 +35,12 @@ public class EventListener implements Listener { @EventHandler(priority=EventPriority.LOWEST,ignoreCancelled=true) public void onJoin(PlayerJoinEvent e) - { - if (!plugin.authmelogincorrection) - { - return; - } - + { Player player = e.getPlayer(); - Location loc = player.getLocation(); - if (Double.isNaN(loc.getY())) + Location loc = plugin.getPlayerSitstoploc(player.getName()); + if (loc != null) { - Location teleportloc = null; - //corect y, there should be a valid chair somewhere up - Location temploc = loc.clone(); - for (int i = 1 ; iUyE_c-?#|$_bMM=IZ~xuu=*X<> zlUY>}Ro&5fB1i1^yS9gbd2~j|2*X;)DIG=!0WI{HwS_FMz@P6RQ?P)i_BBP8-4!{X-B~1D6W= zuQ@|Lf-6ZDK?f2L1Ob2mRwA^4BK-pwvMaqS|w~#Gs#h zG2^vf`}GE1+fQeeG=Sgdx#VLID_=8DhdGaDzaP)kyK?P&wpt)TsH}rGZy=jbSFWJ? zn+cu?6jSzERI&k7L#Ha)yGMI+);T5ns}46iyz?(PjRDNA$38d6Ub)dZ%$xAVk5Yup z95-a#2m3?wJrWj7DSK?(2C%j- z9Xg4YVG{8XI+ZOP=5H;yqgzf}hhkdx?B{i=_Aec1hWG&jUeuqzgFSb*-8yx>-a7E9 zb_G?c?{|DUH6s!EJYX7H@wxY?tlibRqX(k%b}@W$NX*KEh+a7H_SQ7k4~pbH{|1f@geh zApPdRe?J2f8P-S_JFEBU9kil81i-3?&CY~;BI5MY@()wcNOh- zI9T;RLHzMg7=c#tI|&oNB_};IB@}iRk5c-oP^#1S*rHl{p6s15KY$1CNq(j04v5*t zd9HEmX203yo!oqa`XuT7n!A+}y-#urz;f}FImZSVA8FEhxQh0ZlPaRf$R_m?0tyOdm+=99V`2EW2O0ZtEa>txSBp$_pmlrn=6@E9IZg5ipZ zY-R&gklC$T7s(OuXx$4$-{5nVp<+^fq7jIUX0<9taMdUty@De*IfA|y?{k(f=CfHV zaGU@{DyVVY;uoRuAMh)XS*;ot!_PQ|5RogvB@UtFQwU4FPgwLUXWfF4ED>i>RVJMl z-1rRE7}D-kj$I2|}oXqss<%T$~24f63MC7Ph7EK?Td8iv4v&k*>+ zT9R)~5p}F)$w&k3eK85Czxg9EmhPAEh?W7qSWhIlJEf?{CdZ&&5Ofm75f@LWqB4t{ z)XFS!-eCfbG$4aD%rttjV|0|SxH#V46UIxasz`@7`@InhQX9hZe>Kg~sjAL3Xj`MG zqPqA8iCC5V=3z&%(VCWhozgwh-KDpUc>y=Sf1kq%K3IH7gYvIm`Webnzy8p;<)H+4 zE>$=_yu$1b>```Nd36?C3MZ4DNNr>?yoyUve>2e-yoO(y@T;kx{h<^+g5t!Qgldif z%&ZAJgvqVLw7!)p`iv*x3@%9TsSqT%Y0^ctAjODXs;whK1r%}S?c$Kl5FZ4k|JK4b zT_d3QPz}~t!DYvFR-d$SUP9bq6h{SARm#+>VrK8dbKUiq3m-|>v7P9m)p^;GB&~0l zK#IwJ^o1!=^e4#?Or#l`e(uckrUI;8qj@Wgz&fI*tn|W+I2u^|`k;#y z45T!1fPu_4-D#TF{?3(#wJ*PhG=}Em|=+ zaV2tiPu+gYs`59^&6;y{(@~6_hqQ(?{nYZ+E~#9^Wx@GEs}~3vU@wr>t?nJaP+fM# zch5%~O_lHwZIL>g=SFe!j%LDx4>i^3g$pNR%@s-iV_1}fZF4gwqs#+v=f&x!0qS-; z{!}41xh=#HO%j|Uei$hQ21E`sOE^uzaW*(V57Ix67V2jOv^IlNl>g z?svpYfWhD%kXWWQ*)$mdG8y)BsMax+FXsXRXR4ROgMJ;ax-Joagx78dHEL$cZv+&H zdE7|j&w(1Mv`4=x(j{RmFRWBGX16p&BO80ZY1w3{X`#3eJ2sT_jaRk#q{)xzYAr48 zsorR)zFTxzMtf2FOf%hJcbA8|qHfGoL0!wNqL{k!vKp9u@T4ukuSzaT(Ircs*&UeI zUN@bKzNMdJ<<$}X#V%RE`EWvDO4p&mFj7vc>*SDwaRuhN%-XYDvH3w>n;vc?1YSx` z=@Ir=`g3mcAJvXAz11bLR88rJ5gn{Z-iBi!b1sXqtWGuMESFk*PcXpjG&?m4kp4EwtH%#u5=%% zQ?tbjCvG{@ET?jO6U9JpC`GI=$v?%_E|A2wq+@$tDmOVr3)gb5f;khZW&`OD(0t7M zCRsJw1*uqo?hJRn?PBNDC#J7G2Hmy6IECIr30g%T=#$+UB~P#HiWy)R9}w291D#wXdVW`-MQjS0YR zp0jbS*!GkUX|X*kHG)&CYT=QprT||qJ6tN=tq2D2PW5o+29#-;O`+PPBX5CCZEDO^ z)PZV=VQJ;R%BTt8mt3I7W+>NJGO(JzbPJd9oHvwjmyPV1v&p&QI=%k!N`$K|b-oJy zaFq2zWBzB9YEu?p?kvAm2H#p$vz3FH?8oWisZbKv!UvV0h_0MZJQ3Teu}=td=oW(U zWKaX(MmdLw{nUAF9Bp)G`%hy)Vl|+D&?ezJ=^l4r2kQbKwrGAQM8wP^WG2TWgp58toiu9HeoY6hstV6JI95C2d&8S+sdW|3r2 zNXXY^H&6diDbo0+k@$#EaO?sTpyz2c?|Q0Vm6p9&d8)` z>LXAUMjtt29V7BuXS0L%j87Wz18-ilI>$@9KJ!~L2;(9s7RWE)D$cV zWqYAm*0)0F8!p^L2A^tj3@FRq73ctzegI1orgrZrw?GSpK`p-$GHNPdP+Wcl5h#8p z?Bp_<4JM2#$t&-&a^s@%4}~wTQ{UIV!9Ek-57qmzVrot-7ZqakaJZZN0|}M`dHsH> zD{5dx4cg@1&stp$KHS8JferDwfV>VWj0Yls&+PsEtfVZfelHG&PD~_qu2K-wfeY*Dt)~0S9;gE<;V|zGw(vU*oZWXnU z+)V=ZfwhOOJVl5cO`>Zc-L^jWtDEVK+YreGlZX8Q1UurJ?9gjffGYs1vuBqgnlml+ z)f-;0i^D*D+edMqh8jnJA~MlHl+O%=x`*|8m{GN<6e$igmV3m>rLpAio)Hpa*%ZoR z!5ot4tM<;crxZN{tv*k=J@YcdA2EyT(5S zTuX5>toP(f@ZHm)jO+ow3v;{KFWman?>l(P zqCBonR?83uk`rhJmy3Tt>X%0vYidC}vTlxJ7Qu+8Bu-29C~!|u1Jf)vLv-uaVH)mX zBber5=OEO*7(u2_ckNs=JrsLUP8XTf)J1RmdaU>>Lc%lZSN8zbt=zchEolW6?w>Nb zsP@QQ98zL^O12!l%4__qxH}mSd;Z}^f#sa(btIh3zZOAd{alvQ@^hCGyEbf&8Gh=k zVpETb%ZZCBugz8~kr<6A+7#?6wqJ|tr&8rLuP}1F6>@6m%5@DeS}5YG<-9|5HjJ-P z-t{g_@lLB@5=R3L(7&5!{UW7u*@zPL1Pr>2S*IdsY%RUS;wodxZEStR9vq5?ZO=F5Y<7ll>2U(OtA~4(P z6pyt$(skMHvWgM5(oD}fL!zdV!j1ZGf{?k&&``n54cmb1yAGeb!Kx%F{p<(?2Pb7m zMa|4#2?+>{mF49ph!h>=m6hM^Dh!|e2Vukg>4VuXqz2l);j%vbx#RTppo&szEget8 z;G%ue!O~khSFN~jpyjFx)ioU_eu`fbid;-?4Fu*4F9p7~&Z?Wt4Mv;Z$w(XUdMkP= zUP}N)MlJvoNY!0~dW3J$aI(?ma{+$2jnFL#!v{Z>^5O8xrU?y0S+0AEmU#HD zp4Vbu-uq6JHGEsJH$ytLg;!ClC@H8nb_DDTm}hNh9aSk4I{EIn#B0gSt=ollR?$+! zQM+T%o^Xn1zi3w?R9s&f92|N2grEl;TX%P2(-c~`k|m09XYEV!R?&x? ztWohg0~Z*jrzTj92_Cys?miaa-U#y6dvwjHB_0*KZmGZzaW{AWpkY6H!DpOFG{>^z zbtrZ_*f<8_5=0s)jy9M%Mzw!m9+HhyO{}TofAko#U@a~`HrR{Ic4{G8tRzZi51=lO zzjgq~bhT;GyC_Q%GMaJgfXWKVMB(S*!a*_^)?rIT*&nJyns$MxjUBGK`qfuYawt>M z-!0(mFAVh=h?sFRVBJC%fp*hcKs^6}t8|nSAm8pj=1cgwLEM2 z_O})cryw0%eK(I1U!i=s^C#D=Q3$$v%#vSQGyaC@+x||CVXmi{z{`oQU)+N#w}nrd zv0#vpeo4KMpnU0v^?8ANe@2HIy9K8W!9ZF$+IlI!3hT=|My^n@@4Ews|KKUdvT;OVi|`af@Y{XjwXNu;_Z1K;nCbf04< z0Ipd(z78MpOJB$>0U>!98#4-B6BPjGGs7I87X1m;^2)i2u?o&I4_B_6)#Sd1+DP%yeU#;r_e)1XeFli-|(^-K+SDq@e>)Eb?pxAE; zVvAOfvGDp30w<2Ak>W?>ozIoVPo696lE)F(9-bOu(AOIz%9F!}WGMy6m}8JqOh*WY zEd;e5)J7zyl1%Li3y;c*vdm$=(6;D_0+K{}2<%2NL#@7#6ep0zJ_)Ol2myfUn(uB9 zkBqaA(hsCkdfBNOW~Nwi1?X1p;Idq6w(HQ1$9Vj3A-1^|^jA_hk-tCR?!6$TWIf$p z;0UAmt*B7$y+#IXA;)lgEQ^@oA6U-5IA6$$Oj`)#XHmHOk~rEMu%UPu$Ct$6%2~#Z z>;hCs&@99CRU|z;j(P-b4fy64FNn>>5 z@;(_a2lY$H0K(C0@p~f@T@l_d&AT3XZ(6T|<643B!TW$PEx2Gneukn_AZajyC!Bb= z5m(5r*-xqxUYM{w4uNRz>>N8*a_f!E9X^ebQ}MWjA6@;sULga2H0|o|#MfO{sE)`O z(4uyalwq9HpHS2^??pV;MC1|i@wRdG?)=k`rJi=bcoyx$OwTyw*I`C{1aj(F;K%hL ze^{ZG>@yhI3OLLGsLCyG8EToCR$)et2VirYOt2WfdnYQ(q4!$n51g_V2uT-1q4d6bNm%=rs{PDg*n^B2CR zO%h*GmkvEk{xm;uk4^{Sk)3O4P459Zt<6mcKGA^0h9Kr(H`SlPO*Hq0cP`NSKenv?Q=JPsDW zoZ$Jhbzh!0hL0LjAD#I1kUgEeH8Z8Jq$3ZIbSY?;efVX|plk_G31;9h&(|7ob)E^J zt1vyA)fba_!n59h_hNs>{tT0Dz?Q*aCotX59r#rP-qdVeY=)?`R{fh9dDnBZ58>mO zdqNy}Q%IKv9PN?W`L8*AK@G#4dHfm8QaYCErl{clm{J z)wNs&VwLKWaQFEmY{DY<9v$HN1|G5^9^bDTds9HRhC=d$+~T8*6gh)NaT8w+@^M+n z!#05cthkF@PDc&GyJp1dZDWC05x7L*kFoiTNMPl@4_?#qbbsst}mAosB;)xd;{M*5x zdYXQpZ(aEB=~U@TlIwmRy+u&$^&DBXW0j5pzno>zwDlZ%wPQt(? zz^cn>y3ifG4xogoZpG;bkog)k z!8I(1=Y(?)z&}F1qG*c#k@TuZH`sggXGD-ETkGrH8vK#AESBferG-LF+qDTvi`!Xf z_BYv%OOTN$8X?}b0re|+g@D52;yT)15h0y(Xlszm*)q)={mvk2pa)BS)OWLXtFDS$ z9W%V8QZ`$EB!$AG#(409x7|An@a%TPmy-iw>v_F1Jyq4)MYL660RQUarP;U$VDHq- zd(zo@BOvgbg(a?ppCa-Tye`TOc0BOUCOA++@l1@vGya=Ruz%nP_hND;5uCo zyl{1b^Yae+rY&qg@v!>m-3Ijb{RzJi66#0aF-7PvTS3a(wRr|}3}L?2c!s+U`{hjT z7yLBP(u&zVV7cSF0V=$6enZ|3DZH!jj42$n`7CI;+@VCSP-;zPF{igU7EZ-kn3Xvz zPC8iv^QUB?p17t@pq&sJF#Ew1-@L2jgBL#Q!H`e55r7%Kpgyes{R27l_ikr&XX zye2|W6VuPCgNtPyzTWV=kE&z9w%uuxM606imaDR8p^Shh7t$c+t1bA()a5aFP{fgX{B*s_~Rud9QrM0qkf zGY(WnXC&K^M5-*_yg0>YJO9i`rA@XG25%mB`A`#!yDK)<(krIqZB+B&XKkwJaJFGu z-$ChCu^R2Ma1fp{vgxdgo*|FNp8vzL!TiI@i7NtWsr>$nPb;T;hlKsdW`qgJzLZqM z!U3>XL>EN~Xs!|TWw58D`$?vMk^6utM(ZEB|-Q{0QQA z&`+BEiTHNsS!RR@0FX`+ne;h zyq}G(nUU<)IH~)S2t@&`MD+MF_9=oZjV2|BWqZZUQw1kw2iiY@62(&eG@jjV zOL_?iMmxkD2~R2s$B6>?!10sL;)bfySqkv972#31q|v8Jxj)c*<1Qo{Jrxp3Pwi|==;9j^o8Z43g#VfKdG)$BJrBs^rMZZTg_A@tLOfB zbHrqoH?G%`gIL=j+gpWhd2`UNkvW`m=2R8y?k+)UwfYBre@6VxOj#%2fW*Db-TIBo zlS^N>m$21%duWex3aMa1%L~aP7O!GlbECEJR^OmGnCkp9xH7T?%^P{5*!E#Wp!f0) z%N^?Q9{)eL0Q8{f6dKrH3O1>pg*xeu4G%7~`DZm(0(K1SUJ@2N2_OZUBZK!TJEQGM z?rL&q=K2@}&kCb1y2JaRK9Sl(aqNw6{ChQ>mgWZW)VBJ&k=E(R zem%PSYc2C|N*Y|2o^;sa7^wJFn-k$ogaJ#j?ISsq{WkIJk>A9v8MV;)ME=MdQw>9- zU*9G<5zqH8ZMiXI1OR=Fs?cufL|4J;?WI<9W~>{u2Fi0Edl)bOo{3zGjLXRu0_1ue zIBAxG%1Wj*vkk8?g&^)lxz2&3cmJdK2!69U#~n0ZC7%t{*$SHzVpvf43fBz`Kf;9O zIzG$q`VqKXqby_jXUozXFM;?{9A|2nDcL_MP~bSx;BkZ96MzAwFodBD@fHBxw?U;( zMbdUG&h7V2KX&Wx7tMPh`qglyTbqWkwZ4DiYuc&X_Jctc*Vlde6*TzBzQbMoLqleh z~4?)vy9&v%7T{_Uo}U9F+A;T zHD!EYBAI(W=UTNyjUVYb6hGm^qtzw6p%>Bym!rp zt+6Y2rS1yc2>qL&H_0J9_m;eC=#Ql*TnUU(NDr;TG35+STd$9BUSip7V$usg*Y{#I z=%0eZqzIuK@fFyDa4sY4Kt2B3O~rOcf>i8alwPXqbWZxkFnoPk-K54;XSGXoR2*KkAu zLB57&LLVNTi9LoUHU1fWzUik`txuR+k2Y8O`+*&|I@EKm3fg?@JEv9Saj_sYvavUH z5Wg%t@mt#xEK3d@O(wP{lY55QHVgNbbDVg$&icE&vfv#?99fnw0h7wq{3Ak`*G~OJ zoeMTU9lS?EJ$C~n+t(wWcDm%wg#Ofm%Ux%6-UK)xv3Eo1q*!mZvko}kt@8khKS3(AV5(X>3R&2nI7B3Nd-fUY@giiZeLM{e|v%1 zhZ6O46n$fUXl(E511RmPywHAg@@aVn7wsCxha)#biqOU!D&%Z_G3ep$L@8jfwVEFw zP1y{|XFzN`fg!i)4CtyYs?kQSb>V)4NmN6>Y4w-C%1;}iQi5&qk!cA%ZRXlHU3t)!MoOt)NJ`tDkkHxtByk^5 zI%RAV!%Scn2g!i*CL=JqzUlh8NcsBC;=`b!!{CaO{9<9%ip+fF#EhvLMF|sUaDNkQ zpDAn68qG+^2GH+tn`y7^A|i{IMK6`9Rt@s>7`$nW5vIk@H#5SXUD?C51z)U8-iP{Y z`QszuXIyMXvv6SvLe;Ac5kWLHch}me`-At7{=}+$Hx@kk6EDp^Qx*YZL+n}`&rQH8 zbSilj9{)u=SCAyDHtyHmi_`^atgtjY&7EwwdX5?r4k*s!S=8pdftkpPU}?9g^6luT zBfogW)L^CG1?kA(lt5yST5R3Az(%!A97S@JZB3!79PJP@E{%*Qnvl!N8ui-j?jNqh zjltmSy8KX3K}g-2#=o*kmc|VxtASPGxy>p^qILM-dSb$5m_jJsV;%Q`iO_v;GOeb> zvP3MQ1Bko*%_^4E&0{+y;fC{!A`O_GZ}6i?B5HlhM5vb>r!;Xhgw}Qm#g&K*vmQOk zMGZeAw{(XN4k8R5DS~?;l|&mO>vIZLfYUleN_dm!85w3%2&c?ELgZ}o-@-a2hS?8S z!}U!Yz$be({soxuK0$W?(-ue5H*KBTD2QR@0d&q^&dCDDRxd<1r7BkxoC&)Ak{p>Q z$KD@l^_sZrd;&G?mb&CGw}2@y*d&^YWZ&TSk-9O+FIrleVJc7{8R5Pe>h5@cM~sBd zi{Y)O1N+aM#;BE{DF+)T>JMe8zD>G6^M7K3V)LbbJ&Z#Tra8l}ta9@FM7DJzCYasH z0yy;?73~6_v%_Zg;qkg*h^w9x z!N&USl3^0Jq;f237 zx8ryd6b2Xpls^}Q5$}%ReWDx0K(r`<=I|nZ4ecnVzn4AZ_NRa9F`eGL>OAXpylP-t zd7&vPTkKw2BhJ*BeAeu0i+6VMrQhO-KiNNYj75WL&LXNDwhlqBJP(( zlEPV~Zyi){I2th296YdP9IUFdyFf)Nn81xL{0gEgdk&h+>WVyH46Qh_OvRb<+KSIVkL=g4O$iFoWzKHH7PZ= zEoXgf6EHWTBr1yY8QZV001{JPk4(=@m+Ks=UKu@0D_yqD*>!?949vatZ!U5bfVN3Oo02HhOHLb* z_yL<zE+h~_QF^$!@(GM5ilKb(WpJm9`RHE%9_L)R%Oj{Q9 z6&W|ulE9;uS+q4{mS*T5(%`HdX`^w-WD^1youW;itJC7+E zNUqeO2s!IB+n3aB(%$>_Y|+UESd-VyvmqY4=-5 z%zQ1GfbJ@OD&qT5WstWFly_t;aY8L-hI(9(oE!t9=5|`d1L9L8%D44{F@T$w=dTeDWl7sBL?zU33Eet3Y9vHI~j8$c{ z4MxWL@9DXm2oc_-d5YU*=+z zX;llJVcHXS=y@bX$|;H}jCnY|6d9ww_QX^#fI8(KK(+W&)-pdn;zoBos>JxF{Q;)r zbD0%Z=~Xf5K#v4X40GbEBDvY{uej8{gz}L!(_`9ShN_kl(P1YkEnela1`a)cXtJa3ra&GygfYOl{AnL0|Wwz zofeu~0EE=L!&EVAVkJjzW268bwzrCEcfo@K9uWt8*NI%7;w|!)_x9H?bu|}V{BzBF z%?g@*Zp9(5S2-)!>uCQUPEDcBi@pMcmj+{JMnfs=<*E%2CvN28>D<+-TviE3a0x6; zJ~R~iw4`R8nG6eEx;kU5ockqoY{jPHJ_NYo0JWutl)<}aumGKFH_s4oM9_hZQgg1W zn=nB=X7fZBHpD}-?}ui?i{*PJ<0&>I(tL-VHt-oQ-wG~7%a+0Wt8W_bBp7ZO}^2IYujkA@%MjVnC12urwSG4I~C6C}fa@$*f7kW{MS{EVt&qYa~1{_(kAy)zUS&YbU{7H>$VK z)KezvxV&lSy#K=T8AQ)yKb+ZGFmQdG2jKZ$Rn^9!x*C4?s_f6B=k)!tWVp-@eOeto zJU+hVo8!E07g0b|gU2&|8y?Z!m;zK_rE7@ru}8qtLAY?_dFtPne?ZUDAVy)VbU_bS zX%ADWVkzO!GTSDh-4^BL<)Pt$O7u@&k`CS~4fREbN;{gWn!qt9>J3Pkw;;pdD?l*# z`#pS5$($#|Ba#?)({|w;U;hrVrR2c_$k722WI~cB1_LsxbZ<+AJXq+O%%VkLFbs7+ zhF2g7?l9Xk5<#M{dTji9{>80i=dI_i@57;eZ3*+j*ytrx3D+^q&rX9nGPmFwrY~Bj z!^5W^bVi8Rwh3>gU|&#t!D|fCVE{WE@V3Ek-5dNP`Iwvh;6x$U3jrE9$jE)hYxKBi zJJ3!cR)i(q*gLrC#bPaRf=+U9p|i49$mcgO?EH|b=~{W%MXf(*?jdg=-lf^{?Ac}*)&Zc3;zIQd zFY@v4CLx9))Vm{8RV|sB<{Id78tC^FY3Q$#}Ible}C)3xApzi@(g$Ktw-odVBNM6?@&bew?Nz344Ir##EMFu!i znewM$YG~w8Y^CUEh!uY~0l+%kctbQ@rt8+7*ZV~BONrtu*=)JKq@P+sV%1oO?T%P^IGPsh;jGB4q>W}UlKf6ErxR{`q=4T3FJXOzA=P^pj{6=UXAd?ONpiWh z4KstpNl46wZU_bhcG}9q#io*^E+yk>SV<0xLM*x41b=}DZL@ohf2FV&0yrH)_Z4Wk zM0?Bm#V5wP(6i_uJEMBrKvRO-+2+UGOo?cl$?6XN1L-7ABESryOqGDdiIR9aDqi8P zK|wkKlpx&PUB8Y2siYEJWnZcCdot5#^gzW`$N^9G8CsP}^$}s%VV4p)jLt-JzAFKE zB|c2z`_c%(GiJp03i4_j+r=CdeMM<#n8fROnEGbjngkhvjwmj7N`r_hb%{T$A^BJt ztzrTwtw?Q*0-&0ms#?JKGVJk#D*AJ1T<`{G&TmD-Q%G{$d?{KI*Z-#8rj!2qUoP8e5oglxomcrHokVUO*L z^|i_6Z^P2pVN-8LHnqIp*U<8YI|`bxJJs?CRFJ;i;b19mfvrerAE=CTJB$-gsXaC- z2^J4PSe5XN%eFbtAJ%Y<-v|7FDi?z5!$%ngTZtfA35^>#e1_E{%`}QzLDY;m-=W__ zYSp<2w*?G#Ipy#mEk{xBLftZK*tLOO)onm{>Rg3(FoYZT98x>A9ICgD++h*ab;3h4 zQWr$cZ?vR9c!}VGh9_6t=$qpS6jz50jN|cC>LF}KBKu$n3si^fpdQja7r1Z=)aoIR zq*kx?_QaA)$10nko$g>AJ=u#ANBs)g(%O?AlJ_I$zE6fW00H@ zPXajW30iJ#ua5~|mKlLtu{Ygqx#4e!nMeieq4wd@Mr;)C(`JjW?9XZt@Rtk~F29k& z{FJ~@RqVqoGkT(JeZko9z(Z4ezPC>Q)vrrUdQb6F)yZspF?u2XhYT%HWh7P*T>EE5 z>JU%rXYzqGvVI<@f`X!gEDf)WAKa(*S~-Ay5G*mYxKCwZpjl(Y9LhHH_ap-220ME& z;}ljJF4d^BgCSh{RG|HDeapNHVfI*1%r*;`Su!tAx16pVo9vB%IWA6arnOY94ieIJ zquJw%=@imh{Izt_NSD=zmZ6^>wg?me>gwa(rdJjS9uNI_#7juz(Q&(qPNX1jASj^H zI0()?@Wr~hc%q$j1#)!}er&6lBTLpp1r{S!a4&n>1p0BoZaXeDQP-HD>8rTt3HG3` zjD=VzScgXj@_?3(XhsA&J9K8QRlcLAulXIf#8 zbbNMQ!A=aGy$`sU3IxH@egU-@1f4=Be#0BqiA5xqqQo%Ii`_R{%pTe`uR~BCNu3?T z9DE0lXC_T1?Oya`r71lJF~W-Ovl|`M8yyzVihik!?l%|2QW?#bNzI0AQ8^Km<`WD9 zjzzi_rh(5(JdoXJQAj9VUjvFQMUh&TJ6SG5zCT0zN!NO*UBzT@e4zT-8O(UjzZ~d( zn`3=uyMKqd&>qP);Kb_|`+Dr>q+?(SXX9<`A6bVeHdH-YULOVS8qHPPWzG7I4i(BdOkz^%XD)fA;F8hy(O34S^C1$+zi& zhw(v}Ea>#cNH6jSg&Cs2iwUfGztjiwK3z%eY};41bD4cvj1lqJ;D_rnwsOqugKs#tq`2qO>W?g_n*DBilrOTJR+8RhY`@*rpio(r zOJ0)PrV)vR$RfF3n*lmlbVJ`GO{m_%>$td?znzBSGgvsqM0vWp%vTFKk*9#xt75#+ zxE=n1CV;SygM6Y{asSf|>(3@vpbFE91z~_tbc2>?3XZWOxe}PQqw>RkcuFNVbkLAb z-$^k^vZld^M_kepy+zX8E@lwv>?6wr``n!!Q87J^4%UcQyd5y4TK7qjfb#y;lMd(A z*SVTT3r`(w#|uK)=8cX}pOUTD9k#s)+gvLh(#k8Jz_b8wh#uz75H8Kru0N<{$;Ttz zV2{z`7aw9zkwHvl%r!bCP9fTE435^slw;++)(aju6#N!cdAut zmJcVoV=Y~#CIASVFConc6>BD41-&;euLU>b8@Z3-?-he}HZ}MbSF+fH&Zm?i?53 z{R+hEWIO6y`nLM32*RY!P|BL(?$ZRaK@yR*TE&1>#SaTIULx~V$%hPoe-nqA!d8oX z$t!m=cG3x_n+e&GInF$`t7!%6@|sbj=wm(d^5v+D>=Up6zpd0qLq=eY#4cyIn;VVZ zlE$-;ttet?Y1TItZk%WR5o$ec&^oa48}qN{QsG}ubQL?=T3-_0Z}M~HvC{Qr6dR_4 znO#_a2!${!SijrnPl9@J^4#LlrPfmRw8dih31aLb4z9%%pJe63I)>rj+9oGB29ZCz z^Tf9F1K?Y+w+7dD;=K4fL*I4?JJGku`2ZswCCUyIQ$#^xZthOq)Pp*nZuF_biL@lpD$Nx~DKxhmE$i+jNqi_6(SOkj0rQ{4(G%6{?W{)Em zg?+J{wGd|pObG4=#p)XottbYE3Z$FNvs+sG3YIZ2<|#WvV5Un8@|9um1Qq_)fXmHm zh|6*iN>qi4{oz|e4%do*1%YE-_FeSz9`GOB6|hU;9Q@y6z$z8K|58rW5C2P<)%N)> zUQ^zH9rPbeQm`SUU2>e(k4xrBK!;d52EKkB8v0; z1(GJ=nW6nVBW5#vurH;5XJlkX_OEYi+B);oUqY}P3Iv4aKYTCM{srzRASZ3AK>st? zzcJST#-P*s-;a>~C$u>}7@A&^oH>rzKZ{KK&3%dRcaax=@4scC|J{m%;*3B*ob22! ctsR)W?d_CgA^#2x0)qMXBKWHf82{7zUyRmck^lez delta 14390 zcmZ8|1ytS4_bu*HTrOJN-Cc^iyE_#30vC68cemp1?phoQ7b))Uuiy83@BJlNS?A1T z&zvMHlbp=XzMlmzodic#l7)mq00V;q1DmfQOF*WEocn9IBPjkFF|hx(K>hVi9lkUD z7ycjMA4={}zK7g5G? z?kdqcUBkxCuR7Y;r4$XbSJhS)BLvQrxq2~-a%RRpmbZjodp*F7^jwEH$g3k4ZROd5 zLuoV?r5s%!-xdphp{n}yJT<;@jeYxW7$`SIo^6{|oObhjR%}2Wg&31cHb)lTZ;mq{CvUhDGPCxmh z0)qj*bN;9|zlll16 zg`w|LojLmRlX-dGAnwh68G(Ymq_c;z^fxv_57xK#*j}SuCOj{lQA3u^l0jG`V9lOG z+ihz!f6<^V60mIV(#{>dwKN4$hEzA?Hfvb^h7!s=lVu980YpD z4C-Zn`-S+pe*Kye`)MJa_j-lcB{$0C_J;Zc)cdx!H{9K(IQkR!Ig_wun{Lea4Xxwq z%Mfx0aI8Qbt37kMh%$*|It(&kQHVa&sGy9U8%lulCpjH7X6qm^8#1wo zo@-Gc!>zG(;M&*?PUURU)=&9vOoqlxr>9JwxNJxLAHL_%jQ7eg2}IZqQCt`h2YsJ$92;Ig;+R(GL%D zpqXoyGHZY2P--zoZl71|vb&mdfDLJhS3i1)z&Fx80Uw=~&_Gz0#;RkfiRJ}D&@hE1#V>k(!XGyA0i_z5NMT`y%Vx!;>c+_-s?r>dOh(4sRCbi(}tO{BP- zS?KyzQ%BAQKC#T1{7nP-*`&NU)OS~!Y$X3`(6ziC__UAl6oU z-z+?3zapI=2!5M|9_<@L4W$$!Ed-gsrgrU@^MlUi@Ku0?j7D;&JiKp?n(597cG+T5gz&Slk#H@ymz^%xv zh!;t;CT&SPAakjVMP$&d!I;56dM)|f?5X1u)kH+7jauzeud^oui%tj6vE}tR9g%*v z`dOsmMJdk|QnIYf>%>2HPiuT#w^+~Ewj6bbj!WalL_B84tAnKYV^k|1BlP@seO=}+ zXp)#t58A%s8AyPgy<-ocPP!s~`iZGprxfYTqK>gxd=-TNZ`hZnq853K{sEo0AmK=? zb$nY{*h%;I$sqLvL=sHljvb!D+)pzt=GK^67_y^@#c(MuFC@zDhlwFB*WS`Wu+SJU zrj0yE2s@N<>dN0wu)LLW3gl)vHQK0#*3iVsk<2VlFzL}E0TEvzh(=7HHi4DQXdBwB zcXo>Iit@u7ZwAn@!7~lyu`APk%h94%&JU|>4-iXLxnOw(;yNZ$VoNJCVcYJS(cp{k z`G?qX?y0axP)v2JMXC<5PKc_oM;)kS(^Bgpyuv0>>J&evTBT@347Dfv`r>2T?7GtQ zFyNPP2hmtI_%{wYuLo-1U=Eajm>g0Cx+@nhG3d6KX{%RYhH6oK%Yu_KzA4kEUl9+( z%%SHUOI`{DVoV#2hd*dNV3L26a+OBIPQ^rXayJw_$iUinll5Y*gx9%ilai{}s7^BJ zK1$ssaAGv??>8~pMI!RdrJPCI<=ch05l#(u&%b8#dJ91>YXmZ(u0 zs)lmUA784Klw+=h+fsBPUalQ>R!urUX~=pK|4zCB_dqS7UHTb)^>dF`J@Rzu9$hdv zj=XE65b>;VGmqCcl;SH3?btiGt-ekeS4KTETEWn9*_YVjBcNsn3x`y5o8f^vyaP*f zc;t^>;DOp>MJ`vHWwO5GOVGJr^Ua6R>b5kW>cGaPz;DL6_exPz9^2j7GgZ=ns7cKxeB^8vQSpR;jAkvQLp2lBIkDsX{LC z(odN`*ltVcCC>Q1^;P6jZ1KLjisyXQ9q_xr%{?Gbssk7l-n-goKAg;9cWQ4IMj*Sc zE0p!Bt8CKRC+)gBg;8E4?=m_u5U!NLmdZGBLD#iO>M2_0Vm?N`7PlGl3!`b7PSUC0 z04rsViQ@jq|3P!v5|a(jNXc?<>?R@~k>I+`D?MPSZJu{>J$lwzwUVk@ z5cvTCTYpZqtX76+L-lEO(?(A=tG zy}2t^@(Upizhwc-Zk9}ipSIj2^LO6LGO&*Qw{`0JTInxAQ4Hl~XxcBdu;El>GC34X z&4nfIYQ?b)2=e@t!xr`5Fya;qm|A4!$y$_ji0HfT*%o@3DuuP>h+lW5_XFn=u&2U@t6|iA{+t^Cuq~JVG~b&QyR2sdOUaFi^_%qKN=2kc& z7twa2$*7WvqQer6r=nMCxHiyjP!$;`DVL2E>S>^<2=@<4NZV*_#4D!gcDsLlf=aU? z&f@dzPf(sS4*R4*Mzm$k0BPElp^m}tIm&c)6eh>9k^M_E1B#Vt#JpVU-+&R0w1H|u zy+)yOGvmI7@GugxzwsNhE)bHZUW(UGao7jNQgNI69semh81_j$fdQ#hm(28flY3f7-21HL;w?1?~hd_qd1Tw3%T zUU$;v(3--Y(T!?904xF~lYpcqE7_KSM59_N)^_$*TX_;Gi$grMg&T=0%O&ghD5d6Z zF@UPaeb0=Pkol3*q`eDTAyGu;l-t7r_vA43`*I(#CTE#T;?+BP5K zM-&z^wB4{C8x3vmbY&6e-}m2A8qIsP7zO|wowc;OrNx~&wX5Of1?U}HGVpQhh#rf3 zI>7M|w6NPyjgH@7cv*?VIE9TSqruVJpel9EL<5Qy$(zsCWQx^RBuCSH_VjN>nJ-DC zgYUS3LMOey+FUWMSBt~Au~xw6c@?&t-H}NWqavC>YVxk=v6#SXri4}Q^Gnb6@^1pM zI%|KejvP4|Ry{$(2liz2%wSJmr2h@#)nC@Y zEeNh?kQdOrv6rGT3qfCV($6Kr>RUQ&!o zMQqioDDLd-z>!#nDuFq8mS+0Xw)HbCp`RhIUwK}QBF%c`>qpO~_pvEc=_wAGs;#YR z#keV=_8~uSTy_p!O9TipFW{+C2m>qm9o15GiE@sb(0T6V5z~~O6VHjp2+WR;`fI~8 z(8(s-&OT;sYju@dt5IV8h58V|nDK6&jd7mJUbn8$fxe$|-@$5u zZacOpK3f3}+*k6jAAc>+)pyvB!GKHdD}7JJ{zt;607#+WILx;)NFnzfDg*?-7|km- z*bji9=KJ4F1M2pf#}M?x=x5+7!BYxkultT4;6^MlusnZ<%RZ3j4Inmwnl9P)XTWXX zR=*9H=9q_=7L3z&MM`2FTA(GhZ7j|M%l`|Oxzz_?^o;VQW}|Nrk|)E$zBD7v+9sp4 zM_Zb)@Dg{d=u&Ge01hdn5k77}`Ag98mr>9!vh(&jTuEwK$l0_^AOQsBHR%vWmF^}6+@)%Wb43HA=-wK8ESMPX;H;ba(Gkc zL`N;e=Fx@i!NnktzP4rO#5UxSv`5hj*omlEseuGOqd>9T^xz_?-C|@VJp*Od72qVXUFqqmcK39yEXs=1XCWs7ry6L9x|Yd?!LcZ;zN)0F5cSWyKFz?h0)MN9BI-_#n6 zI^eNa9%U8!d18A>*QnA)QC`K-E^H5|ozG=z2mN%Ut2o((8woOF{TZO<@YN2UK19_B znm%aJm?s;$ED)Y9S)`=+m|(6x7(y@Jb_9gWFNe2w!P)@k{LoL1JbDo@=qt#2d(~7Q z6`rw%s5db^dBiU6RhSa!NWpXInudX>cSEy7F?`zA^y@L491fpAN}3y_k!}KPRj^xw z+ry_G`J-CQL|rK_N+{nJFO05GI7U*dZ0%>mzzg?jkvSqO!WxL(iSS2^P^6V>w%8!( z1#+k!K|&PpJsV{g3Ed&QO>G^$`q_@|mzXjESJe+w2I;S8`zyMOXL@j~pXD=7NTwMctDbUlffJZKA~+{6T5F zhGJ!Z@5#Sm)IPg{SoTL$T>&0Zhjf!wmKsi1r)98pOrWObV6mlt!i2j9rzZ!IAp^>p z{1~bZg^QM}aWQUmJzrAm8qYl_<`5>J`{GP1X zvVgaP5<(88vl%Q*djRFrH_2NDU9bs2bEO!qQRP()mn2rP1vp0NPbZHP^;G1f<(KU@6yD zIYNe|+gf028|Q(ih>!^HxiNl1lEz%gI0`CHG15={?oY<3o5_Wn*@aN5$+{}Z$TSl* zG!x%xCeCRl2x%sAXeRV&CbnoM1e)eAN}9Y3Q8#~j6G;ukd0Ru1`dV}!@HV!H+9@c^ z2dR54MsiYsMgcpxHv1Hy0@@n!+bKKRd1s4C>cq`;6jb2sIL&tFFnK70d2=O0s#uuNz7idINHg=P6MNo?02kz@ z*$c9ceE@cuy2~{(NKJE36?|7fGgECB;*ej+C^5E~Pm=bmG`E?bwX0i%5z-`q@3qSQ zGsWwrW3x<&&L6GdZ-}r84UKZsVS8oETKT#3qm;7j1UIDPvF@j7r%8$}?OhB#h=$ zP_#8%@>uE#{$5CeV$6bu(C1Yn+H%}>6E;ejer4%q6CEv+X}b}FGL}1*H&{@+N7_C4W6A?C&JBRs zmT683+wcm1dLSjv_da2b&-^NV*^w2COG7#C@+1SEg>jhL^NJ5k_yRip8TF37@{)l? zK8n#QB z;3XUp2$3_IEtdseeu1eLunyGue%1T`hyu8Oh=oQ28b7FisDj3AhBs*Re`fgQRvR{# zz`?+bAi=<>z>=;lFp~&4QIh)1VSyp4%8D2wUp`uD1b)zer=Si0N}?VIDR4hs-o>7t zo-JcF`1;UcoksM-%;6`z&?FT5bwBY=9P5mMbhz>v1s5CN?KzhVn~Tujvo(CS|ji%Kf2qv ze4~DXj|rD^kDM<8oguOyIh2_OK-pKJYdPbJE(*{AF)iL7T zKqFneN7KAPsBSiHSWQX(l@}=8sCPUsX+63&H;55i2FH!v$Af>xgIzyWA2TH zv%M*byUr+*j35vxh#G5dQV~eEVq9>4=CX3=$inVI7cG!1VE+0wkGUH9^U~v;ok2pT z)BGu`OPAK>*Mu8ODD+<9G;Y1f#^F4>ec^(AXDnE8g+NmQmN(9Pv6W3!^@?k4qJ0P- zjuGernij;R)|=eNInKMOhw2z*cVXAj63pi~*b{Xio9PkEXbR$4<*_NIHFVmG9P#kd zMwMUwgjL6)qqrf`kX|{8^YY&~U^qdVIOO^tw}jYa(a>_z2ZscLtk4(j?_ZhlF@};9 zI7xtGkeO52KW3&je^7e-c{_Y$14Cv<&>Gp|ztI}U=q%g!B{Zkdz^bP4%s17S3^5*T z+U85Z^?2f2M3wkMk}H=zM$p!ip3a2T(iV?YvF97Q=>p=-#ppJYS~&?rTF(_Ko_=oG z8@Ko2jTgy7)zi_odJXIh<9AH{XiQHe#?=6>Q~69Vr2QbPI^C$pZ6!EH$r9OtoyGlg z79It^MLAyZgALP82qoB#M;i1;&0Bc`p6qzsNO$S$XDOAQkZYH+q=YH3yr{CsB0p9h za>WSOGn@f3u5P-{r@0$kmheaQ4txvlaxl;aK5kUZI)cR`aIVA5ffKjS=oNNs89VCa`G?|NUpMd+;4nvm!`YS=c{wAkR-o@!KWHLYtv(|__jc4tfl zLs`8>ZF+2b9p?UM`H{-^c4QdGk75+Mem3Zie>kk4Of~4q1SFKj@JUw0V6#G(e^3UO zzn)jiq-+$$i)1ZNmod|z70ZZAOF?Y-P$F&I^I^}SM5w^K@$QOK$j9(~(>X56P@^PP zKwlk)QGYJaRJfk6U{{8lMt@rq?%0kR zWgTUt2O31TeK04^tX@mGxu+9-qQ$FC1yvOm*qS{VdUb1D)h4Z+nm=%WZqZSS{)@mRKY<%+bz|2}86O97$O-*6Uq zlu4i7vC9WjYePb?iki-q_!XCJ&rm> zPr$E>VMBg1YCpvzbwVE)*NgqU!ntjLd4vQ0Fh5EHp=rOCi)^zUu{^)Eoe8bwQz3aT z{)ajFR!&2Zc{d+VtE1pJ6Vn6(H+UKZ5;oNw%@lU6 z0Lq7xYTqYd1FhPH@RL0NN71dY+AR@5N_nlMUt$s0z-&d@qJwcH#6K1WUZk38OypO9 zFZcbP--PFAdBr}a1FVKk-oLPS>#&K7eCSG!g~N&l%t)~lMK*nDP_>4$yfz}A>cqVk zmMj|~vG{pZ?y>NI7Qag6ru>&Ka%h>yn=G)lFdq8{xf|lb;FOQ>P$drF4#tT8+m;l5)YYm%B3~p68 z(+)UY-a)Ct)RZ5nLyL7Jw`cm5+QWx~~L|1DutbQ5{y@Ko`~;ygPz2k%77v z;Vzyfs4^^+5;EC8@j{y#EJB#qjqjo1*anjtbngIoGF0th+UR=Pat$)d$NL6&oQ-;u z5oI0bcFTdJm+|(uc`LKM9b?N}KW4JQRf2g>Re!9yU&N-p0APBI8*UuXmYoe(_W~7K zx7qZ|2yz9h6P*L|$lYGQ;|AIhn?0qj7>2&_^W;=P3=6kUPcMa%{*coa26C_#7Jxjf z+I$Br4bUdOIljKIu|Q;{y*)MaO6)Kjh_t9?6ErUzWgfTpsjre5tqWO7MY-%`GH_e; zfr4#44jkGB$>(!kGui+fk#Merv!0mBka<{y_Rq7(^ygFi-tuR*tjF8*2)2e4ynhdM zx6KZ{Kc$KYu^vNrO-D=>;~bA>Ps_c)zbC6^N;Az*!n{uv=PlAvcFPEH9CN&ci1e}_ zYu?!=8I*0O-@&{u51sC;T|$B6y(jZq<-Nmxa~wb3<%$5Ak9~nJeZ@k%hA{8r#X^&5 zy>o^{`7X7f?yU&22u=0+)LoYU{%-?#FC>351Rzw&40Ua}uDnhZIGz z$tlMuk--v1&Z7|CSyogLI?XWct(rudX2Sb!2q4^-^V~yx3 zQ-p_i_p?z;W?-K+s3Q+X$)4pngwSUm4;9(e8M{Y0b1cg1OYzHYR_$!MDq__!aCOWp zeK_XTl75+qVWrzdW=_m6s4Z&oRVra!EA#5bGOM%rP7nb%x|&LBE7sH~Du1b&+mWd= zs?q&&3e9BHt@DT>U5!b8|bAbDpn2^))T!C0d1t-nJC%ohi-??sMv> zXOR$Dvoqx&vjf-L5^>|$?66eD<1l04sXr(MN;jA31?vp<`fvKz53$1316xM2HS0oEnm@*og%#Dc)ugpq$YZUMav=^{My-WBKcxx8+R&jTFn0o3GV#>TVMC5>Edyz zg?K4ri9s3Aw9QaLvGCP&2^+;gyN0(gj2wUkv|yq{o-a>6@eB}Jo*~S+i|_I+QrP(V z-bc^}_xIUCfk%q|#}PL+2W^KeSzk+N?vo=34?Kgin*aW2oiH`Gy%~T4%Qi{}TLh#I z*Op&1iS^S;X&N5rlJ5Y}GV!ZT489nS_s-vGH5Wp~chudr2TLEfpoT&-pf?vrUsP8C z7coXja8pxK?JtlBc0ZBbGb|RjdsN};2(E10=1x8WK_3~5mRe(bq%>5qnBJxaHa)J=Q;zx)xu<_2@zVVQJdD^ zIuCqgZwCUWEQ7%bk)k^KiBAydb?9n={JmE3D5Lw3nOz+5K^-zEC&grj*vIbu-ros# zF5ywpfr>QVt7z-*^}i-Y_kWrw2V7e&t&wUyv5#yKVjC zeQ)_iuM>_pY%ASRo#BFlgkv)cxn)Xwn>p0sRT1MvO|+@YT9=6*ZC7&0f~#fG&R5S6 z$yB~J`cCuE6At`Apk#Aa_^O23b;P`SfDf6qTWJ0+g?c>BeZ0IT8&0{~c9HtZvi4at z9dO$TVchBDdK)E#*%&BR(;L(c9GGw<$lK-5VKxh0gj+gxTke|;4!pY`-{nCY75}lz z-yEgEu7f3_+K^C7Q295#{awKJlM1&AHFq1!Zb{kMK(g#t5Wj6~Fw`Gw^I_R0qsICJ zikOwuj_t$!{69FgSTwA&IF@zr{lMbcgVHbY8sGAN~MF!!Ad<6~wkFdVw8v}!Wj>zHBf-aT8``hC(G2Q4rvHQhDXguey#AuUVVugzH-|zI9yaqHR`Z!s zLYgg+K4Sew?F~Na-g9$ZEWGqgu$H!o?SSP81ruChk?Zy zm-2~mrr)$_jSD&Fe=2^W;tkzk{^@Ag(tH@8XPkDs|LTGo>PDto`kU4gwM%#Nm&;X& z-k}R_zjzqN3y?Wb>41LP?ZLQs03l(#z&tZ9fnOmA_1l;*jYK|Dk@Cy}VHm`eFiWf? zhr*DanhA@-2!fh1*5J$_J(MGUVR{gva@BpE{{iiu18NbDy+Jp`kGiyG^=OKzeuFWG z0UU~ES2UvjqUsDZIM5Hz=w`M|8o?P)6#oA0vc4Rrc;GWL62J8h4WuH#bL1sYUAF_Z zHX&~?=+buZi(em9F7gh~+n3p&197-F5C%g!1viEGrQ%ci6~ad-Y}Wg zvbV+**MQ~OJb>>moTX}P96g^5kJ8awQBE-sG_s~_l61`(qb0Z@2h~kjc7Z9GOD3iK zA=+py!N)h`iw9G8lbOd~-;jh9%{!+0=)z9!mVy-w2bt`+uu;q|saR0$1GV?NH98CrV?!uWB9yq5ZrgTbAj^K^o$IPvHTTnQ@jY>=^Z$W5BYTy zW@+Z_2yf4km%94@BzK#Ta%$#=8CCiDrw$czor%y3hlKfR# zNkGAmWW^Ytz>0~3a@WRRvFIBhnGTTiS<{`;dJGzcwz)60W?Kod-h9o7cHKgX}&V9%X8^2NMfo1r@st3hAaKO_Y#Ke@*Qxn}EE5+iF#>oy$&UTU3ij5PL{J z*Akr#z1ffL60ysy$ah1B@9+s6quyD3!oZg$$;6NNkWXL-Ze$sUWI@JfZq2%&Bbko* zKE7|d;?YPuD__nPIkuXYvp{$GUQGk`!)~;F^wK4K$Nd)dVf2E_)mp&LJcL!<(>lyg ziH^p@on^a622W~GMr=o7QFDU(2_j4(u|kmda9}^zkz_h2`8bq9>-x-&#JEos98l5N ziK{^sOwq*26cxL;fc{uQ0e=F0yad{sTYihz;ckyz+L=?vqo5sC7E3HGg5imv%s-VF zVd1S-is#A_rPGTpjEnHW6SCGfw!hN&trf@eahCuP;pF*kt#J%Q?`Y4ZNsHg3lQiol zI0>^4=4EgbwEeP^h^j|Wjd#_b32fzV1v!;IhZimEmEW-*EbGH<2FcmBxWoRzWIO%- zW6lrpXPWgm5mcvfop*MZl{X>$+<}5w{iw)=Pi^e>?z^T!oC9Xl?R}HmICX> zApMWV?is$960Ke=C+tF(FAukk$h!V>UMZpX4Kv=y{dXei00$713Qo0r4^V4kYpb_8 z=clEX17SDZcHlV0gRTa-K+I!dBkG|GPs3t6Tf(Rn3=Xa^j%5OJwgad0$Li4VDm3nB z$&#nu)WI4>_9^2*mm5!-zAm?ien0eqx+kQjDobY^y&sWReby_)asc*UK3)G|&bgUUR)OYeZ zdO;9$-U{w*zvv&W74#VpeDzqFy{geTl zt{T^c(-Y+HLxlc4B47~em1K*2C?5c5;%%>w>{|Fn0vM}QYUlSI?#n}d8}9r2v+9hW zUKcUW+35Z2bqwSf`xOX0+hnK6mwFYpnYfcmen!aOZek)gm(5}dhnjrCDO8FdD zi3DC=5apkkiRtR~Q6Ji8<*iD#UlsI-vSLfAVc&2{&0#caCxJ6aHLQ(nL3}GYsdyu& zkBJ|cj)7n%h(AyS*{&wFz}b^m$NS}Ww$@#)vh?qg8&L-#h=d1B@w{rms?Kp`tq%L`Bk1@bdit_7r|KslkfyhVo$NisYN} zY)WNl`GRA9jRk4fME5O9!Tl2c$kUGYXv3fSD-?g^xPer&Lln}pg8kcTPei;#pM63Z zhYXv#5m_CpzDy%!dSg0_+Tl}7@q2SKoVt7)?Cvd)=@Yfb0{-Tk0$$xjtvAfge?N2& zWYk7CrC2`OO5Q%D-HCBdtvCl_EpSffhSw+Un!wVuIKD^d*BW*d7XPwgmL>3QlM6uH zU`mL#h6kQ2>-8*v9MAewqoW1&K)W;SE92}vQ;6q(rV8oS&Qt*GrS!@|R3w@@{;bF# zr0bNAk^ICB@HzVE(lzRQe9U=*Yzdcof15SZLt~6-OWE95fHk;#-Q5psQr+ulGnc+h zDNcwuDp9D}hx%MBzD;@e!Mcdo!*}k!+Na>(SwMuR+rM9ozD0Ervt_PWY!AD%pl4;h zZWZqL6PC8n&&$DP7=`BG_8D|a2c}vauNNl5PYp+jpl_B>f{Md?M;v~(Yg^7TY3$ji}Lrrz@@ zn5N@-?IQi4+SP*ZJh+$8GBw$P@Ab+p3`nTAxVsfG++HitmN4o6OOfE2+cgCV>de1= zSVTAbZ?05({mv@4s|ts}#&u{){!Kd;cY-F?r5y2)#g0M0_#k8W?VuoavsxMF^ZFEk z!{YQqW#mEpOqdUEf8JYP)?lR3UXvB{1i@JNuGJhTP5r#W*YY=$;d{kDtiC4G0k#%Z z7Q1#)v^2JfuU}<#fG(uP!yU$QRGPy*8XKzjR>udNJQ7TDDy|yL(wyF2&>N1NQ|%Bb z=hD`KYKP=H5U6fj*Ieaq-pq|NQ)6p_RGVFQuQ;TSZ4wujRu>}VigtMW5($Kf%68|o z85zdqCYmTV?6)B~P^L5*VK@=ZfnlrFt|a+5+fBoSj>5I04~488)8Y8dkQAoSb^(qJ|i|q|; z9PxR^5%s+`Ap*^KiRTB`fz&Gv7VUW@^nYlB4l<{-d(uo7qp~?-LE4n2^n+vsTfPKi zgS@3)&u3e+DgK)dj6)i=u*La$u>dRfS^lw+s)q{K9j0;BXQzcLVygEC(+vk`3;nqW z#B8WpaPHM09?EX#_}0hcg&VA(5yt>&ezM(bF~?=?(f(VuYp0FruPzkkj&2J@gvubI zP3Y*W9h+{p57hrb&NU(_pF;l2*S@In{>S0cI{1%6tmpk7DmUAR4g6pE*Mc$kKVq*W zWD}u(t)dCjzc#>x^WXg)CIbJKUrglxwKAs4|Jqzr#sAWV-J44Mmm*BeOyYmbz|zbF zN&exD6Xe`BRF{tf;QXNeB+R|)qoY5m{9O|1VHjFm)Sf%Gr< zf3jcy9gN8FFIdll_}`=Svj9NUDg3P>OX{)sPoTE64W`Gxfy!aPz^MPLDOhnpuF7BF zf37R7B>-YW{crJWlC=f;f4Z^+=>7dmJ l`2S0BfUp4=n4_JWrM3Nk+Cl$~4F-nwcP04ixf=dc`afzXWH|r;