From ab6b82272e621389d3de5e5501cdec38e6bdea35 Mon Sep 17 00:00:00 2001 From: wolf Date: Thu, 27 Mar 2025 20:08:06 -0500 Subject: [PATCH] Added trust protections, made broadcasting not spam console, updated unique and armor checks. --- .gradle/8.8/checksums/checksums.lock | Bin 17 -> 17 bytes .../8.8/executionHistory/executionHistory.bin | Bin 164559 -> 190082 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/8.8/fileHashes/fileHashes.bin | Bin 23547 -> 25947 bytes .gradle/8.8/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.8/fileHashes/resourceHashesCache.bin | Bin 21217 -> 22237 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes build/resources/main/plugin.yml | 6 +- .../compileJava/previous-compilation-data.bin | Bin 61379 -> 62433 bytes .../java/me/trouper/armorsmp/ArmorSMP.java | 4 ++ .../java/me/trouper/armorsmp/data/Unique.java | 53 +++++++++++++++++- .../server/commands/AbilityCommand.java | 8 ++- .../server/events/ItemDestroyEvents.java | 30 ++++++++-- .../armorsmp/server/events/JoinEvent.java | 2 +- .../armorsmp/server/events/TrustEvents.java | 30 ++++++++++ .../armorsmp/server/systems/ArmorBackend.java | 2 +- .../armorsmp/server/systems/Broadcaster.java | 6 +- .../server/systems/UniquesBackend.java | 25 +++++---- src/main/resources/plugin.yml | 6 +- 19 files changed, 149 insertions(+), 23 deletions(-) create mode 100644 src/main/java/me/trouper/armorsmp/server/events/TrustEvents.java diff --git a/.gradle/8.8/checksums/checksums.lock b/.gradle/8.8/checksums/checksums.lock index 17750ef6d02978884e66d1bdd3f37fe723cc19a6..166c14284d32d0a4e6b17960cb707748d729c081 100644 GIT binary patch literal 17 TcmZRMD3>v^U4J5)0Rof&CRGDc literal 17 TcmZRMD3>v^U4J5)0RqGUCQ1WG diff --git a/.gradle/8.8/executionHistory/executionHistory.bin b/.gradle/8.8/executionHistory/executionHistory.bin index 294162160d1f551b73dc15658a7c6476a39ec5ec..71e7a1ec29370f632a532899900690e7038230af 100644 GIT binary patch delta 5100 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 HpsN1^*8XE{ delta 2187 zcmaJ?X;4#F80C8qLL`u|B!MIph!mwNVG*%v3u75^oq}MgAZti!AcT+r1!YEBQ9I%i zywz*eQKVL3L_k1-Ivq?MD=t`p4s|Jt3ewRk?k!fdFN7B&X#bw?JKuNCx%b`oZJYhC z>n3PjfmX%|gXp8F&Ac)d6S=$1B}CN?iEeSzZN00lth}r7aSG)JFNd!r?y z>F&~L8#wH-h*dRepU-J1ub6B@_+3Kny6LER7mp#%k^-#Fl6Fyu4T*?R^dVQcNkOQ6 zrz_GQ;=)43J$;|;y&p2`gWhgd1PZV8fnLk*ZOd$|0d&X^ z?*`8-3%EQASnd)&v_xj2d6RXZ37RX92dCfW{{Us%#m_#1lJBypitCee2b>LnR7^gBaydIOS}NH z9SOQ=*8@x5wq-P=U2caY%R}I$WdW6ACep<@x>~aXD-KR~-AyH2f~vv%?^~{=Lbab)tyl^*_BrX zx5B!gVnYIONdXQf!EYHQ1>@qQK&QBVJ&L8_7keI9&0Li`RdTL`G&>3IQk!r)mk^+^ z1P>T6LyuL22kK6s1K`vZz{SNez#@Jou+wT{AvPBA5*1;GwK3p8o!tpZ812O!S#H&) zSR!Wdl?Ui?po;Jr?x7E-K94IZz{j%RU zX*crAB{rZ(h6Ew@>?Am2&dg{?h}mC&EdYA7or`-K!2#Zw%~53+l$b(idjzZ;D1Lta zLW$(V#w$W`A4-w<;2vj!X_`8oM#ow;!9?8D#V|B(CLOa~i3wCD_g0^&In(k{-Sq@9 zZku+v7wWN7BZ!83-ameRE;(K+F@9K8HQVWX&Kfkb{SVselvXoIaUsMnBj+&etE(I#c^Wu z=c|Oe`(Hv8nXUjETTDXD-@cJMkqkDxl8XXlj)Y-UjSmjLN;se+GCKRUVQ$IOf!pVq zjOC>}R;mz&PV&;Qnt@}w3l^+E>YBb@aQaHIY|`EtR|o9#LPU*bjvX$)MmU&=r!CeY zFS#q}TUf>mQqC4J*0|LV;%txG(2UD?L=Y0oY0yWV5c!Dlk?M#Lo?0Li5hEiU{SH2Ay_?rG55?}khXb+*E;^;NH-%(5TYzia2|J3I71Y<^ zH8_xPE2GOZd9h(K^2!hnH<*Z)Z<_#b;S=`gvVw-N;?vP*c#835&Q)jUsibOgZg!?r zsmW3SeE$yA>^k&a9C2Q*T%iHj^$w<~X7-W(e!e(Du2Csc3#s?lkFmrqMO0WQEL(DO z=%H^ZRK9oo+tkjHux&%tQcZTAS|Zhmvr^?su}YEmm0amxn5D307nk!KE;Z2>y3ElI zedEaBL+NN0=lBr|kgV1VE>P#@%+`xn<;?5Sl@=b;X?(AK-QP-WL9}`ndm6vhC3$VY zz@F0J^47Vf^Nb@Rah*RnH5ApW!E@(9-Ve{Lw9zXiIgBtkz>HykFiJt_IhA`^z|NVneeF*M}1qR>D9%m8d?-zkN1#ffX VaMqS_TA9LL>s+CCu7IC<{sV`{diwwX diff --git a/.gradle/8.8/executionHistory/executionHistory.lock b/.gradle/8.8/executionHistory/executionHistory.lock index 28251b75e303519cab159cc3d1cd255e8bdf4e77..6d10104528c7898aca4bcea305293ab140514330 100644 GIT binary patch literal 17 UcmZSP%UL8YayH460Rp}O03w+Kxc~qF literal 17 UcmZSP%UL8YayH460RnCS03v$>n*aa+ diff --git a/.gradle/8.8/fileHashes/fileHashes.bin b/.gradle/8.8/fileHashes/fileHashes.bin index 96a88a31cf3cca3d71eec7c11a86cee5b8433d94..e399e01a2815ed744d684fe79f4500ca9171e33a 100644 GIT binary patch delta 3660 zcmZvf2{@G7AIE1VYnFMDeQ3ry+_YIT(p6C;G^T{eAWNIlRg%)AE6XF{p6t}k(v{`b zprrDre^Hi_o(M%m%9iTVawY#WbKbePX8z}Syq@Rl`}zHT=bYbr&TFQc_^g?D#Y~Nu z2F%q`u%w!ov6fXHvjqNNJA+y^COx^jFr&9k#S4ks4d?KY8v3q7nbaDObZ-+NuFfDI z*>)vpLN^L&KGncnok`EA$d*|4)hPpseqn+DS;wt1m7*-Tcz{$8rB21Nz8%}mz1Oe~ ziEK@frcR~jX87oRjLq~!V!$UsguI+q`=;$p;Yi;R49cPT{NwY|{e5@W;$hhW^M!L) z1734gt#GqBXi(otFZSKfOMZzph(ja>-S`(_8r>07>VA~phJ^EmUxoBblifB zv;aRKPN8CNvXWMK7n_wJ(XR+-L2)F~b*9jfX@bPh#iLW%$3)_4>g$5++&2uOng#FwU?c~M4n z#?7;!fkLIv?_ay=M(qPhJk?4;1R3osPC9;!FG%;k1A1XyvPJgS3}j~o>E?lH%6&{@ zg!qUMeK!U<{horWS~PO_LrKd{$JI#lwFeKhm>8{~!z0_^(jz49$O6jRJ26B1pPX$! z6%QaWpaC4xW@09c@v8S#A6Mey5>Tsc>9H(N;^T?9DH0OBW(1X*D)$5p4S^}7`?vq2 zoBACf>&9P3x)1Fiol~hWHnq$V>At04Lc1T^80R>hKjyIl7nMQ7LRYf2`rFqDart3WVk$$|*KG~OqAuQ-V>uD>)eq3t3o(q8Uae->}<005F`#w2-ZF72}_cPTc% za*e}9DQY9TKHv7wjdfDV#%1@Dquvk*#I&yGuM$xLu^T|rwU~PISBs3IFk4LXoJW$U zz4d9n>B4#iWRhME+Fb3Z(hIY0CaM`J7Sz~`&*m4vLxh;t$*x+BOnOwH?_>ZxS=!V) zUe8_)x+>SsMc%f#)g9cyk2Y9`8zqM-Ggz`js*Cp-f3@{XEShXdGpZSBG`?#%7C*DF z#lU=+f&zsQA8++`wfQ12DKno9ggbC1$y+&wm{m?ML^wX4W8M zoHjo@X*jTw=GG&@`LSe^De#S{Ub%KeT;#**E!MzIlf*;LVw?xa?mSrB3$A0-L zAT&aS7?k>tX zeY3QyRs_Ro<=ltd?Ce5*lIzuYH;ciQ6;8rc_<@gf)dZy$+NHV5ms3QpCE`c0e7ns zXXB-F$!99^)E@84JuFAf~MQyFkW+P)uHk5et2-tjU_y9phU6i1YRjg^`h})mg9y^f3 z=?UKSBQkHZC~})VnG>keGS*=;sTk~#IKt! zSL`S~juYL8Ag3%BMI>UQBxId#T=>jgpg5I#f{i1vb$LU=5FB7CafV5rNiM93Q-K6` z>u9HG+~baWV&QM0LeActR!sH!FnM@Wj{1ow4h)>QfC$p0D502}my;iR_|$A!d5dOf zsGxNIoy^-d9Z}@gZ#HrlJqH%K+E{6t26firNeWOB3Eqwil~vKh(fI_be3}ZfQy5dO zK{x?#HQq4gy>&vwr5B~+I?kEtmFYFx^2+`stj7^}_wt4!6F!6xl_AEHzd{QDfE_c>^Hu< zT}1`CWuisnJIuW5W3kUm3%(_`d}5=AwjKKuKhjQ78NGyoXq_djxdy zW?awvP=;GakcB%VJc;__F*d&a#;wY45;E0dt6Fe`*Pw7n-hvOIY5NtQ%)hhG>BtJz z@(I?k<3gO^l>>)#Bzy=F3ab|@Q{ua;WLbShv`f~l6ok~p@d<)KJnyrClc0iaFt(9P z_$m5&ZLj%V+>?bo^9@A9W*dv&t;4#ukJJ%UN=`?>mkZ9eeZd?eq@+ZN=tz5|XYcg= zsb}P4odd94h*0K#l8M14DhI)6%N#-KHVtZ+O$p;>qBZU9`}o$Q*OpvFCDrpz2sq>q T0zWSU41P`FHHytbb@BfI-T+>% delta 600 zcmcb8it+b$#tkMCjH#1NB_>S1E8#IYRMK$rJW2P-qEZr*U4gh4h_6Z|OiqTWzWfMD&muURU{_Ys(hF{S2c06 zn3^IJXXi%6AL1JgCh%=`^jOBB@N9Sr=H{XlVAV?ri#hz zfh!cY3cUWnDDFGgg?}C&zi7}^s3JM2BAvp{&Ydt`8?fWM`lZXmSIWkC2K`o4ZweUi>e=9ETS35Dic@RCxF>wLyEW z*_4DWF(KRbmi~sS+5lB$JJ~c!jpZEQy~@dgep2-(wVehaLF+Ye-%IY`eTOf40Air!B8<#|smP(`%yM5P1Nl2VXzAlNl| qy`S3T$02eGa~pSu@@{*}cF(9YeZS?3`A~%r_cMvD-mDmUiwyu3OUD8L diff --git a/.gradle/8.8/fileHashes/fileHashes.lock b/.gradle/8.8/fileHashes/fileHashes.lock index 97e7d73cf3cacdb83bbf34fba05d2bf47f670bf5..5966817dbc5688ca7617c053d1ce7cb92289d6ae 100644 GIT binary patch literal 17 VcmZSHRrQ78AlK>b3}C>*2mm-j1bzSj literal 17 VcmZSHRrQ78AlK>b3}C<<1^_sf1kwNi diff --git a/.gradle/8.8/fileHashes/resourceHashesCache.bin b/.gradle/8.8/fileHashes/resourceHashesCache.bin index d0e1e8d9cf951d207c230554820f86e992ba9724..eaf164df7ec563173051fd634bab94e834ffad5c 100644 GIT binary patch delta 1455 zcmaF3l=1Fb#tkMCj(JV_dHJ8x7N|3TLCF38P|#AnX~qHL3;hsrPkoqpYo6MZ_iy9M zA>yIRlU*e;G^TyJoA;??n~?lb1>aXe>&ZoF%>g#)CP^GI->I2vepNo3eUqF`s`iOx-f6S42XEh?8#@P6a-#oM-_g4 zw|Fzug!hx5N}X_EIuX^WwpH^wR4^T80`t6!MFPAbT~L$VVdCrx`=(5>WzB+`EIfIs zbbx@sHG3=DORt@whA>WkE3F_PcJ&C~-VN+$pe8U+W|i3>puL6ZgzM#dH=x?XC$E)h ze&1gKc$WK~%U4ZA{}hhfvMU4saQmBZ|JV4M=F@K}KnYO3nwP}v6pL9=92 zwlRDcf+`N3tSfgyAgOXHSEclZ2&l29li$i&2xOMMntk@Gusl@d?#Z(977m4_e}2q$ z+;<78axcuT(vk^s;XVR0A>zT^F!3^npX>ff^aer=F`n!zU&O?fxKZ(k_(p>ryqg_8 z7I4)Y17#(FSP+B-F4jGn^6LnX&&p|bozKsOg8V9ns$$&@_N7w_yH38WIB?#&R!$F7 zg_5&NgYEw8NYTIA5-FS6cVMd6?6!K&hZY@4)2zw$jE*@4mY7P8iB2(QNY?+c!Kn6r zeL?p!Ocm=SxA*0*W?8s?M*Ny3(%vGNDi%zfCuF!Ruf_H1k_#*Xu|1e7c&qtlu;`VT zIM%gqKlx+dv&PBn-X;S3)*sw`>e7vf6qSvUS!dRmOco3ho*d_`IC-wWlE4yAtwYOd zUh%d!Cau)j$-H3l{Q#5t{34^wn3VKGll`BU?I^ztiXpUMTXoY_z&$Rm->Nd@+2*=* z3rrQ#)h4SmkIMY%3yO~~J>0>Bsls^GhrI6ggu7RR)%VVvzF!}%q8`YC#Glo?0^Qb2 zHYcxH&U`zmc;70x61WO?B`@3a&Zqpi`tPp$a&6}oOcm=lmc2@8irMI<`zU9bz{1&> zD!gv?J~w>7dqawT{ILn#ukKB*_A{B>8KgA1+Fz;O>ixIMg6S_)UIZLp6Ifu^jj6pq za*9))!6dcA%ja$6-)M6VQ^gAI)k5czm=AoPCACvrO2P|M#jA4{KLwH h31x5 delta 115 zcmcb+mhs_I#tkMCi~*BpVsfa=fyuG59+UUVN=$w$yJGTMxys3Q^7@nK%HNpWt8id)s-nTs6E`}8ZHtd)3~WMS~qtd65uG)$#BGnj|Az|8kw^k7a;yxxuzfD4?hrBnJGh3 z_a84~)z4FXK8HpT;{FB$$Un$|By$iF1naiTHG`252eq4|AYhG6sjRe(64WZ z!LJuSoHg&}NSj4#36v?7avfn4 zH2c~H2fNHiqjCAtJ*pGKiIck$*D@9Sy75nU?%m8iI&zF;EIE#32oXPp8s`(m2bS|s zt!tRNdikQ^vz=-$jW?Pgo=E;p4xEGp$+yc@IxRjK3DC%#bW@N({bzy~5isZGg5YUC z{nK8x24O8zZKnyx;3N{HQf%{(Yl)bm&H+*DJK8<14h{8wXtHp+XohqqIg1=P8wu8W zX?1cpEj|a%^w8?&B0(|-SGmfONSw^LT1wPyd{>G_o(|vfc%F2=aDkY<5D8SPoD|OZ zBE(Pe~ZB48vngSFKuB#AVcQYh_q6T5>czWmVNwu3jX?KYI zYjzl!+l{aQFf{gRt(?#T1IgHb{^{>#me}5mna>7x>v` zE=gkqA%j&HHc70crekrO82tuY7h!4hAwZ6-S>j{fX)Csq4wy59u&`XWN@V0CV3g|E zr?;)jUt_y=&4_hKfLfz;{09l3gox<9)D+FDJNNm|Mx~SZWqjd!qYZ`=HzEOYna*Vj zF)VA)`MjnsvaC4h^@~)s=O&}gt0rzi{M8DT8Da9hsorL@t;=)Y9OPDBM6*m}Z#$Em zOZeLbJ8NW)a#ti!?kJbLnGv!y-{a*fbFcY-W__@Evud=`mhOfG>ZOgyd$M=z zx9I#$l_wG-7k*joq!OtOX3FOh{a28Kf*oFMTM5gsU7zlrk6VXjHY9I4WB6l_ z(O&7qIa7$sd;FJgc{%ykpyrT+Ljv=wyiqG3)RYb<el~fhZY-lEEk$f|8*qDGWoAAZLZn#lt=vMZy%iogf!pj&e-|iuk)bx{lh1 zA^~m+t;2p;=kQB)BH<^kS`~#N;c|^arc~^d*(>EJChpCUKvN#G=-5C>f8E2T?Ksj#g`&6X7y@4_8-( z?hrhIT7VAWNz^eiFS!QAVZZZmTk&|~J?85f(`61y6*3iN5HdIt9fKsJCWld@BPe;4 zI`bH8(;FV#>^K|-rcnt;AgslkoMHcZ9aN0Csu1}LGWen(IOIgJ`+phlUfC<`^rMvZb%GMBpY5Q?9HEA=qv!Gp{V48&O! z@%1``ngMAR??LiWqXKl*In??*N?xG$6arwBHp(@C)wLI*|`Wf6;I z&Z_aobO)u^8ss)=eFwElLGQw0PEJaNN}hzG7-5UaR7f>yeGgrAA0;24J!fnuKno=(8SqhMGS| z#q}upf@07l{3YxJ51@8y0O}~f@TvZPY*qm|H#s;PuLs&RqDHS!qt~dY2^D9fZvYsz zn?3A3i|Sc~E=Dvc4QP*AB1I^Q=xH((@U?Qb6~h6;k+-N#Gb&C+hrENk4g;V8PcbTW^7q}l#qc+sE9ktFzKLVs+^*!8|Q9l_YpHQO?)bKNEnu9KD zrDOyEn2yqvwtE296(~ViS`D`yGk!gQuM~sG17W_P;!c$Oijv<@vI`}^O_!zII!KGfzXDyc-hF(lAM<}P>ifd{#R z!d(tOdm+A7U==tLnS+i3&KU{73{ufR4Dr`EYk#91gc${6rXiR(6eGhh z5a}uupRC7kJQ9wHQ_u(ue1uXBQVN>24-@alfPOF0A;0%WVrEg8WeR!#1IXPd!a2wt zqcOx!4ul0*Vlbno-=vYC9Kv$b@G&~^cyq?|6;>c%v6yuV8V6v?G&+R?*do3D%1}D7 zNzZTx>dARMrgBH(F{6W+C=*Qpc$8`f*I(pTf^;kf>tT$^rXq=$(IHIq8kYR}(H&(> z-()ph1*U~Sfh9;1W|WMPhcS@kBN!4PS2?)IR5~{xs}?_sAz}ab8O0ow2r?Yy5>`W< zm6XL=k08e|>*E+0V*CVR5;m{l5Pn2rf! zG5j>_0a4Asz+&ii83lSGnV2{WGs?yc;?Nw5FLGHfu+qs%?w~uPN7Ta+#guyxBoC7w z$Iil63O7&>kR&7@6BS_OISQHcu*aSv3Z8%g2@&K1wk8E#hhnSYxeznEh#3}P*3l@q zFa6eH%=8jwT?sl_f*~RQGZB;_c2F53NGWDhiTc1v;}PUCW|4wkp*RGB1U>_0g35K-oeCoF|ry1pLY)!qmg;(K#b)YEtm_N`vCO+ zzR;ul0Fzc=4}pGOpaB&AYfy}0SPdqw#iWlg%Sx;cNC)!i_}@M2^&EPPiH~DX06n!@ z>8SPu2LdeJr2olT|6d*Y2dJ?`ug5F&itGiNj38bhnJb*(j;EOD8D{z%BkM8p1qK$a z27L+e+5a-kT6|driqgQ+B1i*f-G~WqVfZV61%f7>9@N*Evu^#d^Op=1O z!wLEX1Ag*?J;wT<#QOi5ql`@ss_}rsM@;ew6L(WN0$A%PQ06Nk}+;WWbt8o7@~?x&HFG*TEvLxSDG zmTKG_4#3&^$7mW7LgjW~)LiixSn$8+SQ-)m78&6El_wAvW9KY-6|lv$XjuIO*MHAE zkE4m>X`loLX-K$6rqU{5C&XI4C~@wOHo@Emo6L=Es=B=ve~wL{*(B184$;UY3X~%l z7@}mjU#5Z3iAbMXo6~&&xmLd=YNBdEP}m8SP<2g7E17C18v17`zsRcRzEpQ~Z&inh$t|8(D+4Gv03>56UkxR2aLo?2!*_@@B z=F`Xm8hMUJo~Mx)C>RQ9NEAp3Qywz&QqEO>8Iin<3XvSqU(=TW_ ztfBlP5alZDQp%i(sU_VJ&nj{|(HZwQ%IlgQT%#FP&`hq=$Qv}Wl1AR7kySKs+qd8{ zH^q^1k2Q<+`ny`juQ%jRRqLFnp@-dBkLIZ_-3ZevM z0kHpCt;|{e3=YuAoS%b;YUEnA60XAQfemdQp7)tXexZ?_Kp-0V4ZsFSx_~FnYPGXcev#G< z0X# zwS%AAf*E85HtqQOmOeCEQhJmwI!3oUPB%S4H&3CHC+XxVI;1A40RMJ{+%pY8{_Q3q zhbzI-DJsf6;h>$l#^~6!mG>_3Ml2kEszYSdl#adLa1h5(@Cr{{VL+miBuPJ}6;S2QB0B><8B-?Y>NxT%oTl zqm$)y@+uwl@ftwpOr=1SQL2CskfL}vQ0V}E9r*R@7rEmNc>doHL}}mB+Y9@@>bm3S zc=Vh9q>q(!)0=b%+p2)j9$JONEjUI+okK;sg!91kj*;83NjC4qOM*D*-*3|;cj&^q zbh~Ogd5=!sr$bE1djMN?5KZ9^;X&r1)ZsPMHxL98GgdRsbJpJ2`MtoeJiPs)u9j|* zMtcPC$aEUTj@gb5#Dqy#+*rM>pTgf4zc7eAwu&q0VGyT|L{ zL?z@?FMvK!w6v$3Yz9WCJ&#WQB$@necE0JK-xn&wUeYZZ=%PkC`HB*r*RaV=4&~M+ zV1*1gsCfe{g)fN4S(Bd)9U8B==wrQ1WfVQ-E#17CZu^cdZK0Fz>0~P%oXZEG#D6ZO zm<9^l1`4c|pG1jMg|D*ncg-AeGJV49q~U*`Yo|*-(uJSsk`B6g9QqmXQ#iZmR8ZXc z0yhJyu5!E+p4=7AY8?^0;n}31+m?d)y5+S~E4*KSrJH}F8+XxHx6r#`D|jh|6V$qT z;5N19J0Pr}{0@}dKBk|qY@D;OIPN~r;7hXy^Q9kMZS9R^zL0q@WF(QmX-#nGSH3QGQ2>JsWRO7&P?lf@+z7_eMIHhhlxkiN0hPbZ6AGF{>8R$;=233PisrACNPW>8Nx#h z!z6}5GJ`zKpdum$5)LV`OywY_#1}uxK*Ij-qYZwH0mVcJ5{MUrtMIXn_<}^m^$Bx@ zqtlKvEKe|2r!b@^8RRJjnaUv303WJmu_GPM0NGK4JVTiMnhvmZ(@z89AdM>OtS-Ns zwuPo2f}Fh1$QCbIvLJ(DQG{j!7BY9DW6M(4vy6!&RdXVH4m=#C%3_#jGeB+d9L6sh zp#nYP$3iwJ zA-u>C6){A`4Du2KOnV970)=O-y-b6bGN3f4)n2Bc*We8(!Fnv|9PPiDl^k3d-Xsor zdxaq`W02+4z5p7273isUlsgdD4!J+{9CWefgMo8O?)ACcYYf9|Mg>q#p#ifAbdxEG zqdy0GBeR-@y2PQ6{0z3;yv_hG1y+=?&|uWpAXGf(%AL(`gPzN7FiguBm2fiDyLJ%i z)wfc=ro=9-++sim#28oIWQeO67S;4y)YV$8*KNR6rg4WZMsMWU+aFc?)?3}eZ`{kU zx^ahLb(bM&p;v>rde~D2>K+5}bs}bE+%b6GEU6i|CV9V%#gfeNE+!aph+I!#~c)D5AAz6QYZI(Lnp=< zhPAhrWX#+#ET;9?_rteZ8IlhS18-Ugt%goC-t1m2+Uhe`S}fmwb`z34-$$KzK%=+8s~^sEbDLR9Le3}iy?MYV!{|4t}cRvz(8 z2^v3la(H~Pq~KZ*lM1Jpzr(3H3gXfz$qQ#6v~o$2czXon_@fY}IFt!NH6F(N<+*q0 z2=m24^Y*rjF~hG!m9$y-H6~)j5C?BV)iqsw!@DhS`#v1a3TKKUn0EV^ru&%|DfCF{ z0*$_aM1?L8wWI_FYZk8{p5^WSu$1x9sw0YNm4qFjpm&0x%)2ec(>N}J9kOh9ks$e{ zTQt)yhG`VbgqR3YzH~al+Vo}7#_A!AGKXuP_ZJtX$1%n6OoM|=!vv;vB9lBs5hsa> zghPr7k_V9oL~Y4TDgpoXQP=MB+oJ-RLBRkD32u9 z6fluMthqr~j;G z+TCN?+-Hg(Fv*8ZvW5vRzJOT^ETJj`R2l6N+(D(-b%2H(jG^i=d_iT^#HnGM&gRN7 zVl^H6XNt`SrzcF&Q>O44)A%`4T+bw5P%L=~a_0m!4Slg5n9;yQLjL;*s*vOsw`f|k z*YW&{F>O{!*N{f$%2!PBYbM0FcoTKAhsyO0?D=1yOAJZ+>)D|?zaWpiFx4R1;9YN- zCe2LKcT7nOQ~I7swlX0SIFI2UfJR`&Yv?6d8%2Mr_d%>%=RJGs$yGy-POrTXTad86 zooW4%Y4nLnb}*sF{uxw8zC#9?v)+^9UjX!9AHhv`0!1`xAPCf2SPfjyqPyR=%$*V) zw>>)5|0^(_2?<3P9H8}5Iq1Xv9aN5h+$30IG*!tRO*f8hng6_?n`zv`wEWH_e=x~j z3erB{j~41#a(lH*UYV3xF+9>Ri1 z29q~R>{2o|}I1qNk5>`|)KIy{m^ z>9sBjz@p+8Ey1kBKKm%GK9#S{S)dI5*5XYkZZ^(6SoCSF?ez`!9cx^x{SL6C(JWyM zOL_y@xv@67#x#62s4|tlI7F5GRA7fc-E2-a>fxBWY7S_ zh2`rTo*(F_F4!H(>ELheILb0Fz>dL2D52{&j%BH&erCa$wOcLI(kF&@VEHZ@! zPGcYaq@KPSD2~EWnf+52?^)M=xhvqG<>j}TA5XEYQdw4MEMYoJa++n3z{+4De(s7) zpesb19$GvLu7S8tqi~dG1I<-RFQTJy-kAln%?1fZ&l;M@Rc~s*2yCdx*~;kk;|Cw^ zuJrkNe^3s~IF}_n!veFF2S<4-bPg`~S=bLn3Zmb&q`bd`@v+eZKaQcDICM3iT2??E zuJ$ByJuc^@yljhDQts4XvN&VgIhMtFmiPk8I0Y@FnD3!*yvTz7l2WOlI;2IE95~8} zeLn(TTvL2{TO1wYI&Rw7*kYFTC6-|$t=}6OvFzfIr=}r2rJMZPP~YXbfh8V!(>z_^;`mFLX{~AjYPAg{;buQbsOv)Nn`NBBJa<5ckU%?`;v&b8iW(3eG0b+nx zZ+?IYJ9y+#1?|z=-9_t=%!ZffP1c%fdKE<-rIL8qo{CK@d_VG@Q-^Zbi!H6USeCab zak>MHQLFC4e<2NfGa}lv|I?z;;rAD8=M3JppqeGR$1=aqA_Exs18Si&ShWWhXJ33~ zF&Lcj;-$v|u&EDO;u@ClHHOy$Pa&morfRFtHUTYr41V5ldRf5_GRc*tso?v|9E{mPG?g)X1`Gq`v|RgQaxtP%yoNi=R9p=nYXjR z`F{j3^tF{)IN@-fFkYf-lm6jE?^u*^yY&;xs)J?pnPvV3OaqJj$|Aq9z-HE(|2~@a01%W(BkbkN^Gc7Vv~@ZSnrFGy=;n8pMKMc6*sO^4A5?Mh ze%-g!2ac-YV}G!~1M~u4^tK-MVd~+z6Xq3hrlg+;ZeQ_J*T<6nWC^|5Vjs4JFPrpZ zgEjPLBmQnOcRZ63zy>?5(W*66ntFHWU#=$PrC!Fl+ijb+#u9;Siy*czm@NjI%hvbf zW%_arUc@3M?W#GVT4wmIaM#L+5OZ>6DBI454IX-z$4Q(yK8=It92#ukUO zK}{prP%rjSy6$7^y9-Jfiz2cYq#d$+@S(54knz$Zt06oHBf48J^!#vqGQeu!J)6!b z$1nTYmXU18Y4IKgL7302-n*C>|81!G_w^5&8lu?Z18i|L8|u|~3}6J+=m?B>p!%L< z;`V53-GEZ&-qTxMV%gF-Hq;v8*}y8W&2kN3IzRs0)=-zj=k5=zBFC2T7ae3v64*A0 zZ1NDBOkx9O22e`>l9m@$~I49i__V{3mC)_rvX8jn0i4c7R`F|N7N6$t|6Bl z7g;V}eL91^CX+4BVw2fyGKURy(_A(Z28LIyfm~1}PiEm~elricI7)dQ90cPu#H!XT zd1yBK5qDkL!n~Rc)>*b`K3i14mY!pi=h@^1Hd)AqO7lfFRK9-=nZfJ=H17{k@ktSg zjZEV#*Ck-Za2{1;uJ2AY(>WQ$NR}TN3kbvJI=)qFZds+iZh7Z0TLLQ8k;q#|Dpn zpMoBI1}HgXiCv6tMh}C^1qtz=7fvyj?ihcJKVy$uX5aV+Y@3H{Ne!Eu_f<^}ymBK-$dud$^UV5jnPk^nfI72S=`f-U4AZZF|bX2A0L~#)DIA3!EK3unpQMCbXjM z)D{O9=w5U*k8sF)Y4ECKPOO)~8}DNu+2kiS*}*11v&k<&SC}$Y=)S^o59sqKz5%d~ zT16M&>;w~mRNu23euJD-f1%~o>8m1Kcivg;{73wEgV&ckSj6geKJ=Bzum5q1-5F8* z*(Rumz4AL-@`G&zO$|6@n}@=kDx&r2si6A_NKxag1nrsK-Fo})S7HZVZCYP^bGtW3 z;={4@$?kQEGw;&qK?Zl-Ifv4OeH?N>2WpU!93;?9 z29qyQ)B{8y$^+Dc9Fz%Y`%laQrNy|M9V_2`jW;qoe8p9D)qOq_>4&5geJPA1ikW%^flX8UY_OYeIl*eBbg&U z%(1Sf9|1I}P)x2l%AvZB?!=aW_aVnYte1fO0i43HMPG9cIiN@@3`R zpVGP=ca!hZi49vF@+P17gBFA5^gI|gZObW?_$%7Xt0E(U`)ma^a$c6_^Wz+dcmRLH zj3Mc^p024`Z+(%JSs*Enz*kp z#Pew?$0(SSixKrl!}_;vHJt07bk@4nGGav<9v=$0mtSX$ND^nyg-Re zAskJ$-+xW&L8Sq`2-KCkLA%AVgGPijFMV4-&~I?x^r|%J#ys|$F77UF69_r=2&0hkYylav?L}}OZt@qz|gCK#6h1o|D|&3 znG*O|5j4Q-M%Rc}6*U-9=8k0iz1d#pK4oN<$+p8|ucL%yc_k9*y?uY$liTCFEl%9zSXObYzc6lbV6cNKY(wqL z;WjWCk{T7*ETYtPTHuOBhHX|W|Gi3z%F6C=jD6U50RX^@=**E7rETAWP13fTo}Aw{ zxte2ik7M$TUQIJ2KDe$Lwq-u%d^GrQi)7pLdG{&SJfOr!3uYY34MUBiW?tT&eBLsv zY|W*253q+E;~I`ZEoBBCVuzWhKn}YOe5`dGGs!M{%NHd>Yy5~~Q^#4Ef zV)LCj*1P)VehAyQ)qAgc>at2EF-7bn{F!9@ebw{xf}fwz#6Vh;s>kJNZKfL9HfKdDw+BOu8HRfvyt~!5qMalD$T9xJ z5x2mgZwCkjj51KoxOFG?j@sn4UaUL!=uzm=Lvf!u5)~ZRz$0rVDy|8aViMz|wkKF4wHA=d7MV4an z$$!3bMBg})E{^y*trz`C6)87taQ@41jYaI$Co4KT$9_BC&9ScM^Z-$nFbPNaN!ATn zliT7tacyd8?`9k3cZ%{qD9XFaiLm@>{pNbI!rGS3EZ?U&oZrh4_i>~@IYMu)kq=jT z4)x_ixS^E0t2H_^+?VUerCNtD{jPi!IeTsY$_>cNFXv*n&;H@h6$NnZ0=dEL}jpHS!dtJb0r74!caDz0IMOikQ396jVl>%KFsU$RKj5A?9Ja2xj>0S@T&{h4q{2k zAHqww4{q$YzIETr%R@brxMVUH`p<{CNGJ@dsk9UgfNNVmroC}`l6n0?Phmx3@1K7h z;o60>k8+{V2Z#L3>3+4|B`R=pQTY4AaToKBajlPY4Xf!VD1`OXP;$o7IGA>_To&#t79$_zM*Ro(% z{p|ai#qDX08<*}+S~{?QE>~1dKLga2x!J4L1pTWjvuECrk>TS)=gsmQtH|S;pXHk8 zbA`t^_-S?lPzz=+ltj(>S9|4AtB;iNA8{A=|7XWJu1yMh9;hHwI1<+A?45ipHmr|T zP#VOa(Q<(+KFThn;GkNh3K@|QfBYiGm@_+r{^O%`$fCO!xh6$iyHZX%y^Tr8IVSXf zb1sECUjA#61x8<3%#~i^N)p*6KtrnG0_ADPQtBqHE3tKL%)$bLYsEq4CEiSlbN6Mg zsElz17E+^n`m&ElUD(RqnUjmgj*6T%?Cr_vWn4))*XSzO6;kOO3Gkapst>oI=c8)BrFXf)YAy`y-2-^2wxky3VX546@J+6`ar24LLC^CS zuga=UywA0Gz%_oz6`p0|g)B%ob2hy4{9-gDnfIeKW?ozM#~QA6E!X-HSM-`$2cRm{ zZt}-)<}X(w*Svz_+OjJpNBxdD27O$1d%xni;tAL0DOdQ6YxJBeuIHMDVkOuM*r|jU zSIqF2z-+k;@FjMPvRL$^tUcH)?0)S21u4x9Tu~!e_=;=vnhUk0QxIcNQJz6%v*D=| z!#cCcOAF1buI+B(TD;*x0UCcxNsR_Zx`;mshhdfLHzDrjZ@n#JZc3ZE*6+Av3zvM) zg)FTVq;cykwf$BH$j~74TJ793{2ikCxiy6R=ZyXO$`9O?ZCs0XF8Ps5e&Rwtb_neN zC6Ouc&y=p%e*w_dRA+sq`3=XD`_8=->FO*0`DfdzPOkA+uHiSXbt<h@52c=k9B7eFq)wpZqVmLUI$H_t#^fQ z>{sl|gKPbG|97nuu|X#dcwI|dx_zL@q@)=gWBqwX>FfX=Of+v-K(ecMHD~87KkOPm z;L0q6FGj2wMM)sfE{G=y=80mNAw0?gc!IkOg}2#s5YR!zV*kflmB+fbU*CVbR8lnI z%j7VgbvVx=f=BM-K{&Oa2USSw-61@ZN9CoeDA?%&O+&)>>zfz%t8z}HZ8KX~Ic^>O z0M8=4g7i6>0v86M`rbn+1Zjd~N~ zD4YZD?}2hh@rb0&L+b^voYv63SjwB4;=Ui_nH=Ytp5Q^+kpLgn z6-@fIV+Fu7cqBG1&wZ;M$H(*PF7m94cw{jp#g|~EJ2lS?D@y?2Uyl$^o{8U6Uu%CcePCl1Zuvb} zQpyuw<{3fO#Ea(;GYZnS+2-9Xobu+za>q6CO;>o5GM>1cCoJaTS1GiizX|mPM`&Rf zX2gveZ2Y4JM%XT$E459(#vG-p&2GwKDQL&-w-r>|p{{NrC6?0Sy&M#{YPvn2!@>ORrw-vXd~n?QZg{t9Zg& zJV`kFHVA@TMV0?R5H{v2E2dQ0OdBk0|1eoDm)_x#cX^PsSL^AiqjLYvPiD@WGr8Ee z$uGz&&n~gx9?$ST4?_P3u*40D&<}w`U~80enG=C*->~ld%b5{o19#I>A8s(M;ThHP zgpYU@)$BT0290!x$94E)2H|h<$lPb+%44!ov$*>^c;g=P#7}tE#b_Nmgjh1iVytb2 z##tA!+|$0W#{4PICY$k$LJz!$-kDXJms$MnyXmU>d1CF_;3I)&dBm!nm*NL)d31fq zBl*G;O_L&@^PnnS50^shuHW;1NYIV2F}n_yJj;$8`K~YR1y7v7dI<|4x1dCpc&^vRqef5hRsiq!^J6CQAmT(-bm-C5`AKEl zts`SMf8d$5@m98T+bJt0Q$}M%g3>Md_^XV8^eTn9<-^2mAPi`cJB$9f7bJTCr|X1 zC;Y}U@8X$Ov%4wy+&uJr@S{_1apd6aKy7PFWoI^hrSR*Fv>u-5JJ0$D5BwJ%hrxnP zoQ59@aQU0ly#W`wtJ|A;c{Y7KUhz zV()|7`QqlWOh25m!){=?ai_X5Z)R+N6ZWWoNo~Q1!*5Yy;Fcq!{+3zwdEH&lW3hrC z`{UwLEC8pb86j{azWd9{cbc!;KH}!gMc;OIMF-+WPw8faVCy2C#k!|kOF{;(Ps}NJ z6NFm_avSj@0TnJ z#ZAL-X*f+>axE4(dp_Tc&W8X`*nL!G>a&%2|safG_or(Kr(72>FqIXpY#l zsXG_{%VyZt>+4-FC%1aU;1)IPSZXa*%_T})H>EZ8+^Sllyw4Gq&MonAppvnk0aC@1CRGltBS-3m1at-yKh61^z`BSe{bFEx`0axaifd4NfB;d zjFXpeh@&Iu|3%QnpI!?hB^w6coa}Ko^~d$QB_N!*u$YC%(ulkGPsKs+m4RN;&8EG+ z!hp*ZJ+Dy0qtQTWA(guX8YR>F?-TE^b+kllO4Y>icjJyxB*U zKOlJ;Nb^dk!Z=}|V<2_JOWdvjhxjiRk|`qni-WgB!K;^L z%m0jR9R(s#J|d*(5gUM-(o&YK)xq-NKc&W~LuuyAO>p*R8#cem&0`?K5P zXAG!2>%MsZLd|W2Fb%mKpcA7aDNZ|6U73^sh|e;aa>cAeUWI? z`!x+a7LpOV4&3fDZktbw<9?wOT}fzs7pUgHShho5I=Q)LlF5%w-1;!@E3jQI(pPD4&Lj?={*p4lJkFsz#Dy^5(){-iT+)lfTYMqBP#!V<$s=;0MfTH+hrTX z9;wkBjS5WGxY?I;`>$1G*Uu={(XA620{PZKd{Ho;4B>;2#k1gz!BGD1H)SBn8{*jDc;WB>mFO}N=>0Nd;Q3x`Vg%nbjkOPU|9%O9 z_`CJkZd-guXm+;zW%JQ|qy2o-NIt~NpLnqQ=JeR2XS>qwTHaU^(Y)d}%!2`XHZ7;Dg0T(N3FR035TB}7 zDOB)^VYfc(yx7@su;_vYeP8pSAhop4B#CdC%qI`?L4}X-5q~Hx;s-Fo?T;t!lXIR4 z(hpB5-9O>{kE49iF~0CPUwndZ)`_M7+2mgKP&fMZHbcx3b>!GT{(Qf@_(Z|Q@b@DQ zFo^i7HE}y^YBEpGWe)piZcp$@KJ>az@u_kR7?fEG2Lknc&NMJ`zpC;q*joPAbxtZD zqRBKMkqekpD*1JKOnfP=TDa!V(dJ#2A>YR5VZ^anqu7C5-m&79!gIG%_BW>U$(ZRFlK2*Njw54!LyjR$`cSU?rF<%%*qb~4TT$E4|xxK~2du=Jc z@DA@1UtGesF6CRsQE!nD1KYQTvBo%ln>|yrt=-<*sRAQbcrix(IJ&wotbOF7yMdW2 zF7r*U@L^i64A=@1P)_|r{ne1J+OHL^*?Y_!-#nPYa9etn56W|m;wV(ML3!vaUJzx> zM==K-H8 z6}waKy21R(KFT`w41Bz3;O5B*k;1^JH6F;?TfuS``*;> zMYVimnBAr<1`GhHoFRx9Zsf9gie&$w(4tYYq^$61b$n?R|1ot5)HSKMbwP^fuNik+ ze6r?YUCY|aX%bJPCw#~TpHg;2p9X4)zfL>fTR-^b-c1&0%wP6DOrPVcdo5`?gzd>8-LA1T00yJBLnc_&_|G=-)~t!;YoKn zO&j0sI%4^ zfxbrm+q8Z7ZuOg&y@Pf=SNICd576K6h?(21?sMp`Y{ikW(bi;y^X$>tu41 z(=F>9A7VAy@1m=5w7?=pV3LBy3ZNFCfOmf~8AOjT(QN9lezWb9X))7%*y1>WC|)2s zC?FFAkd`J2U~V2#M0n-mGJ{ytUp)HzR)d4Fe>%?Tx8;<@Apw~rfaoPz057n}-IZ!D zDhmLuTvu9AKhBbW?(E!;6-HXy;==+-3+sr0>Le%}bo!p3ne|E!3$4F(3vc!09N&kU zqXNk>f!T3^%?SaSB7kh+r2a2X=^#sp#!d;~uP^9`)zLEpA1$5u>5}u$3tiK{G^PqH z(ga}1(*YltWY!Oc4Xp^jdbxFM3xaPGBt4FfJ}oeYx3O77w|&6*ujXk0CO9%+ z+v0@m2g~{^{5x_5)@KAzvc>ZNH5fQ@qB=A%y=&9&c>5V+uh^6lwR7CUqO$^NzQDXd zAUY=?&kG<%xd5m^WP|(C{pesbPOrRHaL{w-;#05s95REIszQO}qCi|E5aw|3Tn^ZP z>!YMTa`U=?YLCoY(?q*Niv`w~1j1q_UIJ3}dtQTx5N()v16eqIPN86x>Z#}LQi0KB z0d&dgA?w|~u4O5^G$`^!)~Y>)!@d_@5kPWO2E0`}sAU8#BZ_^VGY=}zUx%fsLY`pp92%AWAemBGR)^@LDtHhtT7u`@)2t=2dK-{;Kzc(Ue9Wd&(p5j57G^n}UEF&kYFSYJncPZ&-A#cly!!`SR%vBU@>}pg z&2?*u+u2V~7dQDK%SOGUjc+;j?`?r;3VMr9oH4&hFNSXGr13Zfq7YC;MFDjm!9ley!bH_>vftG zdle(>eP@?$dvs>UuIQ18U*L_W2LeeK@05U8G&rCHw^=$YSeH5Y?}AB}AA-11No~KZ zy|M`%KC{1_Zs~p|z$PA|6OlU)`F`i@wMXCW`+yl3KdccL)e21Ox&D|L!8+CUE%Slz z*BoBUN~Vqf=tlyRI*Lb+DF(}BR66to*ahLbj`%u}8M}h@bFG`9*&Yo+{P9#^@Jt}; zgI4Hs5JPup%RA^38{dO<0{XzI(bhSbA1k=es9qp`jX?*D*n6`2y|zoKkgYWOA-flI zfk&({mAQ=LB~&f0yXp1#MA*MC1msHr*&u*XjYc50vqt9b@(L`D_IIKQ!tvyli$Q-) zZaO_wXZa>@$H&(Kn`V9!Wf`IErq2iWsgw!lMvfY}F)+onG3T%1Hv-99fwWm5tmEVF z1jxSsIbVH34pRR1;iK-ITZK(M(QjsbaxC55B9MN^O1Z>ktJ^!?O}~fBbG%tk6`IfQ z1vae$;Rk`iD_$WJ2dT`~)@MPf10G;()0u?Pj0LQvHD_FxzI~?7H#55MNnp_-fcpDMb}55MsV;n3 ze7@#hoT64;?`!b>v%va`0NigUa0T8KQ#*UezXHZoFIG?S+Wz5%s@&->Jd1UM-CANU zeiKN4@NVJ643|C6JO`=o-ZiETn%7O=+a(Ztv%7&=zsAid=lH^~=;8s}i9f?z$1$$w z9bMETu*zn9hb6yi7F5O={A59OQfy4_@Eb`TANryVUvY^iyAMRK=xh0FcfW0gaR)x^ z{~@sG6__^CmqA>+<+jbW(C1~Jg1lzV-#F^f!ajlBPl1hhKbRkU#H?dNVR1$0EZ=ue z+CDoyoLrIc?8O_OekQ*CU~eq0ZD0T=~P0HP>@DY0Yz!y*%#lR@ALad;l-V~C-ymK$6D*4 z$Iq_+(7qJSu0U9i_;bcVx6MnBX|Qfry*?B=Tgz=TJr|B+#$b-GyY6W7 z%Ixmc8{;qTQ>Wi1MBq3taI8q2d_MR*Sg?o^=yS!M#+gEdT~F`vS}l|B{*1<0%@ ziM~57Mkwk;0*|j2*WYrPTt38~AN~Gr*O-e^hiklt;OF@`9P1TMu|p&t2JpYECbj}- zsMWTqU2j35h-hEO9e%#3Jpso|!~xSF2?zBkC^1lKN|E4$k?xXYL$REm=+!$AtL90yQIgJu!H4;*3Pe~u2zq)A`9 zTeP{o0>`YxR!0?l>oviQwL(NGzrDwuSmSdu_~~mL5a3U zLCCjDHta&wk?k{wQ|oam4LJD*-d@2*c()M*?l;kKyXiewMzzJC)$gkJ2;E-Ogkyfd zX1E!i07i@sMu|C2pHcrt(K5Qqb#vb~vzO8>IMt6hPPWh(cPq>XR5h1&4_UJM`$zHZA zFEWUUkJP(bgiwU>Tfx%&+ji?jG!=$CPSZPaGF>=; zqu;AOg{C*$$gJ^UqC(s#<*4uJalf3_yWKdc9vr6^$LzyFB-4*u=J`L3p{0XO)Q4*T zx6IZY@tm$K&y{}aDOqV>%NKtSUYz)8g3Wol0Ku~vfME{X?_uiKP zK?kd!f~z)%rbWbF-TYt+&yb-LVvO<6iJ~JvwYt9uiAR_1UTi5jI@ain)Lf97D`L7K zNP&Ok6Lp6d{v%!kl4JH$hRgWy^udEWD+;7{HsyODmM4<-LQHSO^g-b17jivC%UrLS z85wB9o@6HKivU0d`V};kK6v*1gR(0#r{CIdbLTs2<%g8xM8S|V8l@7>+2JnT=o-rx z)Jnipw?WsMfvbT;vRDz&QSZtFo$F4tN`xX-7}5wwiV=wQ z0x=^IaAc#Pp`gWsiIW}g;wcqE9EALChh~H8%z9nFmiHg{(%{f>-+i#tXGH~kE9Y1 zlp_=2IZT!hTjvJ2l7^COGWUCU|zPa=P0L8`k`!(p)4&Mi~uon5Tr64 zcyhs_0H>{E0cD$|sCPoS*`52s;+sJi6QQyE;krB|7mR~Z@qblt^GJfTEWd~AU#5g? zLOuep*f19=IC^)W!~3c2j=_uRDuxa*>7qz7y88+}N8CuuJ>_Jrp~Aj+A#~&VRM$b1 z9|BKQI^1nkRFeyk%5N@6O-xt^>4f|$2#`6->3X1(y0#Fp+y#Io&3dfjelzj9dBKO| zHO1*qa79S-En*ZStpKhP=)I|lzGx}*5!ARacw|NSN5L7MoZi;-22-gz^YvwjRgR=9 zdECSy?>Ts7?9+bNJ-WWF^Zp(B;jI-&tr9V+kX$v=2;izgSnvsqeQlF;1Sxvtk(-~w zT`7>M6IlN|MY0UMM)f+R_zp4OV@m;2vd2StP`bl#=7X*g_fIj=R>LdrKd48{25dYV z!Qc$<+%SR3V>fJ3SiS0aIL~qVwLzTQ>m~%d*9Y|f>|U^d7nE)_kOUW;H}VD7bKY$7 zZbr-&%nm+ak?WLV-tPC}+K2B^{}e~ZUv~H8M%0+#i*_tm_OY4Z)cWOm?jMm#D`I$x zL;4B@Z*{tS(6OyyB;EHr{)b6N8@6Gz|34cB81CtTHETon-SmGLB6rB)hg-CpC~{CT zSaDdPdv)bZ`?_l-`urV8`4eJ)M$AqG8nRt5$TtA%4ML?~z%rM9g7tkebw{XKPj=+l zSC7TBGja;M5vK<+dXa1&;`Af60R)1b13ZH~i2}-^aEw3dZf6NUircWRXiqPNy5i#? zVh&-$^%Yuo%M2>Z*tUu}1RENsgg?md8YbFTWV;vP)Ln(qo?nlCjame?ruI))92J>Y z7)G2C#IWYUIJ9|tGM!VlM{V?4H2d%(9?+*$3pH=BBU4hb?c+7jBTHuyUzTGU{5~&dMP0`W7*)RF~l6ln$;@~P1&`sk?U-Jtq?ul;!}Xf zD~X>-HcsFd%-?-D`JvDVHCPiAQ20xYucF1zk@i;dOw$hg2_*j;0a~zxe^C&*^=1cO zAAVAGC%x}dTXXuRKZx^6@DDGdzPlyd=f6`wAfo^LLGB$JCefKG#GFRV83a;mv#`~g zFKK9i9|$2%m8UfC%@s-L8>%r3ck#QKY5WB3=~V;GI(7Pj$# z)hD;PciCJ%b#0Yc!wzNZ_g;%g!y3=d#4Y*Kr*yPs_pEtv+tQd6cCvlDkS!N_B;M$` z|Dt{5PszK-7t7B@*x=P{@o;2>aJeJI2&xxLu=q3gxJHS;W<)654$pZZ^j-`-nmCf} z@`mxS(!I;zuYKCD24Tdwa6Yy6*`b7Z!JLzadoSSZ@ti3!2mDgPA3Fu>#@CX*Z8-RK zr; zMK?SIVlY93!=`#xvz8eSq2Gd4mfQBZSU%oB(z(eH` zo)75VV0`gH4xRIzcrS9jth*wa4$j9fu5|hx_(1!u4m-Px_etTg80wYJPZie>@`qFZ~QJ6DS@b5(wRef*=&HzjFbesiVH5 z+KPgY550A*c8DA<9fa2ihR21lbkcIeTRBr2a46SNTbR_fj;T^AgXD!GlA#L=Zzi#L~83kMb10 zK6lsl>DMGy8yq0eHfzRHx>U=U@HU+Q#8n2m( zS4+b))A10hh=^u@SwL|KD;JldVJ?7T{S|os=S%*oZp(*Thvy4@lQW@Xc;JUM3Brsw zSp_EKsBN6G|4!d<%X{u=2{%&E(TI`TRdxtHijJmB>`%zXOTED}bFePv;<5B6rHecAXdbS#~>6-u9v;-UG> z9>;kWJ`iD8)#6Xp;Q@^hAp8ywDJhKIza-C(noI6Q51mL=-*@hT0)Fjw&U-ww9uL*G zNp6^y(B_|`+_Nh?l&uvGWzJrF(tu|+;=yTY!qyyUnCL-03m&Vy?Cc#7|91D2KGn&` zDXf&QLTFvNl!I)NYu&d5k)(FcvJ21pf(NOtVqw_JAJ*Kg9+g#CH`}v$)Vb9EZ8x4% zBLE~^r(WvHq0Z>nf)fL&`A6)<{3|TX??y?}|aZ zv=1L7iAugd)`&@qxKeg3Q?m7L8f6GC`xOsD?U$5M)tlfQ+9$u_!oC|wqGJLM!+4ny zyxKRs;&(jb2VP?klOOOD8v(XiWABI5?KNUiliyVZs`vuQqj=e9E?~h4dCR1Kq}c{a zNqJFmh8B8bc+E)eap;Pv(LV}+s+FJhh$QjKfSh<{2xWKYPdukV2;>NSJgtlp#;+Y> z=F{$!l-sd>!_=$4xjGV?k+R$RxcpptqW3TSsR{h4RG#+&GdQ$@5>s?E_YiYZQ+cQJ zHyYzNp7jT>F^OkR;lab3hBw{;6TD+|OLPWS#=jrIAKkia#iei8U+*lEaQ!KLB|LZ* zFEfW%o5ype;c)xAWGsd_q=38NHlm>7#Pww{qL}Me*8*OuOE`xgU^Yy?UFp&;J!M}P z6z*gQEaEk~gkg2(ttzyUX_YDVd~#I8N5rATn!x@AocX`uZjL_52KL@!Clf#Vsc6{{ zWb?RyYG-^%#q{@XW$)&9mQrh5dl&kH`3yY}AQpe+LF6`_x; zzQkQsjS@x0k$e+rYCrgH`0cad1TJ6WO@OoytM-?$zh*f0R=2G;rF701oO? z0=Da70)-IKBIk&$1(sUnm$wmjp3f~clJvzM@gw{Pw%!Lm+dNgocwd{-ugYU?54raJ zy%ffUzSYE7ZA1b`yFPCyU+z95>yLdX;Q#qveI$?=$(!>m1>v7s|K=E-w0}mB2_#4d z5l#gYq@EMhyahwB$Cp@rKxz6v(sYE_Om7lnqDk&%Y{BQ3We-9L(qRO7Y@NV*h;gsK zM6vnfBC%3_CgX5aPB?)TL12^#ioSsF0u?UIc>srJkY`n#oJx7v?p~+#45J$fkp!tJ z;V9@5r20T+2Z)1~o=2Z;3mfH541QL;wNmnOGy&>AFJW?S-m(DZ;PiCgQ(XdO#m?3v z>@D*zVhF5Q0vxz;FbNjdz}b6+&4!7^jhiU9Yrt%;n8dqVSp~5dZawOcCvXx7j9e~^ zis>-3{-WWlZp)FYjPPA=j+rMCSiv|5v>6e4Rmr=}-jd#5pVu{fL`fnrlL@dHr@*(G zm;(3{HZZsSTK)~)omsK{l=*GuoRHT9fCHowV0nNH4wMQHo)})aYg*u;&H>ZPHk+-Q zX#}-&f}FEh2G|)SSzN`?N&NQ=ZOd`{#?b+XR+*P3nFO^g0yCSyd_!R75FnGB3j=~d z6aegSJrBALtTzLIia|Uk9M<4!FHi8o_8?+7{2Y_QONonsKXrT%I>+iMNsv0 z>gV?a*<^s&$*S;Emha%-yu&8i!)oWquX=()1A$S)C+aVbd>?(5@@-U-XuM%HRz8(- ztPv)JzX`@0U;^M$AYTnP7m73Pc>OY`NtGD)kQ!m+ZhC7=^dqa5!Q~;ilQ)bWeITec z6F4mdl@WoD&?T72Rssm?|C0@0O6mO&KmpF97kH9OD`eBB?8D;kiL?=9+X?DfgbvtD z^b9`1zxQt;rPc?WfueVJLq?WuZjke8{Y;SljhVmk8Gk0}-14~AD<|$EB9iFDjIs+F zsi$X%In5ESVhpuZ89cOpDomaqe_n>p55nnDf>bMyJ>M7@t%V-QbfxIE7JKdwshd9e*5}qAi!0*< zwVwoyUj*g^0Wwm*;W3!R8=`+;R^Wdya5u%qz+`{t399l*`^W4gO?Mu2y{avKtIM8H zH__fkC+EPtN!T;M;Ke~X4OJZ2q55)CnXy|sa}c*^Wj{?|%@8zZ3DR?fQ}YCXe2GD} z5}XE8)%CZp``oEA4fQ;0^xY%*FSaW#{NGjz-W+Y$nR|_WyU%i;e(Cq^r}OC_;wX@~ z(_q+67p^m!3HrG4v-ToEGfpH&1c4^*j#|6uDW$ZIn&GcWV%9{K4N=XOs1(EBPp~6` zGO4!Ze}U(ofS{AIq`G%6TVs2!?EOo!C!U%Y0g&Gd-eVt6$v@WqRna!Sea1k_fyizW z7!pR0LU$Ae6lreSRkgdJ-KqGJ12+<=RBBW10*6F!3q@USm8c_8!-=TwOk}zc0jJ8ojQC0$GRF9l|v3}vhZR=~y z0HWM8qEsM}5g;lW1Y@*>c-PZS7eLjz2`lt-KSak431ptx`9vw0C=1iYbr7p&@esG{fry+#&iD?ZSc?h`c7%PW5(gDVML8^ zqO2WHDp$K0a@FNM&t@hmlLp@$nSb}CJAx>kAOx#s<6%?hUkzIH_Mg712JSxl{DLSQ zNrZxakVw?ho35cJN*^xhv`)O5aW_)p+7nwHO+59IsMa7@C-hDTeJr_`{#U_)Gq$Jb zsMVIQB{4+R0embG>OWXyjqJtimwDvATO(n4>p*SHn|*Oa#aBe24`pDO)~hL;^V`?N zd2Ee2w|CzE(7qOaq!Y43-D)xUbmOJAj<1IA-^N2LvDPHQ*ct*i2S`atU>ktDHU~95 zePq9ZK00wHd7rgfi&BeMUP3ZaA&?&cMVHqTBlmErZj@{`{8;Pp(KLm49-#QpEV#7B z2o$!~+vM*Hx02vW9GZWOj$cnDLb#Sj1avuIjnJ0immXC|F09H;=G-i|*zTTAl*u5< zWfGZLL{P)ahHufwq`QCvibHsbr)tLGL5MN1ugv{q-MKeJ*0jisI65)oyUQeP%Z$!I z+urFS^XX`A#Jl^vQRtl)f*d!eRi@_gK#519i5Di5Vh5BHHxCv+vrwJPAwrHAPUDV3 z_JNswe(wU)(G!=oE_ZT?oIE0{7w5?D1N+?99c;WR*JhX1HsVejYqOL2QP)F{V^>~p zd8V|DFZNPdWmi5Cs!;_nP*|C3DYpF%G)n%tj3ixs{d-(qDXR;K(nUnZo2892ZfotC zYo`L6jve28;Eq*)=vyMYn5b4lWR?;^AIgqjw2ceG(X5Y+6~{bvhe~V|GxpA!u*!&> zav~%ens}n{$kIi8<6v3(_cYFKErEuBxe6leM3pdUOMah(KDxhrWF}C2oy!j)C)8B*sbh+Xx_=Cq&jr)9TCts?}=~~;JO8?+#6K=9v7Y$|N6K$ zEBgGEi63}$PnYJ=n3USJRY9%t;U}U-Cctu}{K=+=7<*V$vvetM5XE7); z?Nv=XQL%$4KPvi(xXkVzl>SkaLT5or=1|y2CA=+b=et**iOfzSKwi3_ADB)t_@K~_ znAV+nxaN7UdB<_H8)Y>szYtZriPAkp`Cg)WA5p4=4-O4c$j1x4A%3!YbpOv*dC8Ys zBOgBOhb2oqHAs{lB5Hgk%KHezV>7r}IBZ8;N?&y$^-WcW54Aoz${r?aju086LZaVb z31GM;T_ig9rm>H%qP)S-uYk|bti@3r(F;9A=5Mu{B=yRYw&?x2^qnaE13pFMj1gJm z#8W?ss=tVw38GR3_8vIJ{-MZA!#irVxJv<_5PuMjmVqtzs)a?1WaNNO#R;jx+qfR?BceI$4-kLd$=)k z)aczb5!}!jSQgjKZvpy8-x8hdx>O#kFFT|mFZZ$iwR-L>QF@NZ7+(Um&+N4SB74TU z_3ZC;ovIsKj?5E*=JyviMQtM!#B=$~^+SZdqQ^;Z*khAw)eA)SB2n6!q}9u7LxOUH z(GmfzR1g-9^}C?ha$_@BeNI%Ig(U4tVnpDuzirP@xR4dHcqT4z7sK{Z z)h#!YOaPZV3Bn^xHE3zSsBEr@6qSkEZC2v6b@|%O&pk-2L~&0NY`x$sEd@PxD+(S8 zW_AZ&OKy8-Hxa(^8#fYfS#~W&Xvxp%KG1f4Dlcqv?I)nWp*nGZH)Y4Ed5+ekAs^*capoO!Tys zEB32BS)uieH|<-!jEp}?J%Ge{M&j7 zRIch8pw!2H3T`&*Qw=9EBS?^senA2)Tx|;=NyC&lSzeP_F2{f7*Ztd(4mz(*BT1Yn z5+|C(@z4hhi6^n!gaCC-Wf$H1JB$}oQ~VL=sNW$zC4w3kk23GAnpt+| z=KM_5wAtkZl3F5(GcV#wNWz8^>Vari;k}2{bXl{*8l@FZbIV$iNzy4K#%mHQm8A5C z>#F0DCe-1xw!!N0O_BYfLwaVCQ8Q^I&2*Al28rR1fEM|VfGj>Ysj95AwtkGui5;pv zH=RjR8^C9Q3H+~`gH%rEyv}Z&C=s7_m3-Bk8jwv=c|(%UAt~mPn0X|~x4sb{+v&OrCI<3@Q=Q)k6xZWg{yd*D=E&9m7w6w64ga*}EVNoiQPlC;cLqKdT4?%H)x*iyBB*eTypdN!yw?iKh;)t*p|HK^wQ z8l;OZY+tl^`QXF;X)(1Rr%cM%SP?Yv>b(Q)mZN)L!;!U9CKE4fNpfD|v%KhuNyC@+ z<%5?+Wm#2I0%|MkNa{fXg*+(iC$2}r^O7%2R1z27k>DNg zG(kIY=GFHkNW#`bfBqE~AOkW?8JgaBBB7JH_xJpPF&edjbgGeb%13x9y)}p5Q@&T> zt%O~04QY?dAi0U8`GLe}##U7enCN{dP2Vwr(kXIHD#`wn>SFBqkk}-6Z{LNFB$+|T z&$)kYzBs>r(^uBu;y${6MSLp>bl=*ruAAL}m|PbLTW^_Ff81dsq??hFxEFnb9 z`7qejntNoGz(kn5<+=UsB$W=5daUp#*ff?{l7JV-RH%A1_4Yl<+M`kyoTlJMO=-LS1AT#_8Yau|Sm(=^v+HsMt3X zSzl&kp&s2PsQm26C`o>dq%lrnxQYUy7V3kUESHKGhb{$ubI_H%lku_sCrPz|_ZN)y zwSRXHqt@G>ejb)H4$iA+t@?AG>u9kcitv%uYrbq77WBn>XrqH3d4k0JjhzdBU~)l> z9kMZCL%UOj!v*sbdrTc8UoK0_k(ng1r%0!!Nz54%bD9Wgl~Cd=bQDwl&;|UYz!=Z; zVM(I6y<_a2#?5mi>3I@kN*p^21fGAhJj*E9C&X4wjI0Q^{YzpkkeG|u>a`{Vl^RQ6 zgRrq^B0~Hx)^D#;S<|%yA)eT*>TeZa28X`5)1H5%5Xq z{no<2xy8RHKP^9^CGfJ-(VeUj!ks6GtU7l(J@j9A;FvwGdHT>Ji*bIGUw^DAXXCu# zP2HUR!Z~9M53-6U8F)8LZ!(A$0(R1e46z)n1%T>7!;Kuvc>cDnQhbwGHyaeTcKK7X zrY~8_pMQ`K4&nL_ws9)A?@ul~y76_BfZR7fGUqF3_Mr_Lixa}DEyd>ZPHTfP zVPt^x)N=Lnit4$FfJf1O-QZ)Y$i$y9hRB+aaiJ^2$(#tX?1;b%m@w=jBFrI#7OV|^ zE2Y(aXa&XZ;cmal)_aj;sc5b!@-qATM&?Lx;E=J4Xt(Ocz~_PYFAx5SCbI(hVSQ~? z7kEr|sH--Vy!-o?A363V8N8Jkm>@k%u%z(=7u%voZh7CRXR&%qa!q2%%s4WLFTH{{ z1LzL!va+}V7NGiMx`RTjGIgF~N1ag{PORic17V>VU(7ro(a1w@tpkPY>$uT4?Fz%D zNLN}R@b4DGwPM5ZWX%LJBay6TOL7ns1>EnoO?tt$cjG04v(CS|i|0UOIW1+kfhMut%ZmUz?MiJ9i~MoVZ_H7d0f8 zL1t%?rLxE>y}Zu^G0@K$q36a=$r=x)dIV`q)FK=3&qP{x!U+G9OWc=1JyI0Y*M|0n1+l|~g>+;Cb`D8}hlE^{y zCR%sFvXgdv)^S_Rrj)QlQ4t_w83wOfrvdTj!mo z6V8JoS4}$x-cHjMiBgyqX?*QbNoH1&p`=y~Gw`3T>A!%+?vhII-%>qa@deKW$7BBG zHDrxiGNXod-Fjoy_hat9>Fvd<|lY(rAYU>j~bppff38 zLwo-R;hnbJ=wdo~d&q)U*s&c?f`>_jLoFb4+P!6G(+c6ti&~L}-wPJ@$BH8J7II2V zYxg>KFTUQ;s3Y?;86@UAp$|)5yyReZ;S&+9V(+oD5e#%|a~E0T3z^eRW-Q`G7qHs% z<8q1ph5SuBlYY@_S8I_BddMnSgkD%lkej!FSOB&4N!b~T)Cl|NzW%yHFKDWdtk_Rx z4nV`X1~KDV!c@aW(?jr?|9(b0`b0`rjO{ywZ}A&DN4M>==0P?x7pm@`@NN>?X~#@* zm8knlRvRX>8+b?ly$Yy7df%{FG`*#5fL&`*Fk&TlAu%{2IQP*Zp4h`N-^n2C^#cs# z|CjPYmF7~Avb56m|=M6;7%l>pSo z*i~aHD!R<4ok@uf%>*+xn>a;gPGfdH10BWg+|>urD6E`yJBO;jskML3{9&W7@=a%E zmaI4-21LagnV-K`X>SOooOt5vG-rCO#Wac6n5+2qR2sM^6a#+GcyYcZeNe~Qm{T+Hz z)zwzZhQhR^fVpC%hUw#FE}n{gnqlW|*0+NavK>V|fXki&o&=_~ixPKIAFJ)>x}!u{ zf93u0x|O!Y0g&n~I9KTC0dnTR7Pw1YZw|x^;uQ~UE8@-PoRv(wY+4N32 z*<@=o!`Kb`I`{wg>vWO5%sSGu)3qD^6yy5ScO9Gdpnx;)N%^m&h{3=%5@YXPDgWF! zc$qhH^=U;j3o*Y$ZnRg!uy30--ZMy5 zd|SV-&Q*VkbO43*jG_@pQ4gZ11yh*MDc}HvK>Po@R~HHoqM;P1CSvzxVmgZs1V@4+ zMm>A>tx-Ffd1r%j$efJw>UGUw6i9@I!%S-5xTTNjNe_-j=*N!V=$9_`ci$jXPmiE* zUck%5mdF-1e>Ki-?~>piyRyA!+q(TfBcUZ+Q7|TEdV2rL?FS5Qs|C{LtRsr%eI+zl zKcgw?FDaZD3L};x8%N>1qOel9;^B1|g$7Ww2{6S=S96OdP@wFl<~0x$XCj~LG4`vD znvl|yNKva1PQo5HH30QYb2J-EvJ)|}DKG!KWxBj+TsE1)iXqtvqqw`KzCJH*9hTNi zTo_Dyg>w)_eIva_@(X)^j&T>|ZOdrJrBLL4^Sy@ef?#_o*O2y(o3Ax$&T__jF8;mw zh+Ha#nMMKHS2_$FpfIo;*pgTLa#xT3=7jqnKKIG+#ftmllW!<;ITX$ue=a{|+``(gaXD^*`pvOmY^30k&na!OW3MxI{ zsOA~=9AGCzT1ly1?Z9$G40uU<*fsG`VJ!#q(`g8A)uL6R3vfTY8j zHPY)`Z+|h+bm~}BdAydwtfN4-;~h-*HGt{B7x|P{WJbsDGgudXPyWdEbu;fNoFY-c zWq6P1oTM9WEs*=&mUv>7flWPy{gY74jTSeZoFtp{TaBhzoapDca#T{_#9Q}wJ?+`oK%_Wmm#l>b@O(u?s+JxhL_ z-kvW{PIgkHx+u&q6u6ol1m>YIr+w?E{*~qJDp3^oV8e5nHF{^$gv>Uc-}0O^ zh;3Ly|F>a5;m*KlNcppN&=#TdQq&sl!#}=KIKvdq2(|@$1EUA1C|tn;!oeP(mxg@Y zPi_*o^x5XqcZI9)x2WfLiu4c4sRrH-0nijkFdir`=Idnle>ZtiTF??YN>NYdw*i^l z<{M#MbvY|Nzpej~vR^lJ91w^XR!lAA-&p&U$K!ge&XLS93TvFg3E)bgz<7=F`tMkj zx*Oa}TgUHMvflP5h4qU9wa5vWFdewZ2c$dD!3V>ANm?t)qf&ypEi479e^WI7P(UB6 zTnqxGW#=EtILvh^*FQYbJFn_BF-hS}Q5e${_6!B6(O9Y!12H^4>myRyDfw-RYkAfK zDZU=SOU}IsBKR63zt)i09WPNP0x2 zM!tQMXwGKGsRfG4B1QRyShN^qzVmJf&wie~J*ge%c;Eb@CZ9D`eu`p4g%k#8w=9(x zkzi-*!=d&*?X5yIt=svB9@|o7?5HezDx;SlZalytKL`JnC#2(rh7=!^78iZgcc5~T z`5dW0v;3FbKnC5{zo>t{xrN(?+_FoLn(IX6`0@fi`u5B^&!e8Vy_v_JFy`K={cxtL zyHFWnT%vHm?0MkwF-Gl$RLijz>D!iTDqX3XZd6tV$xjf{aQ2UWd0n;oZl}5`uX}BI zXskPx?Ln3OBG}Fcw82VAjpLFg`BB!M)1h3?mG^s6IbKwa5S`gFCdML@Pnr?=Bk{N}MmMt7C>voa&(O9hG3LUGi3x+Pq%-{d)CVwN{3U1GtHs$MSm zmx#Krg?P)&QzVo(?g~AgKS8V$K~L7N=NT(}{Hr30vp&th<;7rMPE zxAfE4Wp~Y*_LK2Dw_kWhRjI(kWN{b=BTI`SLpo1Mu6#hlh@Kv~%FPO@FP6gkpiwJ-0RealHM{L<1?o$zjGNVwQPQ7flG{Q(tVldR=AtTYo(RALBlphmrLtAjy|#q*V~vNpL#a|> zRFwd7so6GeJC8IxMsle@o`&l3 zK2Q&A2#ce#Ur}Y_sUY{6K*^>+09vuRPkcgN0OP z5fzU6x9|>-Qp0pHVVXV9&HCyr;tRZ&A!l?}WuchLE}=sBoyZ4$uN4UT(VDuvEcE@5 z^H%lswxv|rS>Z`C+7s`;i(4_ceQdYR;s$2c-!iI3ITg_SRoJ1j*wtgY;!NBZtz%jR z)pc~$3aYfDFr4U(sTMOqikDdIh5{#j2?zH#0%%Tm;9QpM-^x!P!h%Kn*A-M!nN?I~ zHS|h|Q3Kt&f9uv>XyeH@=arkZv%C#UyMF%4fA_PNs+mFrumu-wd`5kTwvnOWjt5M| z7MnV%!aFMGJykA;TE-J24v9%Sf4`S{9Y?b-x@_s%ecWPgJr$B@S^P-t*Xs+#S}~S1 zUa>J@qAXWB4oT=LPmzxkm>=1lhj#kL#WzqnjZ|h66;fFaJfa_9&>(^b=`%AFMXt6N zj>{~IxBo@6*dEl}OjT*%Y5|*rYh2*ZqaAO)-xs{TtNEIL(`1(b_eUzT6&v?9_=>v# zcLLZu^l5{H@cOsTi8Y%8hHr+v+nd`?)d<9NUN78JMUrw)ISMzgqqo>#CLgR8YYgp#GN< zFhf(DE(T`GKeC!FRZ1GOyg?nLN)J&rzfu*W;r_Z;SYrk(&s921#s&}Jcjc#_mfA5) z)y(A^f%n5b*f17r16Gw4il@HAhpfD%s(r`v8>${D3<+VPCR#GBsNGjSrLuJVBMAGb*OOKF5s%67=-jKiwKa{nFXB;^Xy^8VkZ zM_6x7?2Ug?)qYVSn~^Cp0j~xJ0@RbecMSRU4!mAHEa<&Pe`ST{Zz>2*^%GDqGhkD~ z@&{z!ug9pf4;|M1p{i9~mt zJ^EFL4b?s4zQ>iEWHer$p#r|xPXyiPd#cb9-ZXH~Z=^(GmuSx{l{p8dEHFcc51l`9 zWDUXB@r2z0?gzK*Qs(EW>VK)M1uAoq3KtPt)39LTpHvJ)zMyZQ&A9yA-RXt6R8RZZ z$STTh8=9Oa4m2kI?%rPap<<(l_LYl|UWfciwWX=gaof=_|NiDuo&tYjs=(<@W9#h& zg7>9Ln-}&pX$Kl(nt-{}Q76jG&K4bdLZZkk2_*;W`xafd}5bC>u2=@zp3v#jfltgshNDifE3 zL#FCK$Mdy@E|v~(yt3N2UiPNJUBo`nDNJ`ALI||OhP7o=&^@~OrY~g=X7*P+rD^!m z7^8R$M>H`*c{o5?|0K!f6XkTRS(_h??N0-0VE{B4SfbkI=CA{aowCj;ee#eaIfNsA#&zM#GOb88j zF_`{}ok}RFUCIF^oaopwtam$<#-0+EM%sok-0>fW=*Erh6O0Gq>%wSIcYykvn=-e8 zk2hKz``o9?f7wMhoCXRbFo43P?j29AXU|zakj)uU4LuM+Q-47Nyv+n}Bn=REy6Ayu z&$AQO^Zc~fo-F0kNB5&>YSA<(!@Pv~F@d3op+U_Z*tp5=KYto;J+QL2qcdcdm-8f+ zrVvMC#Nb3mdhRQuVI5`|?k^ay~~+?1_q}F%xKD%}ZQ6-3bLl2k|dfU)KDo zcMebbok&wiqA{9;M3b@a2QblDC0gybTmezq?VQKu20N!yXq?wHRw|8^&y|MF3y2bf zazGIm+7`Q!^FHNb@PeVhcgN}{g6TAlAISla%G0Cg2x2jwXGqG6K~|Fv88o{l;q7Hr*_mYBo(}N;qEd z4fJa1jyNrgo5Ge^NpwnOiQLZ_r}a5B`COW`J+)0Z4_Xel8KSrs>pzT)N$7rBhj*(# zB2USu0Y3(2kkdB0sdD1&Yzp^^nu=@Xxdk-MLa;P`Z+`H{TcjU3_F5mmplqnUZs*>N zA4N3gTN>=IOVqeqx|LOno5q{p-I={<)o9;SOgoi8E`b#fwfdz!1qHi3ukXuty5-#_ zDm(qvF+7Zb3T0Q=_z$`MPb^I4KBK~hS0aqM<(xK+%_YnReZRnq{14SbS(|yBN_xfjlyi}mzB}nk8e1J>z$Zd zSw~Z=!iY;j{abY}Xr;Xme=#%NaAK`zA{k8`w(~uc6#s#GqU(&Ie6Q0x8uL93s#^6h zZ&+39-=VjH>Dd(T+2>{R>%_Fg?y`Xf8mo~e(?nx`ps`~3ySdy5kaI*;3qdclAmjOZ zm|tdiVD+XbRessH?+t6ZV8%?&IrV_x_0iQIw3l;jWO*e_}@Ug7oJsEF#nYSTl3nd?EN0Z(&Be`^!EWtDh#-z&ijV0@BZha8KSKJPmaw zEQ)V9s$InAylz+jWH+0ApuBO22G>x5?R5kn7}r}J#&svIxU}YhBKKDsYna9wp`D50 zALZ@fhS7?Bk)iIHyijsOPJfk<@s?-bXma0aoF6pV0CFlu558Q zobZ#T@QWrpK~won15fpzXNnG7Vu(s*Bz>E^y~%v_N9`gfA{zOeY@%|{=kKOv95&?bIJkA`x0lxpvo6wK-|`aFy3SJ!zyiL*vZSWFiFB7X(qZq|ONVJTfP_Mypr{=klI;c{!vdK&v{GnA?!Z1p zzQV>PYq!#b6dN&=-mR6H*;ur~L#6rC&BSIqd%C&jtb0Et`_VVy(-SPy!?qQ_Z3$p5Tn*E8J$J|(xzT0a>1wY09(0VQ4Yd;kPk7IL9lfQC9ne(Dnmh$=XWR1^ zW)sCW#m9QlrM>Blx5C(={=WELm2YwN%~!{Iwg;A^*Za`rGP&XIxue^Q&&-(VJ&6%N z?;@)kQ2LV>dEUHXJ$RoTWq34u_EJ!z?^C*pFJ0P?F7HoQU&6FOtmvxTWw-7%{%?sK z?yYx&ZJ5Ke((<`Nr1H9377H1;1DB{c1_o_jqNH(lz}L+NrA+~Dh|CaSM-T#%o8v8E&LwBog^Vf0hsbbuvBz|erN1j=iA zy6^C4Ts^?%c-N;|GTyQM`LLtb3%W)xMi;7d3tY21PFxlFc zCK$3c4x9HoODGfcG;%=I>9)FMWzMTShb`~qUeP(tJn@*tVJ;P7RfWDgxHIsAlr1soVOOo-Zm-6#1 zHVTMMN~Wu)(A8hl)&6ifh^2@_zC+R`yZL^?&w4*n@Zm+L1I4LyMK@f&AWCBA3v+I~ zF=2Hd`~IZaqCAbxN~g=k@Mq95%odhlD)ad=D8P{%G}ygfFwMIudjM!M| zbhj5QTIG9+Bg@#hmE?gGE34v6w=|o8BPDcZDIMahrR;@3cZcf3NQYxbuSPvS;BiKv zjIL2mKUG18G&XEP=uv|5NuGFJA(5`Y$k`#8yh=JNhYzYj>$bgGQ|N)C);$+l0>GYGCXjN zlHnh31Gh9b#;-oU?>$|k9^Oo6HqxQe+XVIlYC)KWH#o8GG!!qynox_kY1U4Ai_^&+ zPW?dFY^JNX(BbBS|D?O*MQ*hy&F#g`q=odSH*2~paR1_J`wY|CHs?PgszkQQ#yN0rkyU=L6@83{{%yCbbl#DpODOM z^xOI%@9K9u?i()qGC$MhI_Xj)yj|E@yNTV#pr;G?EX`8mXmkF!OJ*Gp&2xs@^uEyL zy6Nm>z8>ffMxz8#mR=YGZ5=Rug2_qs80Gu>7%p4MEYTeGlOFfpc+iQ z3J1OB^~`;R#zOlxKRGi%mm8!jmhctu48dFfD_BUNW^9bnq#4@8n`_dfX-rMhHXTwx1O=2C zMdm?K8DtU(Gm1=tqJRRT0x~GdQ4~Z0@q6BL@a87B_xJts*R%GT_S$Q&^{#i^JM5fm z$$8h3EX}is@q6x}#Sh*1;4jZN{UGPkj~DG)GU{4BqQBt6e~RA4zlY`(k%?OaqrZK3 zQT~hhzlvP-;L12Z7oR;*H*?p@=5ys8-Ic#Nz5d=Ze1>R8Y|qKIgZlFmv-}?oikgeA zm&ZWOT=;^>C3^8|-X%w{=gaR+${arQ?ce(+hpc?()qR&;%QxsxsQAaY-sGZJRw?`2 zSA4(Y`u^v~T}!XfCn!J5el%>V^3@;g%Bke9?hWzvQ}NqBJLUfQ@$G;4k@g3#FRI?u zcg6L@RoC++<_WxwRqwv{_9W(#Ld8gZv-OAVo1VYlzV5R#5w&f{r}kcRJw4@Ga^1C} zz)%kJ2{!t7O@F`s+23dU)u#uZyR|>L=Z4F7+6A7AERfIKcfmKosyklY)~Pt9%04mU zf_L03=GH^E9)>Y5BHMrKu;lXI^6$R!zz4(E-8Wr}=UfX??R2o*Tsr)sLUC?s$vxtG zjrU|_-f}HZaFwa~_siDi2<5R`l3%ag<@}G$f6TY?>-L0wWb8?P=ZzCje&?Pa#{AAt z@SUWO4)|VveBtWF8$W*K&A;t^F>QFezpx@ec>Ica^`x2qe8Ki3`eWBVd3n6IckiD< zGS&&t2MUYV3(pS7f&?tOHGhHR_wH(s-*3OVUjD~2agD%!8)**syDV6EZiDbtiX>eE zhsfS%;+OB+vUcsdoBG%8eC(xj8wK$EoenKjIVdy zJ38@6!LoN3-ccX3qUG=(?hX}Jh6&3z3BH>J-*CYWdei+a|o6AiR_)JazlfZTvkxdTpuL{K2{V_2*Zg_fHZQCkqSO zJzizmPgFhix$x5!W0$%gEm`<(PKtov-lqy!BiNPXUz2;!V1V(RZ@;?TegA?_{xj`L zny@lmST-ulz(7BR_w;8N=<$c#OMkQ|K055~!UMZ&R#-BHmnLjCI9_32UU4w*!G(9` zuPj_t|M!#Ig_m{+3(6GmBjf$sZwWu{xEZl>^HXE0Kl=G)3Cng0@F?6Rz!tM=H+qL} z2=4!jeol2gZr#S%??qd;_&%GOEi9kb=g=&9G+~zQSE{!?-7pYheDcvC*>HKT@c4OU zojq82v{tw*!p5%1Q<&u*@E`HgoKi>7h!>Vmp_S{H({W~4qdxR(Q zg{McA1$c1J-gtZUdLzH(M=O{9scBjLwn+JkUsN_V77D&a0)EUeO5Cga-ty$=<{vta zC)zH5J|oL27M{hYi){Qp^{1cTx@bI7@qM4h^nd;RV!erf__Lgye|_uGyMvy-V=5|Q zdql5-&lvu}WaISdu7t=3FCTTzjO`U5XP4lqR{a<0_dc>O{6eld`R7ZYE{*!&?q5B) zPgqeZtoTA$zRgZnXZXs!@ywo{@4Wg{qx!d2pOH^8q4`)=E-YJze+*a9a#}-wX5`&J zX>M)Xe>MH%6Zu@l4}bPfrLeq8fPL+h4rZkv{pkM8!bQ@je{trY(z_HNJzFg-uMvJ# zD=dq%B}(=S2)+C>#V$u2{o5-iSBHFV8oh6z{HZ$}2L#_b0d~uSxXn8stXbvxs?lTq zhj(6Gweo!4tG8C&S$<`2z2Mt`O)5R+!b~OiK6AIN!Rh~#g;M($cg1dQ6z~(=CNziT zjR^U|_KiccA3nBnpZLoI_xUW0s8RBNF3T++So^1!A8C=?+x@3Cam~V$6Sf%*zxc7X z)4z$xNq8n>S=ikJ4}I&90Fu*!{p=+ef;FX+F?MS@?Eu}kvAhtECM8y|h_cPW2R91}p!cc}R* zkJR7w#=|vbfBJCMGi|SiSGEh!r@MAp`Ju#@_inNn&K&Q_d0_Li-~V2Ru((rLd|Y^T zt6_)D^F8F1KY96?--I_FsDAQa{#O$oo;@Mp&s$vr!jD(~@iX2y^=9>_jk@#q=`?E} z+`G@xEiCB~5VK!EQTu-GJ33#|J@?p~OP)8rIPq5LNn!D%6NI)*`JGF@8+`2-_nm$8 z*?8@`<-Nkw>8=8S|7qgbU+=hM>$g65xZvzPzc{@26yCh#jFmr~za#7yCs+9wFUnfo z{g1S))55XB7rw=~&o;mu@FUu3veD!N*ub;c;cjlFkE@)dR*`C!eENhqJ zlQt`lMqIL&2LERE{ri6TX4>A-0m1hyEuTRw68wM;4yRZ~*P^$tdg$KQ?|oreYf(fhZ4x;f)P$=TP|IilZP5$+bAyCf{WEG#RthVdScd;Iv6TjzHF zpr~)_s}VbHfPOZ7HO+ohC$Oj;*}<=2FlrUV4dc4@X+v4`3A%($rOZ+HCUyN;o^S6+Yp zy0G+y@XE9R-Np>o7Cw;n!69XUj89**+2Oo(hx48E_|Bj0sK}ocVC}w%``!L`A2!%C ze|w;X5B+@nulIDj{xGun(KZSH$SaGkKJsyEX4+`Z@Z`aPjyd7!Tf!@YidVrvoDJC& zw8wq%k(v6m_FH$hCi;ml`-@9s6*r|&Y&lCZE|33n^y(UU^Yf23-E|~Dg!yiri0!;; z{u7JNPk(B9H+B6E9dC@$KlRat0SW)nx`@4XKTm7c+V-cMn)`zgDE@lA`0IFlnG-zx z#uMX1mv=4-2>kOstp~RBEDI9B5M%ND?4tgKyixo2XC5*B;7>0No(dLyH;7>5H;VH= z7xaF!A2k;qt+*~045z$R9s9Eu?IVpL;!C08^G6+LRqYObwevf5g>UVVs#Y(5Yjfh- zRbk?apKdX zvMrcR{NK>?hnE{N{)JHAos9%@8zyI!*uJI3^ zT=&N7uH~olw7hC6_Nk&HQAHpA{`fysKdAOk6hWku=&jP{m>z!bZT_`A_pfeyqxrWH zKiG6%QFFzI$>K{X;uERjg2QTElRizvFHAtISM&FtSs`EWz#5y+#ktlCeexfri!Wt} zk8e|DiuhR4XCJ-|o#PWP#6J0&-*OufcYOSw z&owXd|2%Ga?D$SAU$XNrEB|&R?4!EGytaqqOUiS^<+cTTbR@?P=Rqn5+U3l{zl(+P)9CRfDB z{RUs;mp;0_M0_$-XXJZ=LLc54y?A$RamD(zOT!xWiAzewU++{NR(>I}kiTMBUazyp zy-PpH`~21ZU;c2l|0mm8SC)w@O7ZO&{n5etXqB@2vTN0{Ho;cV*}QeD8+66^`QJ znz20#tHmdxWoKmkUs86z*1srnT{9~@{K&n1T#fibt+=3F(Cx>Jc|P(=Gd6W?>C)%M zK8k(*SN+KyM_XnOh;SFJ!QJuLVMl!>U)nC#@~6z1`WUeuf{E3EL%{n-155iwO5by zq^d%s5+;dru{fZ#Tt6X6wX=B2OXOIFM8bX?XIig5>ni2a)P?GLu7zurggR8qwUtKD3-Jb)|F^zZ@F80RFPZz!?^nu?r}_E^b)B2gV{FXl2$`?+zU%Q-2O zYRe`4T&;3i8*3d>j!V+5dAhBt{kkMAOQt)A*jW}(86Zs*4+%4_U`38JPs(zTCv32X z+M~_KWdYh)^G$QM_86Zht*|y(FB-e}Am>KstPmjew#nirEGdd>mTU#fLrdGNhT2A& zsdbL@7*B21^}chi(7CL61S8cL`qV}v!j%gr;C-acFO6LvOdajbNe|qLOBf*HU`wE zyArv}=60?|*&r$Aj@V}p zZs8XnNGZ4Ln@quqF+NMWTUI4w8<8hTHnRxAC>e{V+7prl8B3*{CI#CKG<5N?=0Mr7 z{dQZL@_I{^EJc9{+(&H=N;?d!it4WCBh8!afwC{_?v~|AQxuIf*)>#`mJ4e_N*crO zvsLh{6=}&489NTt(W?k@hT1ne=~dC4u2~u_O;*-LZOd&zI@U+2L#`Ml8}X#9n+@y| zQj&2QyGB@LWwV3>dNv2toG{%`Oi1#qx%>V#Yv1)<1>5xRSNqcEv9NmyA9?>PuQil9*d%B1gb8w%4wPnEn$^`V zmQ86lS1!Q|%|%+#rRsDh+tVx+t{NrFM~?UP6d@(qqh_UqWpY+aIACQ5f#2;?wF#-t zGDWv)+!|)?H0`!z=n9k(2#(lgsx|bPwrb+yt#AbxStI&2G`Ma!D->xiKWT_#%+Se|ixsf_OSKKSDmfEtDZwC*JaBqc~;2ckMR}OY{f+* zOQZUk3YJZ^ycB@O0y-h5S}7O_YUNU`N+;VxIHh6xfLQMPWUP#GFjEykd4(a;Qg5hI zoHMdIsxhREld=Y?ff2UOV;hxZyP}P(hjMxqYyc>m(zHoRxj-Wuq4Iv~88f?t)SXfC zIO%1DpQ}_~$2D*XvS7YmKkn+}`n8kJHg$kCUEiypbH)qT%|W_B$An~7dDeD7cTpbY zh;^_V)N{A1)ZQnA<1>p&+%H(kLJ6_u{ID(X-rU?iD^_R}<>D>1a}s6@5fZs3!;EsL zqf}GRbr=qtTO~0((e+s#Ew`fXoFq<~A=zzCmL8S%Nt-n@(g<0vdC1%(8#A9b&&m8O z+43TJqx_h>OMXT^DBq~q!foSHEoq8e#U8~TOOIkek*Bz%sIrWi+ASTHPK%!`O4-h( zDlcMZ23V_<8?B+%3tY4{+;qs%fSIkOE@nj&Y4s>#r5=rD9SOSR{mlg@I1xi*- zh|N&~lpoX3Az#XMIavke&nQ{de0eQU+NE#MCR^A+$^*O6JYUuVR9AM2b-Z<9%43&lr)&Xj1|k~kXFR-ekwOt=h)9-LjYyuenV z_m0W`oywpx^s$4mlw;Xcazfj0VnvjL8Ld>Y>VJ2Bc>*3+uYHHUDMvpW^_|b~rBC^O zzeg}}6onkCo4;-(EYY!MpmJPaYH7ze6Q;D&Hr%}(d0e47)5N;wYj;zQzY$|S zMLA&(Ha1^!h33!CJnlRwvT5W=+d*PxRLoC}7Rlx$oWYa|RyP?~G*Xg29g8DGUt0<1 zaL7`PJY9mCCC!(l0aXoJm^Hy3#)3P_p!qpM=RVr)0DCGKk+2M^jTMkZSY~58fzmk{ zSXm3pr92$Ig}_JZTw|(rrXW+7F;;TYSj<&ec9_q&a`a6G;#X?GnYCEl#*^AyTcf&D ze@u;!=cLX?^<@9SS79%nYMUcnI_NDN*rJ(_7qp58+Wk=Jk6qTeWD}P z5v>lhm2!FdLiLO^K|KJjLHJ;(1 zw!=_uk5YCyyCtd0liU^U1#Z?5s2efON!<1!+TfPRf z+Dv&kz7G>-I9MA{H76T4(LsUFsblUi?qkSRlqq%?PZ^WcN403zfgEX)IoZ5X#!gUM zys0KSpknx2rUnIeQIDGC|GQQE*{VN&;QR51tMH>vq`tCjPg6(ee1Nc3!G;LWso6Fq z+xPFfdVlpNh)Q_x!;gKxWY<6bN{?>zpp4C3^M7@-GOq<8;Krdx*V@)WCVJJgC9iTvL z7u7kaW%=`U3kkttmr$E^cFc4sQlNg}5VBHKtPEGu`4v_{C0kYLV!6HE$!c(=?a|N4 zQlWRsHS{V@n+o;$*2^5kzWvl{qqS6b(ZZULmNaYFVZt^IJ4Ogf)JYiaU_FF+I@V8k zR>OvXQeu1dDA+m8H=fQhH1|IIBvSGz%|@Y3(q!lWk3%K3^8Fe%i!t%(by7LXe$ULhz7$`P*U>Nx!#6rwI#*X(T>XSXnM=N%OQ@)gY$%)Urs+N`TmcrP@Od%uE@s zxNzr21*@iVjJB4rLc; zP}(N(9HS?ZmR+&+SucPUVMSEp_8!Qmkml++uoP#IdO1k%r%%-r_uFIKV59li>B!d; zi$g5ch_oJz-WEPW77wO#kQ*}h=!p{!lV*YwuH@ZZqdd$K=&aE+3s-HamTgXAvQC01 z?(ygyh$vQBh#@)PEYt4i>cCl7+Q)@X`~j{VGhAnybOu}JoY(C!Vxd0Vbz0dY8wL}U zXN_}Bn0DyOK+F&5hPX!6K@og*KSnI?FznZi8QRpK7ely~)G1gM$eXm@P-F~uvJuJ~ z)Uh!jH>PoG*=0(3X5|W%VWmt`&Xl%a!=@=GmSZ=8clzn$!N!H#cdKLU2|9@8rV{Oh zzEoZ-pHrsV>$r3mwxp{}UaIWm>UI6vP4aMOl;fsrzN^b$idf08BT=2FsNxgU6&x#|Iz>8G zLI@%ift~P>pPm?n1bLe#96KONOUKxVKu7UGZKyKSHfE|+*EuHmc5Z_%*LKc1rcL56 zYmeC134_?_O|k*?tl_db&=~0|7W^!3ZbmsLNp$7uDuo_CmYd~SDcxw+;sAGqzEtt4Y!ghi6 z5LOE8G!RU3J$4rBqddHi0iZq3l;XfFfORi*)a#oy4U!f|m9kL3TTSdqoGVLPEfCv~ zYQUTZE71}o8$?T4G4@I+L=QGheUC~4xMB$#p}zaA>;jOR)Fuh+3YAV6ub7~+nxs;U zZi=u3Ym9J2$z}<|p(Y_j|9*P(AH)0W{dIVwLAc@y&EqhJASLnFu}#25GpZK-HZI9o zXCR@aol94iOTa|9PC!h<94nJuF~&gfV)S zNEl#csZ=8!`bic=ngiOcY&-I_fikx;*u&oEK;e}qomW|9Q9C?s&OGK3f`iBh%6c5( z*!zWgwwH1-_oYCt%7Q-2DTQ|hiC_{&Z zC`vy^!Yt`B$7L}P+%8&gYfb(57VerW*H!>AjfB*0;S{9x9L}o~rFrR=1c(EYG0BK& zCp4iYV9!ALYiJx$AM&h@#(^iPCxlX~nMwkrV9Q&v=d~p|FB{k=9CAcy!%Zm=Tfj0T zfDN(IPHa&4>sl2-+F?hfGt3xeo3IC?-%hZIeqx_4OcAX}m9bXz37Wgpk>p}WC{6Pl zC1;&RQ7&Tar3oGj7B4j8N%1!>EgmAq8#EE*F%f<48-Uv}^(>r*mtM#dC69!?lvmwkdtC zHrhHT@3gT|4J-dT7l>aJ`o6nn4Lk^a-~S=LIPmuW$qC*-k6fo3s?l3?&p;XTHy{Ue zR?Y&Dl19nGoe?s&j?!*!)P-4HPc-qLSr)EorS1kw8#q5{y`E(wjnU*9*c3RPZ^c5;AyH=3m8PzDmP57CCK)u0XgeIE zh7NnMuu*`b!I%!wWxHmbVVc{jir^|V0nS1(#IV!YZ5`BY!8ywE=}vumRz$sf*3uW0 z10kvci1V&W5oux7lm|6;Eg{}!EY_lnc1b-f1S9%&hB#1;!%%j(ol}N!8Sy&}l2LF8 zpk$bjVo-r;?XZreKv9=|N70Iuw3NGubAlbFQZUm; zJb9LWQ?rHDVV^2aD`P+-f(#ypww-E$N_GIfeI!71#EiwuSSOWL+t~?1jQ=E17a%XS z)7%E>=42P;TX<3_r&`+7>@?MaDx#FmZLqzAxW<|wWdj?gvMxOv1#;6|fRkOIoG}9{ z$DAlPbH`o&W_lON(rh_%8@@4fJWkzVh*yEK?XEgi3&~qkbh{ZV25_CqA*oFRrQ0+o z3@AN|1tIO%957|5*(~z!m;u4-RrbkFIr@}Q+7#VRN4#yXK11DMsC7gs511MxBl2P! zv@6hAec{S7?6Z;NxK5a}usO6h`rFsrhxu4#y>L}JAnej#c3$F-+m7)2ct2sQgZUf1 zV+;g(r@DuvbZGKJks~cu7m5Y&FQi&H95(~yr&J+go6_G2O;0%0A>9Kuel*p|cCmQM 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

hhF4|J>$t>8-PjS|S$ zv#luS{CJ!v+mMoVnkekCM#u7?P9 zhiY$_H+*cTl4f`k5*F}mH(`#Rxp5v!A+kYXz;=Syf-@Rv2w4u5!|%EP==IboL`qSj zEJ&Bb zr#X);L$OhzF0XNg!qLm*SCkuUWKZ;SRjTu?K%;vNf=|o zAox^#YYDxHZ(YHff)+s)JTzu(-_;?pp z)2+rgYrW;4bc?<{;^LFy%3g8dDeC57o$rslWvfn$zGuYe`zTkp*qisue$jV8Tyj=i zF(@t^qLT0G9{Ikv?DJvKcSKy=D=zb1zi>|UJuj{t6<@g^F1$!LzEk(=Yu>U~#zbGY z_~Zp~x%c|TOQP>(aml#&#Gv@S`To9rMfANYzBC~&oD>&cqxRYbI=!d9^qvPkni74l zi%V{ZPY#N|op15_wCFn{uACJgzbP)9qtX3SxB7kW9X`7y`uh1S@%MQ$z~|{f@jo7$ zZ}YQtKE8oID=vt4dFpYZYrT(ekk8^^pT~Q})$>#F;RYYyjXqC=_^dcAJ~BVGD?@#J z!+e%(@>#ywXXT*y{vV$8-ss(MAKwU{Cnm(7dOQ5}+DISYD4&-v;2n70$#c;@zA-+F zV|`ZiijU0SU}2n(?-rjIw)#9hA>MvBFU9-#Zu41@;PZH*51wDQ`WGRB> N_||;h?`Tx){{d7Dz=r?; literal 61379 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 &maOA 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 m=A3(ZpL { + // TODO: Test Dragon's Breath + World world = p.getWorld(); + + Location eyeLocation = p.getEyeLocation(); + Vector direction = eyeLocation.getDirection(); + + Location hit = CustomDisplayRaytracer.trace(eyeLocation,direction,30,point -> { + Location particleLocation = point.getLoc(); + world.spawnParticle(Particle.DRAGON_BREATH, particleLocation, 10, 0.2, 0.2, 0.2, 0.01); + return !point.getBlock().isPassable(); + }).getLoc(); + + AreaEffectCloud cloud = (AreaEffectCloud) world.spawnEntity(hit, EntityType.AREA_EFFECT_CLOUD); + cloud.setRadius(3.0f); + cloud.setDuration(200); + cloud.setParticle(Particle.DRAGON_BREATH); + cloud.addCustomEffect(PotionEffectType.INSTANT_DAMAGE.createEffect(1,1),true); + cloud.setOwnerUniqueId(p.getUniqueId()); + }, 50), LEGGINGS(ItemBuilder.create() .material(Material.NETHERITE_LEGGINGS) @@ -61,9 +91,23 @@ public enum Unique { .build(), "Netherite Leggings", (p) -> { p.addPotionEffect(new PotionEffect(PotionEffectType.RESISTANCE,21,0,true,false,false)); - }, (p) -> { - // TODO: yoink shield ability from OgreDupeAlias + // TODO: Test Shield + Stream toKnockBack = p.getNearbyEntities(10,10,10).stream().filter(target -> { + if (!(target instanceof Player v)) return false; + boolean tooClose = target.getLocation().distance(p.getLocation()) < 10; + boolean self = target.getUniqueId().equals(p.getUniqueId()); + boolean trusted = ArmorSMP.getInstance().getManager().trust.getTrustees(p).contains(v.getUniqueId().toString()); + return tooClose && !self && !trusted; + }); + toKnockBack.forEach((target -> { + Vector direction = target.getLocation().toVector().subtract(p.getLocation().toVector()); + direction.normalize(); + direction.multiply(2); + direction.setY(direction.getY() + 0.5); + + target.setVelocity(direction); + })); }, 45), BOOTS(ItemBuilder.create() .material(Material.NETHERITE_BOOTS) @@ -82,7 +126,10 @@ public enum Unique { "Netherite Boots", (p) -> { p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED,21,0,true,false,false)); }, (p) -> { - // TODO: Vector math for dash ability + Vector direction = p.getLocation().getDirection(); + Vector velocity = direction.multiply(4); // TODO: Test Vector + + p.setVelocity(velocity); }, 50), MACE(ItemBuilder.create() .material(Material.MACE) diff --git a/src/main/java/me/trouper/armorsmp/server/commands/AbilityCommand.java b/src/main/java/me/trouper/armorsmp/server/commands/AbilityCommand.java index e5d0383..fccccdc 100644 --- a/src/main/java/me/trouper/armorsmp/server/commands/AbilityCommand.java +++ b/src/main/java/me/trouper/armorsmp/server/commands/AbilityCommand.java @@ -6,6 +6,7 @@ import io.github.itzispyder.pdk.commands.CustomCommand; import io.github.itzispyder.pdk.commands.completions.CompletionBuilder; import io.github.itzispyder.pdk.utils.misc.Cooldown; import io.github.itzispyder.pdk.utils.misc.Pair; +import me.trouper.armorsmp.ArmorSMP; import me.trouper.armorsmp.data.Unique; import me.trouper.armorsmp.utils.Text; import org.bukkit.command.Command; @@ -13,12 +14,13 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.util.Arrays; +import java.util.Objects; import java.util.UUID; @CommandRegistry(value = "ability", printStackTrace = true, playersOnly = true) public class AbilityCommand implements CustomCommand { - Cooldown> abilityCooldown = new Cooldown<>(); + private final Cooldown> abilityCooldown = new Cooldown<>(); @Override public void dispatchCommand(CommandSender sender, Command command, String label, Args args) { @@ -28,6 +30,10 @@ public class AbilityCommand implements CustomCommand { Text.sendMessage(false, Text.Pallet.ERROR, sender, "Error: {0} is not a valid unique. Please choose from these values: ", args.get(2).toString(), Arrays.toString(Unique.values())); return; } + if (p.getUniqueId().toString().equals(ArmorSMP.getInstance().getManager().io.storage.uniques.owners.get(piece))) { + Text.sendMessage(false, Text.Pallet.WARNING, sender, "You do not own {0}.",piece.getCanonical()); + return; + } if (abilityCooldown.isOnCooldown(Pair.of(piece,p.getUniqueId()))) { Text.sendMessage(false, Text.Pallet.WARNING, sender, "The ability for your {0} is on cooldown for {1} seconds.",piece.getCanonical(),abilityCooldown.getCooldownSec(Pair.of(piece,p.getUniqueId()))); return; diff --git a/src/main/java/me/trouper/armorsmp/server/events/ItemDestroyEvents.java b/src/main/java/me/trouper/armorsmp/server/events/ItemDestroyEvents.java index 28310c2..2ff9952 100644 --- a/src/main/java/me/trouper/armorsmp/server/events/ItemDestroyEvents.java +++ b/src/main/java/me/trouper/armorsmp/server/events/ItemDestroyEvents.java @@ -5,9 +5,7 @@ import io.papermc.paper.event.entity.EntityDamageItemEvent; import me.trouper.armorsmp.data.Unique; import org.bukkit.entity.Item; import org.bukkit.event.EventHandler; -import org.bukkit.event.entity.EntityDamageByBlockEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.ItemDespawnEvent; +import org.bukkit.event.entity.*; import org.bukkit.inventory.ItemStack; public class ItemDestroyEvents implements CustomListener { @@ -28,7 +26,31 @@ public class ItemDestroyEvents implements CustomListener { } @EventHandler - public void onBlockDamage(EntityDamageByEntityEvent e) { + public void onEntityDamage(EntityDamageByEntityEvent e) { + if (!(e.getEntity() instanceof Item i)) return; + if (!Unique.isUnique(i.getItemStack())) return; + + e.setCancelled(true); + } + + @EventHandler + public void onCombust(EntityCombustEvent e) { + if (!(e.getEntity() instanceof Item i)) return; + if (!Unique.isUnique(i.getItemStack())) return; + + e.setCancelled(true); + } + + @EventHandler + public void onEntityCombust(EntityCombustByEntityEvent e) { + if (!(e.getEntity() instanceof Item i)) return; + if (!Unique.isUnique(i.getItemStack())) return; + + e.setCancelled(true); + } + + @EventHandler + public void onBlockCombust(EntityCombustByBlockEvent e) { if (!(e.getEntity() instanceof Item i)) return; if (!Unique.isUnique(i.getItemStack())) return; diff --git a/src/main/java/me/trouper/armorsmp/server/events/JoinEvent.java b/src/main/java/me/trouper/armorsmp/server/events/JoinEvent.java index 1978987..5045188 100644 --- a/src/main/java/me/trouper/armorsmp/server/events/JoinEvent.java +++ b/src/main/java/me/trouper/armorsmp/server/events/JoinEvent.java @@ -31,7 +31,7 @@ public class JoinEvent implements CustomListener { final Map armorCache = ArmorSMP.getInstance().getManager().io.storage.armorUpdateCache; if (armorCache.containsKey(p.getUniqueId().toString()) || !ArmorSMP.getInstance().getManager().armor.verifyArmor(p)) { Verbose.send("Updating armor"); - ArmorSMP.getInstance().getManager().armor.queueUpdate(p,armorCache.get(p.getUniqueId().toString())); + ArmorSMP.getInstance().getManager().armor.queueUpdate(p,armorCache.getOrDefault(p.getUniqueId().toString(),true)); ArmorSMP.getInstance().getManager().io.storage.armorUpdateCache.remove(p.getUniqueId().toString()); } final Set uniquesCache = ArmorSMP.getInstance().getManager().io.storage.uniqueUpdateCache; diff --git a/src/main/java/me/trouper/armorsmp/server/events/TrustEvents.java b/src/main/java/me/trouper/armorsmp/server/events/TrustEvents.java new file mode 100644 index 0000000..3d25561 --- /dev/null +++ b/src/main/java/me/trouper/armorsmp/server/events/TrustEvents.java @@ -0,0 +1,30 @@ +package me.trouper.armorsmp.server.events; + +import io.github.itzispyder.pdk.events.CustomListener; +import me.trouper.armorsmp.ArmorSMP; +import org.bukkit.entity.AreaEffectCloud; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.entity.EntityDamageByEntityEvent; + +import java.util.Set; + +public class TrustEvents implements CustomListener { + @EventHandler + public void onDamage(EntityDamageByEntityEvent e) { + if (!(e.getEntity() instanceof Player v)) return; + Set trustees = ArmorSMP.getInstance().getManager().trust.getTrustees(v); + String damager = e.getDamager().getUniqueId().toString(); + + if (trustees.contains(damager)) { + e.setCancelled(true); + return; + } + if (e.getDamager() instanceof AreaEffectCloud aoe && aoe.getOwnerUniqueId() != null) { + if (trustees.contains(aoe.getOwnerUniqueId().toString())) { + e.setCancelled(true); + return; + } + } + } +} diff --git a/src/main/java/me/trouper/armorsmp/server/systems/ArmorBackend.java b/src/main/java/me/trouper/armorsmp/server/systems/ArmorBackend.java index e4dfa15..aa87b16 100644 --- a/src/main/java/me/trouper/armorsmp/server/systems/ArmorBackend.java +++ b/src/main/java/me/trouper/armorsmp/server/systems/ArmorBackend.java @@ -51,7 +51,7 @@ public class ArmorBackend { } public boolean upTier(OfflinePlayer target) { - int numeric = storage.userData.playerTiers.get(target.getUniqueId().toString()).getNumeric(); + int numeric = storage.userData.playerTiers.computeIfAbsent(target.getUniqueId().toString(),tier->ArmorTier.NONE).getNumeric(); Verbose.send("Upgrading %s, current numeric: %s",target.getName(),numeric); if (numeric > 4) return false; numeric++; diff --git a/src/main/java/me/trouper/armorsmp/server/systems/Broadcaster.java b/src/main/java/me/trouper/armorsmp/server/systems/Broadcaster.java index c531159..1f0d365 100644 --- a/src/main/java/me/trouper/armorsmp/server/systems/Broadcaster.java +++ b/src/main/java/me/trouper/armorsmp/server/systems/Broadcaster.java @@ -4,6 +4,7 @@ import io.github.itzispyder.pdk.utils.misc.Randomizer; import me.trouper.armorsmp.ArmorSMP; import me.trouper.armorsmp.data.io.IO; import me.trouper.armorsmp.utils.Text; +import org.bukkit.entity.Player; public class Broadcaster { @@ -15,6 +16,9 @@ public class Broadcaster { public void broadcastTip() { String tip = new Randomizer().getRandomElement(io.config.tips.tipList); - ArmorSMP.getInstance().getServer().broadcast(Text.getMessage(false, Text.Pallet.NEUTRAL,tip)); + for (Player onlinePlayer : ArmorSMP.getInstance().getServer().getOnlinePlayers()) { + if (ArmorSMP.getInstance().getManager().io.storage.userData.tipsDisabled.contains(onlinePlayer.getUniqueId().toString())) continue; + onlinePlayer.sendMessage(Text.getMessage(false, Text.Pallet.NEUTRAL,tip)); + } } } diff --git a/src/main/java/me/trouper/armorsmp/server/systems/UniquesBackend.java b/src/main/java/me/trouper/armorsmp/server/systems/UniquesBackend.java index f2fc4c1..80da80d 100644 --- a/src/main/java/me/trouper/armorsmp/server/systems/UniquesBackend.java +++ b/src/main/java/me/trouper/armorsmp/server/systems/UniquesBackend.java @@ -1,5 +1,6 @@ package me.trouper.armorsmp.server.systems; +import me.trouper.armorsmp.ArmorSMP; import me.trouper.armorsmp.data.io.IO; import me.trouper.armorsmp.data.io.Storage; import me.trouper.armorsmp.data.Unique; @@ -7,6 +8,8 @@ import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; +import java.util.UUID; + public class UniquesBackend { private final Storage storage; @@ -15,20 +18,22 @@ public class UniquesBackend { storage = io.storage; } - private void updateUniques(Player p) { - if (!storage.uniques.owners.containsValue(p.getUniqueId().toString())) return; - for (Player player : Bukkit.getOnlinePlayers()) { - - } - storage.uniques.owners.forEach((unique,owner)->{ - if (unique.equals(Unique.MACE) || unique.equals(Unique.SWORD) || unique.equals(Unique.AXE) && owner.equals(p.getUniqueId().toString()) && !p.getInventory().contains(unique.getInGameItem())) { - p.getInventory().addItem(unique.getInGameItem()); + private void updateUniques() { + ArmorSMP.getInstance().getServer().getOnlinePlayers().forEach(this::updateUniques); + } + + public void updateUniques(Player p) { + ArmorSMP.getInstance().getManager().io.storage.uniques.owners.forEach(((unique, id) -> { + if (id.equals(p.getUniqueId().toString())) { + if (!p.getInventory().contains(unique.getInGameItem())) p.getInventory().addItem(unique.getInGameItem()); + } else { + p.getInventory().removeItemAnySlot(unique.getInGameItem()); } - }); + })); } public void queueUpdate(OfflinePlayer target) { - if (target.getPlayer() != null && target.isOnline()) updateUniques(target.getPlayer()); + if (target.getPlayer() != null && target.isOnline()) updateUniques(); else storage.uniqueUpdateCache.add(target.getUniqueId().toString()); } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 4625655..cf54608 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -18,4 +18,8 @@ commands: usage: "/asmp usage" aliases: - asmp - - armor_smp \ No newline at end of file + - armor_smp + ability: + description: Utilize unique abilities. + aliases: + - a \ No newline at end of file