From 5af87372aacc3a6cacd30463228464726c903788 Mon Sep 17 00:00:00 2001 From: Rolf Howarth Date: Fri, 30 May 2025 15:14:23 +0100 Subject: [PATCH] Use signed arithmetic when reading rectangle (#1131) * Use signed arithmetic when reading rectangle An operation such as DirectBitsRect can fail if the origin is -ve and we're applying a screen image ratio. See for example P564B1400.pict * Fix copy/paste error in testNegativeOrigin() --------- Co-authored-by: Harald Kuhr --- .../imageio/plugins/pict/PICTImageReader.java | 8 ++++---- .../plugins/pict/PICTImageReaderTest.java | 18 ++++++++++++++++++ .../src/test/resources/pict/P564B1400.pict | Bin 0 -> 128200 bytes 3 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 imageio/imageio-pict/src/test/resources/pict/P564B1400.pict diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReader.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReader.java index 69515421..333caaba 100644 --- a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReader.java +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReader.java @@ -2406,10 +2406,10 @@ public final class PICTImageReader extends ImageReaderBase { * @throws IOException if an I/O error occurs while reading the image. */ private void readRectangle(DataInput pStream, Rectangle pDestRect) throws IOException { - int y = pStream.readUnsignedShort(); - int x = pStream.readUnsignedShort(); - int h = pStream.readUnsignedShort(); - int w = pStream.readUnsignedShort(); + int y = pStream.readShort(); + int x = pStream.readShort(); + int h = pStream.readShort(); + int w = pStream.readShort(); pDestRect.setLocation(getXPtCoord(x), getYPtCoord(y)); pDestRect.setSize(getXPtCoord(w - x), getYPtCoord(h - y)); diff --git a/imageio/imageio-pict/src/test/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderTest.java b/imageio/imageio-pict/src/test/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderTest.java index 13d26b2e..6dc38364 100644 --- a/imageio/imageio-pict/src/test/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderTest.java +++ b/imageio/imageio-pict/src/test/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderTest.java @@ -84,6 +84,7 @@ public class PICTImageReaderTest extends ImageReaderAbstractTestv%VR*j_*y{Nv? z60X~XX)|XV02tphznHOn`_kX9{oJ(oZ~uyd`-=GmObtligE{hY z0|S5+u&3(HKOn4L4><(3`Ctm@&(gR2$AExO4sh5F$8|cbR@0WjuY+PqVxSUzy=^N`gMVL|B@p^l#h*M7yB6RkTQSWGKuhW4!b`V2jLmj8wNZ_{K zt(;Te&QV_@Ph|3JhK>rQwfI0tK%0sMioh zk~%1oM*Fl|IhxS|97o7wt&)x5YK4RlJB!33q5s?=4nyYp3q|!}dr{V{bH~r!$`aL? z}DQK)f@t*j+E|BqmDGUtf_97y@(g?iWvI;FF`_>bwwQ%lm0PyeG>u2woL z1c|ru5fsV4l_*f$dvEBWtx79}Qb~4ForcgC%1L3H?nV0M&dAKjoo}`?(p^!RQM(=k zsiPUEj4d`$0hlzG(073|B|+foCEwmalyyqv# zzV74TE#I^neodP1TW#e)hpSJ2HfL+F7;>OK$fGzYJk$s|$OvpY#BV(ZllR``p}f0$ zC%2UY9Ix5_!O#0|sUZiPfCiESM)*}7VSV`yazafqz#{4hYgz-gv<4Wf`qnAsQeiH% zL%C9+kV_7JdNjU-&8{koKlEeF%wSHe;hD(uQ;g9XR` z0$wTwQ=XnDQ82O5Yvl?iAFLu^gKaMGmZe}R2*q%v0@^{Y2zEhT!#%|P27LVI{-gd! z_y76v0KYa6PXu7|k>9{glKAavNL&b_A@NLb0}@yDS`2Ru#QQ&t_`uJW`w{-Oe#<`_ z*cRf)0XVe#Gr)nwYhomjcog75;(I|ABwhu=;H`nUlR0tb+x9BCRK(9E8Wp(6R#5Tl z){vOHM7r(WnBc9yRtR(=H(^a^Y-WB*Noh%OenxC)jqpKbEK#w@O7OQwI4*KWL_C2= z#OH~GB3?n2P$cNL1Q#(m`4zaxzD87?%N3z{974oE1cZoLRK~+ajKV^#$V0HXD;@8i`y!>^xPy8T)R6idiE^41f2- zk3M{N_{fp7+Q_~X^eZ4l9w<*#BZPdQkcX;5$WbK-5kgMO@)1JROIRZ+&k>2(c@RX% zfgr+yN|IY)UYSfNd#U;E)O7Q-uF~i?_ zcgDMK4IeY={WeOF1Aa#dkv&%+X}N6TTXO8oi?WRX z^k>UWbOn&EM4ktSutK4g536k=a=EBjrl`F~!tNt_j+*+>#~)7{)ni2WCy@{VCrAk$ zQUOKWY7uY+Kq35t09}sD<$GQ{3V?SU+K5W8__h!8QV)rqSSP>?sR|cqHpkO&>Pjh?YAI6zFTu0!}xooaL zf~oEi0Sp`W-Z#H5TJYV>@xwq{MaTx}P=s6{$MvuK;A*gkC~Cyn;JOI^8|3LOfHeFN z=!*sbkeLpW@p_PgZv+IFi)+Cjco?YB;V&q_ahw4DR9!ZRBR=n~11IqaFp{VTxp|aiN0~wwQFx+z`UaG_kKp4KLy9P=S4~p?Bc#(BG0M-Z&6oXQHIoOTg1u9?A zz^`eRz?SX<<}7=ukjE*{)v1*P<}Rtey*|BM(xBDrG*Tpkb-P+hV0JQ5Wn4MJ7ZMUX z5x=@3u2Lj>a48Eb!I%g*qQ#t$P7#=F&p1rF!Sy`TGl$RpFSRE_c$UXfxA$IWPo6bv1>8qpvkFF z1Od2>DPCBIVM?$8+XX~eD#*ZuAPVEd>j1bY!>~-?mv#e0KoR8goaHH?jH>emF=^`o zw%|?dt9LjmabcL`cuS(2-*mGSu~uk8BT9I;lXx7A{K8?KkZ zt*$%2x*)oU%|qc#CEy{&(FN7~2bZc*oUcQZ`8cZMC&LRz>-o$w;H~9PDCu;a&)YSI z&oAr&h9vQ8Ca>n#ygh}_=lPE2NA@Y7{ z9_1*k;-4jed(VMrPS;zX1T6aNVowwe2H@AqI*M2lB#85qC??|hOcaI84Cl-0w7Dgf zTokV6mU0f8_{(1#4;=Q}{P!;thP8*J3E&EpGzOIM(Q&Kz{73*ktKe6G8~jSJ2C8=A zD*o1fC_e_2Q-y30hE@*+AR3JU-GRHqEiF1A9NhJqfTFNUuoy0?!@Hv)pb(^j8w(ep z=sy7LsC^tkM~<4i(0kji?W-4lJ!)io2)Z2gfg?+ypsPW->mC$^Rme!-VK?GybkV0#eQtvca0TT~ z1t8R1P!`&V0@#<1W_`&#+*!oqloe!Y>M^NQBH~1?NyRjJoBE8kQ5-QLb(aXr6N-6o z^QKZNrD#b)Ib2kwo$oKLmDEY0TSp3=KvFVKNSLD8qqP#-O2;6H$ZG;F8J;m=f?K|lf?8Xm#{m9OT|;yQP<0nrl7l_inLTvtoB_mN5x0b5!FBB@I%DVhN!8Q`K$ zqLn&>x!}B%D&GaTP&_tRU@iOcBM<|{<_ER{ZdFO{-A0|-rV-2DyF&@h zvcY$6Hr9x%-ReXInUeaZCQVaQqb##PRHu7D8B1NPp4xZ}%&k@{lY^DL7r>Qjwz~0- ztYK|8b;En_s~a!(j8m6_b?UT!0=393UfnQbD|t2MR;Xhk$gjN%)VwNFD1Jl)&pm)Anez#E!HnY_JY5*B?hyJogb$VV&6;~iN3E)l&F#Oxyfmgyq z&+VBvqRm1y%>tVhYT3n14mc(I0{EzF6YCqgE>z3Gc6HOQfTNBEx7GXlHK{X!7#1dy zS5ursy%ne%0jO`P5JDk*0g$Mv+Dx!ott?P$WA5=+j8{G#k0qJ zz8KzSAw+OKYG~vg6ki0{#Q>zJIR)xs5T=d?scIGYS*6|vQ1zreYW2>kP3j~dA}>W! zZNr4QkU1}PZLtapF#~)7Ul5SBJ3+KsT%txvOv}LHCUq97J`O}iA)L&6f;kR899I-( zr!=S}gb-R**2zVFb#QgAJG|&*7FU1^ZPBXisAK^~$Zavvo#^Z;RQG@~mas_35FFQm zZocR`0LJ|~NQk};fXhLl;2`KCtoa*0|9o65jOln#*bbio=Lm(x zAG=Hht2DyiHNc%OBx{6%a5$H{2!%0Vmyq9YfKXUY07jQome5b=E>$(8W*1ddqj14B z@$OFY{{5&wj$Vnn?!RR8_ig5$w@L>b;)E07!(FLmlWtuLz8HM%R#JW?S94#9iWkj~ zf>$(s0Upi=Jc92ol&KQ#=9W~|2%kF|EM6Tgg+sFxjM?_w%A)L)ScM$EICPUMFi}Oq z*`2FbtloJxpF04=oAMh*GjJ7e}vvnxtVOXv}_E}ySltEGdUU)@sMhSTV2hrEJ%&Me&u>} zYC#1@UG0o;DoP4+b8-txDmci!_pEC2Z*w)1Tg}C*2g42Z?K_!;a6$TyBXwxz6cpGa zW%=oekx~@Vlv$M)7vvIIR#4p1`Z8u|NfA-VEGj9jGt0Be$iK~HptPyXosCMPlHfdw z@c(rz4$Zv4H@%$Fyu0zYBq*1SR}pMbC1Mj*7`znlUdK+Z!r8j2WO(5)uY+ZVd=k9J ztCA>~c-W3v#fELVR13rr33u~KIsE@1S{A#3=F_2>PcYMlU6Pv`cayc=@E5V(IXo^c zw}j1WZMiKC4^dSWXQ#x3u~5Tb1nL|Xo03ypRnyvXTN)nBv#Bh~x^w$F3u9w89p!>uu@wV2e#s;bJ0qVOrh9tWS35nn)p zwDv^3O`S@Va+E@3OEU)KHf3;;3ct+Ki}ZHdq6P6%rLs0&O+O3@?K7nON_9`Bwa0xD2-uA^7u7PF{Zg`8=ome3)ir zCVNAdYugbz8#z2%h$$4OmG&z51{Ny{FyOMKnPb@7l;)+y-MmD0kE1yBpLC%_Dur)G zl4Nd}Oezs(du=wA-IBQ)%SL>CH1J~ZMf`Gbu=C~1!51%IICuK^Pa{I%h!bPZ!8ha5 z;L`k9n8Etk#MHDjJR>-bk#Uzuvr9=yirD}jAG4#8=de;KE<1|>_%6&wCN8^dKxs=e z%jjoQnwuIMc99&UHrx|yvxK5}34l&v2eAmvS+$5P2%`#|3;xlmWFr0r;+4K_!{Bx#d_lbn;2Qj!vq;$y-$ zg2%&1OA}rJz0mTr7(7w;<^EyEzKaPvnk0*iMersv=m$PHC`^XT$x7k9QqBe&RHKGWdk^$y5F(Px|{G+Wy7JlW=PRE#$(DnADsScAGGQ z%{Qas6O!=6-~{Kyg!qJn__*6QHi5^%=w#qAyh1FI$#ht-3}8B$Eqs?y9&SKqOEbtA zWK)uza{Kyuaze0fys#;=1{c%{ZFs0q$U_T+_5yxQ*2*PRaS3#@)d+wyl*;Vj+YLd*EdzF2S^%b#O>y>}=+JZ2 zEP@7X%H;9|LIEn!q0HQ!c{pnGx)+MR?p22}0wYnhn*grBD36=DZoUZ;MT0KuP^%Nk zBml$TO^Vu(x!1i2)U6qO#LP{5{Ei&P585C4W%c1hhqnH7h&XJ0=n%}doH~>BgWo?4 zfgTFydg#!>!$%Jt*|&e^rkNuH42F6xH2O|?|gs$x{y6vN&AwR6-&%09d;oqT7^5Rk^O1S~fNhd*|IjB)adRilDL*9}$(W$xBi*K*nzIU%~Kl4DB4~YYe-`&d&Fb2=8 zI>6X}kl1gxch9!9Q(ipGrsmpn*We=t?98Xmo?A0}JvUss84(ewi(>TniHKrs?p7AX zc;&mwD5q#xdMhIA607UK$X!CEP%4qibW%qDwS<%r)VE9ud$v;QBqR5iGT6KE2JUQW z-7%Ng6lEnxT|G+=_5Ep;Tpl0g!}ssj+-`%(Zleb~hJqR;yqZuC_^!Y5j?a7(EQ%J| zoQF2Cb%F*0$WSXD>hFfbERHhXov%XyuL)(m?xlssVQ4vg;*u@fefQyenftnYKQif{}vCnz0@4kI|_w4jpHvUC=^qjpK zm7G;n^>2u>IxzI+ttee2X%CT%P2KQF5Uz!n23}3@f;ABlcqHTHZ|fof%zy}3OJ3o4 zq*Fv>WK=}>jWa9z|7(Ic(|wX$DG*Dga84MomcSSn`VulGCV|T+Q-U>r!V+9&Pi`n> zvNu-1otF+?44IS!rX~~&)&ns?LO~D-zdVtiP3Ru7`p%{(Gb!@Q8FB%(Z@h3Ixu~?P ztXx}ReW+_F2p}qK#xJg@7{6Fo!T8XNsOaC_{jV#>CPiqGDts0f@^ zadwPr=TvQlOLjYv^w+~zvE&8~pjs3hui+=2D<1~BGBF~9Kt$)E6 zjh#2x#=6s@Me{suY&>CY?{V;&zG%^ueh}o1S8UwoPIYpb3G=UyweRvNjf7a_xOnlR zKYsb<{V~JorTxs6$fQhY!_SF&Mtbi%7I5mcE|Agn3nH+amq%dWKZ6}z4g?17f63nc zufV`@U%p{;6b~GGV7#MUkHEkKuR1!8^9u|d_DNvii@yX0{yY+bd^N+dr_WDr9!p?; z?rfL7YiT69K>O3D0*-87{?hZQoV0QgJfSVb#Y|EE)r6?q`931i)z>M55hOA;|jqodzZC?$P%o%y0P9 z{lyzbBw~2dS_02cb1PHnof~aDR=?UnpIGFTKyo^_K?9E5Eh!_av~26C3)rLIBiJ?* z{$#T!{HbHVu)B8^JKZiB-mux@zbn~3guP%oyTlD-v*-TJ9<`C3UWT)sIaQVAWd*5w z=Ns_o*u9V2<+5XJav#`C#~$$d^t8+wos1Yur~FV@&ORPf@%c=WDtY1TP9~(o-kdvc z$)A7WUd-j4CJ|mAe&V`(dC%!y^Oyd$yw9j5GrD;F)yICyZ_B;B;C<&g%YTOV1AhK_ zK!2D{^z!O5)$6Y*UA?^eIK1_HAJ-ATj_C%=9mf4U)YI!P3Jc-oxcu*BOBen+XX0>r zb`2zlSYhS!qoRrH4;?>u{=6=T(d{cDsM`vUprAoN2OT*R6!hXdr|0*9iOUZM&*4E+ zU+lH^{Jx-|5wGmq_wq;?-+4hn-wz-`zCH4y$7H`*17Y5E_P&W@Oh_&UT{w5{ zl>fdp?@Ov-G!BkFxl(Bpa+Iw*d%wKB6xy!ob2^M z*JU{v_U79;+0&=M@)a01d^?71842?q8%tmB`*p#>Q83?SNzSM5Vc6K6Bo;#EAcu}Q zv5=cZuVSw0&&pv!CwTxZOtC#>A3w%9fP?4 zOs5JG!QoriKt_mD<>~1o4CNuCh5P6G4{n2VJEwrt zT<(!hTpAzu?O&l^64}(xNL6b>Idtlei~e4*8ehfqcAG+Y+kWBd?cIOC?}WF*@8IK~ zz6XoE`;F0hGk*tf_l&E)Z9@T)3HT)|WhSWhTzgZnC#Z%xi2lnyx{ zF!?qpRZjX@tAvMew&ThXx!{sgc@Y#UC#_N{U)-rw`n;r6PMWV&E+3^(UUGo>uaru^ zJ~RfPAe8nBxm+pbX3-BKw9#1oWK)v0xyLzgMU z2Isk*H*8ow2uxhP;Rn!<7+^JT!+F4I8@6+^}Irj}27* z%@;Oo_}bc#|HRdZfwhj!-Je(z7zDq71lfJwN)Hy(93_wX31{4fn9#Ux(cY zTh}8j?9{8^G`#5B(6Hm>1}eW|YD2>n2SffuZzF~V zqTar-w!T)5meR`>Z9rC^!!ed{>+&i3;p+taBAP%#?otK477)7~rVkd2-}qZBdgE`M zxR>avFGn|r+E7K{9t3qf6)o|aU+}iZ1wTkvUTI?#UBizA1+Q^zLh|YujfZMpZW!bg-1j{ z=fbF0q1$2kNIcTkxAVftlVA%hd*xegB=Zzlghvhu06vkCo588bSH6vm9PoQ&YBBEzqp^PThjYNk{HBUNada4l0a^*utvIQ9mvu}$c< zS5pRV>NJeWYqc6?DcFx|h7^JbjRt;iK{I)+Ml)i!MziV_4V7OtO`{2QFyv46!8KN7 zb3)6|XbFvV1IDJGxoESoT4GaR7*%lP>VyWIDddTuheQFLBo{n{1m+L}!m&v!;pTFs z7PFG|^;k||J<0nilX5X`HFm&t942sdO~J4mV%gYj@LOO~IVO<`t8)V8n{eqc<{0~5 zVci27YOw*M=2YDt;bua);7u78X`Nj>2NoG96PQ~w)}eE}Slf5*!hQSfo@KXm_Xf}D zyLT_#xvSqNzPpEbuG#Ig)z|Y~U*Fw?@3h^6dMw?&a@X!YW43O7x$kbO{N*v*zqIe= z>+3ng*LV6LU*Df?U>?GM-O1N?!H(ViKKAw9wcB^swrv}he`Z|4C{-0yJZF0P;_#L5 z+p#ftLeIEg?GMKVkNPGqZclXV@WpX)V@CzW-Mkq$>PJo7)G;p{i3^O09XdTMbn>uR zSQZyId0NB@r$KR4{@bx}aXxm2{6Afd7!qP)<6@(4hg~`}mtMo3BOSRm+Y+x9e)UnK z@8RQ|u1BYO>-F(k;UxcS>hzHr`cj;D^=lwX>Gs zDu>#azE-{It%8?UWmUTpf_|G&dCPYQ3y8D9I+FA-##SGZ=mZ}_Vtc6Vp)gV}|y6g%@?CPwd@v721`(9Jc zw(sfZ{uyjTw!`7E0wd-@Kd;)hXTR33hwo_61q|Kc=hxN2eWb6S-_{Yp!)2-8;8_~K zsapmE$Ig5F*7tX?dttpFEc5gG)6M#o*?kQ8cZd4<{cdB(|KMiAaKO)R|NfmmtG*se zKWtbU(tln_&FY^YcqKMLo6<8iZW{cW_PEH@)V?mgCdH+u-gq7K?s6z~%+H$Csn^E< z*KP@^mxenzjtowPWvQtLyV^`yFxZg);nmdCU3P~2`mRO{Dak3RiOKO%p(nq6K9%HT zvLq2ssP#S6UxF9FI|{viu-kwS)q1_?ec;(WNk4UiMn6_C6}b1+=&Qzca-PVB!)k+G zpU~UxGaque!Tf4C+``G>2J>g(aHBA&_0|L-q#wy>17fJCffjrcm#~B~p(AoMxI$J} zuZG_)s%&IPk=jOvSgdPwhXwWZDpBE?UrqH2vR>ZEs6{knPShw%3N2t>?>gu$5 zMuWIk&yXwOEv8iK8H7?mRzMiJkuy7^5*ZV0$wfN&B#hw1s+ZL}%1(zOwQ3En)#1rH zLhGtiV?}2dn#v+znX{p6=)!FWkDWMypCnG`T6t+tIs}|NadgkdUx%KSvFhdZgr<{T zZ_%G^=VN(jQbulJAzmC@NEAEd=NISRjSc#<9q`*4n_=sTJ2Us<|6;PlyZ`1#;-&gajaJ99Sh_`xmn zha4znapW8Zio#u+g)-WJddvkw6r@Y!ivWMVvAn~nFE{0#`*NKBg&g6qLD&&{v$82~UbXFuf zD4e0KlQ}Ck<6RBXsl@Dzs{>ycI8gfn<9YueUa%dmfmh zSHAMJq+365;0rGdyqdult1SAM((252XT3M$-5JwoJjHbV(Y4whUff6~!p!^3Hhz8cvT$ZX(Ao3n&jp=3|18t>&zj)9^xBbuBZmSn1YZfcdihES z{15-Gkl9D2!yg6ETu)qC57C8OI)Ccqsb}9+l;&Q0n2k(0^S}+lnFYylM1pm4d_qUs zc0DXgj=ob^TwYmGQC?2{uWbLcs;sKKs;n?8DW>iGJ?(z&wV(y7N)qsKffXv~NGwz! zQq|Yt^;R$rc>5b((7Pg z-n}Y$?E7y{+)67bw|M-aENdr`XPujyotxW{cIcsPcF;RFcV`P$RU#)8)^Zqaqa*Fm zLmTbDMP6cVRkkb5ALZ7r`RAY2-fPyZewOL_XHD>4dL0bRyH_QTeZSUxmu2Q8xQt)0 z3c7gVVn_1-M+H5DF1KI}@LNa`ae$f56da znXZ4<1n;HS!9e?I;JCSi+U&JndV1QOyBT*gT1eNoRPn6JI~e%aHSpRa`Z~P@(=z_d zTcX~{9Kt%Mli9}SCUh)?6A{+8I?@h3wB8N|QuY#Y(|pM^vnu#=P8bZQY^~}@JM_?c zJLpT6UdyB%*n}*Jo2`Q1Ytd75BTq6vlz>aX|%A^SkBVh z64y5@*dC%N)ic7fBJ|cx?|AkpDc3VDcUJ3dshhAYDR~P&rmRmOb4oHNCqMGYTP@uv zgTxTk;?ntild@Ru8K0ONOg3g$@n#>d-HTodg|?BGBgPnWwnbo!%Y92Q#wj;7nS;UF z=4^vDbjl5WOj-#I>69A;p0u)#YyoR0t%TNe%1uiGr;)%>Et=H-3Ox(6v>Imq5SNWI z=MF3)qaMkbr3~>m9BLY7B)u$RQyc%F0raWUg40lMCH=+<2HuHJ|{)#SDLIy|F zSOiD(dV~BqJQ9o6P);J%(GAJ?ss>UJfC8$e$P}cAcHc38W^>a&xepaqZp|zt}GqOFnf6af2j=19R)ZB0MKv$3cz3P0@s*dz)x#< z0q`DuxxwF!wt_#(Z2pgiWxz5f!!{pGvDsrjhvi_*DzIOJjh}n~!}d+XuoVdNhOu7hG!7=_ z&=d&W0RB2Fjc|*LU9Vj_td}KC13uV(! zW@Ngzk)lD3Mv;t2-3?Nh^lFgw^@1r*LzfJtB{xn`Es{y%b;jfHs_+`|B)pZrJTi4j`;kSQK3*k8_uF+R$5^FFtPrak<(|Rl21G9>0+u4Mcqh_#%%!8>c>tV8cUGj z5R6PiMvVk41faR4glN=z7`dj44d`_GG2XNFYIh*h|F%_cNztGi%Q7R=y^R#jRixJ& zk-8hCFtKQm^z}F1OVOodgn za0$asxnah_zuqFS9#q^hijc9K27{r@GJy|{jWFRSL5<>=af2E7q(rQRQPC)74H!+R zdWSm;FTMNn32E01Be;=^_ZGtN88ixG*`%NDmBfXvqA_YQ*T3E}S0$8hJp8$IN%#7id;sEZ*CGDV95w!22hE`~qI z6AU78^d%F164Z#E%$u`MvPy~2h9hz7@lkzXUh05nbUbK<;4gf-4vn46>-8waX{N0J_u;7RPK! zkZcgF#`=((#Us72bZ`yx>u1>C(vYxTgE1kb4s$eNBKNK)N=7s~@xb1VfB74j6AsIji*j6%L?bXu&- zM}PDxz1DyJDnn~nW#EF`wmQ&48cHUue1HheoY7lWGrr)KmG5vF!*^!W8s z{pWPJWIDL=vZ*l8qA{E@>2dvMx*>!znWtgio?4dZ%8Mi8Mpz) z&_btoG@)EGO{4FA4^0|&3JmD%Huf7?`pXa(UAAT#q3=QBrAZmf4PaXR_-U2_ph++z zc5`-&&1ne^Zq@0#nzKy?hc@DT`9!CQdbMMx!uzO_%DI;llIz|^k`@XwA#`0cO>eGL zjsEr7F9)u9$-{umq#GlaDbwY;EnR92epiEv^~MGjg)RGCJG!-_TRTRpY3}%sj8;pJ z>ss^uY8E!-fV;!sUNh3M>%Ht|uZ7+U&rbc`<73zz&psho<``G!aas3o0cn_$cfbqX z!gSaWdP|3WVBd3}`zIDVTmy^&s}}lJX^iC7wfj9JX;5-Y=yuTsyto~1@#wNI%Q${k~+epzuJtlN1sxUmZq_6u-lGt+AR!@v}Zm}Ew;hTAambr2FlD#AP-X3l)xj5<>l}r zn+K0A7M4iq+sZs8{B3a_T3M+=8I|zo=^+$6eOXviYu>0b5B^*|H%~)?NN6~2UIWS~ zDuJgW3rpZnlGl_7$hHtc%!e8pB}Bx{87qS3xC{V^HQy`*3 z5@ikiuzuZ(pUua};+FlD9TJjCeLnio!mkBxn(q_HuUWza)tj!fFcoIAVac&?ovy+& z*ppVujdv|OSDtoTi}3|cnLlP4zSen7ZympBo_DrL&o~h)r*H1IczC4!8(D0?I=&Cu z@ts}MPa&9$;i-TB=9ztuZL#?P%+#~iu-5EY!_s3dj<>eLSdJ!d^Jyv*1CgvGR?@B{ zm||FqM-(0x&SI)zIMAf2zRN_Jku|5APN`2foiKbV0vL+Z{8PNs{1d!W{L{P>X=H(+ zPJOEBwEBc1z*=z{t%+ozSc@5-C=tKLY z{aab|7ceqOc_1_OkX&kP6GM^8Y6>8em?mpQsva`=P+M*PR+je6zfY4%O?B#eCA@@n z3`G*Zj#r;n$FC12Z^#-&T~ocF&RUVw8vXu@xGejk?!K{;*rZa|)~l>y5f#h`RSZQU zU&X6UQ}Jtq$s4j-p=zoXsH_!r;=G%h)j&}2qdz-MY6Dj>evgxpDrrskKj+jeOo;I_t<2`(oY17y*4dtP z*;i6@_C%A?YH*NJsjh2MDxm!&@Rhu}5~Xclr#z)H=&dFt97xJEvZ6_8Usre1Wp8;| z&}oITsSZ~%_GA&Tk+mYBHPgZW7*&hui23$?78~EB&?&9ZZhtDZivBk@A43(2!RHmH zDwWD}rOKe$}SpilE}8oq6?2h9aJ?;3-QKJ^BurtWcbPQ=uq1vm+D!20Mh^ zo~69*TR|w9mp8`LD|w1E61+)ar9`_e(J6aE@S^Ky6$%5DQxysWiHI#Rgu?E85v+wI z2&HxKmgKA1TBWrjzBPlOLx5+{0~SNoWJS$8rT999RW!Jv(8*s|+UK9CL%5_7dE8Pc z1_UbxfB4Q<9!o#?V7Od9_|x&<*>f96vq)3$<+Y0beM36!r>y9MCI8rzLfiZBow**% zAh1I5_r!I5A{rDtIb}v_1rrj`DMmsp?@m7~U)q-%O@ts!6O9S{=5pfxq)UFbhP9#lyYDg961Kp+aH*bHYLM zgaW&j;u26O9`vz5G$5cs#85=>#XMn&*tSoCuWNqbB%Qd+xP4+0lyA2}SOoI<-ExJi z|7Z~M#AzgSlh{fK3Fw3)#o|Hp#9|{Aj~il�sJCyPsfHAWZ`85-Adm*`*a(E23I6 z8+C~AjC#RxMtbGG%|mRRoOuNZbn<~0oTPI3PalzUgGabrKHw6WleJ=dNguH*BJMzizoqtm={r8m021 zZ{61z zD%V(*5EMl@aBEe;Bq-d#s!BmHp?dk3uap!HBN2~VN}7V|pE*>OfkG~*Rw~C*Ygj8E z2RbBp27O>T^B7mL=Dkp2Q=PVU_)q=QYHRO?3A!DqE%i84H{@d7EBmE?SclXOzEE51 z8e1y@#Z-38@rGK`km?|KUH`u6b#*(yTXmOuDT;?}sxt$Yys$!ED>+5NHr0)*t)1tY zRa^VZ+*%3*QmG@Uys}?LkytDeObDQ=NNQt_*ADwW^0zLBw6(2%*6tADne>9?j_CfU zvy@u(aQPC4Vf{w>HAeLw;^Fot9D4sL?T$^(w7G1D&LNU7A*;vli=gB3-SPAyAcS)5!8B9S$25u^Y8a9j_7B zF;oq>)@taLdXZY&q+#+wmR8eR_v-&Laf?j_!}-2V1yrO$OI{{z^Pt9Q6)UuAsAk5{ zD-Bwm#`>q9{~7w3hSX|n#?^lkv85gMrnS+$GG;d6YNAO`ehSI=2z;DJ@bx^LPXv>< zhFUd_6IRhELDcH4$}b;^X(C@XwB`~1KaSmEsyDs7pyE(wV(tH~q@{S352t0(gW#Cu zOu~q)iMb9Gtn0_&=k4p(itCSjoN3P{7Gn*>S&lVG=r#iMEaW)+L=mgJx4ZY!_O|K{ zfIlCx(m!%Y-P4|tH=*G%o4VvJ`~LUEe=J(Gc+oci95W|&IAT71FoxvmT?4a=%WWB z1SjK?lkOxXCi(#PQ=lCXo~{y!#S)QN5(v5$ov}b@(T@z{rj34YVG~({AfJR22xI;& zF=ADE;M<=NC>*kOCyrPLu14mC>JY|jK2RZ^{>=)>AH4Cvf&G355ANv#zS}l9pHj#p zN7v)fvf|_q55{jfL`Gig4*tG6{3(*M<>ZIgphA=o+97?xeqOi*EsNpIc+YY;Q<6EI zhFTnP25K?!*V%6)h_xO$(1$}H)>C#PTVfxi#;idrzw6|T!up zI=8Be>!};zUx5)fLMA?CVlmv~Jv(O#Ma#i!LVk<|F$;TSdRopaCgE&HoIy&Cd7mQ? z<|*&11Y+f%dj6;eVR%E$cF`kcuICUW!=(uEPeqUuYrtq%qJzxTXweW#{oEO=$SQ*S_!9HID(AYiqK%m;5vc~{j16yCZo5)Mp~rz z*qsn?IfBgno-`3Q(*JNXP8K4jrV(3C>aZ_=oHv00c8=f9`{|2escl#w{~dmRIdtOW z*O1@N2LnzV{PjQ1Z)Z+wzFei+4s1X#oeR*#)TBB8TX5Sh8%d+K5`vCBP*V1J_kGaEc)jpD%?fx~Em!Au{8uAhVE3RJ& zIs4atpJgWdP8F`Vng+lXLT{yITX1YSTi9D}J-U!v;r`wT!ghwUK-w2wD=*vU!)=>| zVOV*O{rwjLarX2NwJD=a00QC2hzpg?Q&<<&$W;SoV?8E{r&v zts;4{*ZK{tKkYnO8#b=}YjQGW6_4C<{A=892#-xnyy!SCF*ZIXa^ruRTP8ah#r4c; z*BLrJQ)0oY<^H0Z)d~%xZ>Cf)6 zjdK+4BWSRqu0BYL`ypiTmzTbG-$@z6@g9}QgI7TWzmyb>-Dfn0X0#@A;3U7he#ai) zonNo?-L=bi!_4H??JfRYmbax86qFWjyIERPSd_i86~ppldM{ zL8IkjO?&Iui1k-<7kkcviY7-&AygxDMwSJAJ!a_OK|=<4dJY}?bx>JboRR+lj23GX zc(9w2jabDU-h5t#FwSKd<+f%Q#$5{{&e@$kcQ)u+Tp{K9Y^^K#Uq@)!-Rmu9UfA8_ z7vp^Oj7NP#;_)FZMtFzA{$%j2gbd^FJkc-3=uu~QZ2=!%o~^^a_`XTE`5np=yXg%w zQD~mTId6uh)h_wImbOkk@0nck)(1X(@t2rt#Ex`l&73_igoT`;7mN1r!ncUNT^#Q% zVsDGD{RPWzH#z?(U%U1C3pu}xtw!vjdU`KC__0d~3pq>cr#;;355?aO9`%RfZ>MI!JGXM2lvb=pLJOoDR`{ghq2cBq#5xKnB80S@iLQp1y&>d$iDpMhu)vVXN2z%FCu@j$$pSYd)YIkRFd+^nIk1r$2a-D41hpIuCY5h-f$anZ~ zjnpB-$XAt7nhixCW+TGXM4s5m3pK2O^^!wR|yC!u2#Bfbr2>m+*;`tEw=>xj(X*f*VfvczB z5q(mwTH*2>Z8`p+E8u}HPo=q|(~5L-vXDgjp`m@fn=MmnH%I0}Nj%zTDYRT}Xzz)X z_F1x!aHy9jbXWds$Sj?d_rwh`NlG~>S;$RF&?oXwN(~OrXN{}FE16>o7iIX7Ud!XM z#uLo{e~%IWuX-ho2Q$sjQZ;)ew@w`XO_X7S^-VAzVay9Ad zZShTxvRo8Rt{Q`H@S{9P$h>>AXasBNHC&Wg!`~B|aT5yRhGVxZ zB$MvKr{S7x7rvf?XR=-RYPDn1=nOHR;9GD^HX&9oS$~vk>_~W!mi9>|gMAvLJL!yk zi8|Co7t<$WjlK9Z+>%euQoB1PpOB@txFqj!hETI;3oc1DVpaTGUk?2wy&v`+?Trio z@Ze%E+6`&wKDvfFm-O;pWA{A`hh)2O)$Z=dC+F&EI3pX$V?$wP9Y{MOgF!Tb^fn$d zHS{1|bzcv*w==R`cxq>7puN zCp{#tH0>fZ9wmDwXe@k|jKKTsrujIT0BOltS%*2wq+$We=hf8kd3cQ#kKf9~nS`vV z;qg&{SSm|>NOtBYA@nX;HCYO;q{0Q z{7+l2)!QyrG~sCvi3a~Xk+3+iYC350UE(qlxBBx}??gJxLnHQyOj3Q& zdq-l8vc92_yc!$om2FSSRyBz`ybo4OWG(*|Mm<0HELg6}Scf!=CvCyt9TE0Pwrs)a3>S04rcml^H*1SSAAiE2eEen8MiokcCBv z*m27CRo2$k*X!!6YuVdPp*qxmnGJ77{Vn&;=WjxEV( z?TYe0&x6INVlpk)5Xx6VzsL|EjOAMl+xc&TS;#4B{|DbMusBU}8w}&@H-!Lc($B$b z1D5%PR&x15kyt7wFEVK%g#mo2dShw^N4663xs{=Q%K~cg%!jN+9jxA?U86RQ=|i+? zxi-oyhotGP1AI>-M3{aybB(UeDul82Dho-WEWw78wXaGl#btI*HH9(JU`{e& zg7=}IJC#TcDj-BapcOF$h7UqyU9h{5x;gF!i>VK~4i`BI&>E!jPS7Fm1feYJAw#x< z$F}Iva>$okE~F+^KJXexIx=ny6)(nxdc{P&a6$|rX~_6A zETn+46+2GGi3(_s5}nvuSn6*IW}-pAVr%QpC@&34* zq28Dp%VA2k;&GA6)SKt`>@VkKJ!J9j5c!_aLCJG` z+=#qWf>iSb0J`9MyXPv;J6!EYfPJ=TqRkY>v!5EskuN$8MXhWI?jcarc02_32j z#sXp?dGr#W8eGnSQQAN?!Lde4&YMEXX!KvID|TN^NX*D9Dy^twBh}G|$wi(M$Q<^j9V7T(%w z5!(=F*4B?-JKp@-$i?z&B;?#py(BWewS@+5j500iKq%O zg~ZWfon>h9@#s5Qd8L(bCtJ@al<#6 znYiV5Y;;H$gNYkoYeN%<0hHigjttLahI5x%{e# z3rU%Ur5vQ1hYE!v@)8M!Xmgqg(uI3$3WOQpyin-xW=ijcBU|yR5l(4gX3~X-Dt`7u zw%;96TSm}&{`=Z;6CQ3klRxbJKYZi(mudeEcPYjf{D$CAI;5|`!i~l76aXC+$`E< z>fmBL>R9HhOZYN_@y)`tugu*j1-ko0i$$PkS9N~OR0EWEF_=y{O4{=f`OkqUuI}$&DY`xz?0g!Wr(AGKr|B zs_FP-B3?n z(XLt$Edz< zN+FL0sf=Ggyh`fx{C;5vf9b@2CLbhug4g}fsOjleuL0l6DW zVOuSXnJ7XIMOI56F;jH#XQtf;>(63bg9OW65F9b4Q$-rRJ<-HHcT%Wqz@zo{c!N@S z@*KB`c$mxX*|fJ<_yGPuD>Z%_^MU7TnlM`_H)Zchr8-h?t5%-eo5Gc5KI8=?J(2uJ za9Z}D@_{q6@i5^7kE+{}aM4 zYU|Qg?Nj@FYOAlUwe73bTJ`s8|JAQ$}qr^*P znQCf?`HPODB^`q1qM(DGDYZQkDbh0_rS%N+C6-$C)TVeI3@U0Cbm(!kIF-y>PzQkncTo;(prM@t5~vEmpH z`^_8HuHC#ryq3OUv!2CRyyn`q8#dc}#1v!QgOV~GuSZ7EhHYs|k4+n-+OJ}Ro^TbW zxi65MB^2cDIKSdkms?Ql(z)ox*w|^CVq*&_N}}~pN-y;9?VOtOf*eT}k~5G+%NgcN zoMoO- zVH7+m5>z|76JB6nafPf$vK&X&u$Wlo1%c|}X9kKpJm81@G@nfA;aaz~V$JNPrpCsm zCUK)!>px4p0=pS&Z7bHX=56HZX_6CV@}M{aspp{)6ZeJSEn_A{YbU&4DnVb^O89G& zIhIrsBZ2mPkStfhabyCepoYb}S@So7=iG?XB-*Ja^aMEh{Qo8R3hcB{qzAtC>+l2jW9>lnpAtgL!EMH z-;xHYUqOm+sl(a1EpHNT z^)j0=Yxy;la8FmJ6vD+${*}56oS$EDg@<=>;wSMp3kpvz zsQ+EL7|pFOOlKxsOi4>iO+6JP4x|U2(z6(g*Gx@KOG~+!z)Ua1`Ji-*v_R?O6&-)tzK^v&y?&m>oJ_1@{y9{Pd6 zmKNr_bDN>CZQJP^mS!+)Rawk|7dvvZ7RW>rDEQBCe6>P&>X_h}{KWQVzJ9I-#T z74DC|(Jd^SBhr7P6&{uscgFVd9%g$cE^lNH!wOR)cR$|4c1NZbV!#g3$s-@sb3Wv5@>uqFF2#55 zR9D}rs$Pb?vz!dR0Ef%jSNxp5*WW2z#a(%*^SFvr`1ekJSJ=7^ms2+8wP#_&@nwhm z>@+mKoj&2&Bf}R`*(vF@?CI_4`55`iL$&>K<6;~Pjn5$_E*J1oM`ZuXwg$f%g}5fQtQG5cpLLNmY_>pG^#o~^3>-h+J8@Z-l5TEq&!Z>0yg z^8dtq8`9r<>mCngoi4{1xmbr{(vpo1Fx4jqy6yN?n0B}YCf7d(CM~J$a7^j({&v3# zlbwHjI$)w$sL2ZIs6%Wu$+y?}sA<@e86RB1P&%wte*-)1{~kciAY(g<$E3!OYvD=# zw8f-`v&eU%Tx`|-v)`Ee+4NBNRjsb0N^)@Eq6& zUZ^o72ioIm0}Hho$xeo6!6`YT_9k`MHF=*p>?(FGiG6spkZI{P(XbYZr(2w|Gd4DU z0JX$*$t?%P<3e1LtCP0K-2=i`vweQDRd^%c#{c3@&aH%dG>->S!0z4Si+N(w z33`xcLikOORdt27{mCa=mw`Sed@V7-0e)_n*Dk}s-{lpS`vl-?i8c=K^OhJ$Y( z$IKtv6~)N)M?P6l2teCT{;Ma5oqTl4=>hbG(4W(BZ3-%ug^?hGmPZFL&|JA{X^UA7 z!+Fw)orl#Ol3(B4$X@yp2Q67_Gbx}&- zH5R=OH3$c0RfpumJ5MC(nr;}LLoE@|fy2}QcW1+M=Sa zR#+CdELhj*IUD?naj#^hcd`Grlj(YOD2C-yOR#s~@^Y|ifWf&8a1FlvJ8-EbbUbjG z9UuAxxD1Vlv5h*>Bb8QMb0#-M3)anUt0@4v){JmiYF-WpRY-li<=dqWCxF zQhUgJ;Ib?^B--$@j1EaI8#<+o*3i>xIl2JiyoNy3h7Wg>PVZv$g;eV%6vgKSGMy#k zIm`$mbyj->et6|dKWQ6GasM3@Sk1SspT1roxPUB>ES#DuSY*%V?|NS#h_d1*B2@yx zZ6t~R)fa*p;etfG20azx*r_@K2ixk=%Nm+PEz$ge!^?rrp$6tK)H!hY9@d~7YRwD) z3}(j#g&CN^u%I}#&UMJtRr{$6(9#C8NI1jyiHepco58tKrIwN*8C11YTb2Qs_oRDn zcUSlLebY{ujzmAGKoSTK;Klod!aYkLJczdvmLf?H9wZ_+gejxqUg+q&i7-jeUsaD^ z_wAnPx@LAyfJH4y3xLI}KsQgrv*_s-nDtw-s3ivi@OLFD_>|%KI~5#tW$4s3j@qH> zIz93WYWCUZO^vU)sc0&DynAziZ03qWJOwhef{LbUO{Xv*{JJ=Buf4j%?_0aOy0?vQ z>{+(Bs=J-rz1X3vYwyzTZl+b&!}(vfVV}MU-oaBR>;=c*WsC20^LV&}FySUFclfp6 z8(6GsO7|pq)RLJ2cr1zVa5OxRjvf&uzbTKJlRN-_Wz4W6hUf1{7_)5Xgq7@5+@N?@BiG_w{KZ*Z=zLS-<>zd+PqT(9>@+zHTV>>p~iEUagSsb z595R_N7MPbW^zx2NiFFofJwnszx_-@Gs)cVcUAD)GO3o!0_Tkt<9@-=yj^gQVF7QH z?M9P#seLN!HmDt5f!GKI*YN}U5HF#&s$U)?0ndz)DPNq@mKg(H5xFcsyM0<6pS#)= z9?qi(59fPA30{gNQ}CjjCn5gCzvYh4`|SK!TwT4%<8YuM#Rd*NKg{Wn0ihpq3d?^I z(1+&gz@cA@JMC&f=&q;Zt^st)OF3WiWhK*PgS(0=wfhDaW~Cm%3lv+g+DTU>dF?o^Li+d)ucRsikxmIb=%qs1>tJ9C zkfv@Z+Nhb6a`#^Q5t3ho7Tk(>=Z&7Y6ShVFL(h%Q@fBRXcg1xRzJ0-So0puh*EY`! zw+%(O@{<2gr{#oC|KxwE5(rZ?1WA*(hK4*HkEG_J=9DAr4&;H`dES9_M^c(ax`LjA zSu4EpiF-4>w;sxed-D%%_0AmGz3A1Tz0L)2Z-MjPpsOf6m(nNFT-Ak$AyNhw4BuSL ztWudW<3K?hMwbd(vLH-9_g1X)rZ4x$R(69gbr<+jcMbCezSP~7vHQQ==E^xU=HF@9tK;vLuT@=P2afCvDHg5jGhGUFal0C1^k z6Da^xB>OvVaZ0EfNefgZIBjwCPp*I#pePS5O1*ngNP&mZQ8MktDU=H`fSyIf9nCI{ za@qFP$IF*4UbN^RZ;9Wbzx5A2i?MjkMT-_MUHLdXA4g z1;^1GE{KD`V#zLz^E$MB&8m+iAJCRA7B8VMUOJLO@`2??tJZ8kY9A!cmB)U1ZVMsS2mF4%Vq1Ox_0 z#9gigI21!NF{AdvuyKcBpJqrf+LkNj|)d#F1(bpvs5p7SIK!mu6S0O)OB2%f_MTRIJG@@NZ@8c=3@(4vBvED7YlA4s9 zlyuHl>_hiGr)M!5ubBk*rCuqytA5;`R0H{0CqfNIMSvR2jRZ9am$=eCd0VCjL$8vG zV8*#gNqljOwB{}$om*FYRgz9C$Pg#dGYUphNYd$7i|e?BI&7Ly18WaZgPA8l4US26 z)BfjGnH~(iN-Ba`ZW0A+GHLiY*7}lM$z@tWrZ}0NSum19a+#i6Qa>D4k;vu}sKLBc zP=h4NY1-!tWqL65Dyax&eHaC63)w3WSWELH*|ci})@vgvB-!-5QXDI#H=y}ahgF3d zn9q&GYJ(3%OE8o014$B$9$XR=_y{wpotC833LTY5C9&X?t7g0?Cv*fxA>FQi3JIIf zJi*Fx-Qp=>nH<~VCt=au5>C22Vwq%3KC2YCj!LBbEpjiY!ni<)UmqAU;hE1%6?G&W zNtcLBl8)p{M093jM%*KjNykepr7U$+B1LP_*Q^SonUJg;26Y@IVNPAN50Ln&#yx;^w1av2YDS+rt@ z9gDT@)$g7=!(vTc@V3Jv7H!Q64$&XucBs7$gOx{g&t|zyDhwuRmczo3$z?pq<>Pgp z-Xf91LgyEAM50+AEf0PqqU~MBA-Y=J#I)C8i1LV@*Q~FJ3Zsd%I2;DmUc5Doo_L#^ z&W+?e8z#Z5nkSZF`?i8y*7jp2SH|5`ibZP`rBq6&X$DHj;dNN=cNPn8anqS6az`JP zu&lDjFfzog0On7`3tli$|tT9sfE= zB)A`=EpS2!JJD5xfw2fHF-ME3G4YF0`FwR)^_0ou*_ocKeb!6jS*MUmlb)Fk@^I^C z(O%zyDr`hs4F-!vScrK}92G)bj(o;CECi8gbh1SB?CWWw0Gm|}qASSs>Ce3h(qQ(B zXp22j!aj7>V2D_Rb(r_oQz6v%%4ezS)8W zv>CxLl7v{+px8K=XX>axO2QN^qy}#s^xsG|ZY2h*HbDu7r*4*CEPiT-*-B{t&0@mn zk!W=f6^(-#p^gfq6ij<-sQ_vTDQFx!NGZt24p@lCu+RQcjYZqsZ7RlYSX4Aj+sVcn zaEpMEcp)9 zMvDdi*DRU@V$fBCA zOW_yHq!J01i9u%-QVw)Z2^lb3&oP3KLHumXzghpxN}V|UC9sK*>Ce3ME-r&#SSBfm zt4s(wtB_Kl=f;Q1;&n&H>o+kC`Zb#{5pT*XbHE}>=T7|l3S0ueh)lRhf=mQD ztB^9F_ccVy9v|PJeO#DL9T)J80C;yTx!NGcXcf)S3*D-#0Hs#D$iR{aU8i$yyAW}n zJ#Oo#=J*rfjWZ!EOU$BO%7$(x`Emtlt=dHfD~V8MdTz@8e265ScQ{2qJ;t8^?}?2! zI>jPdYY+4zEy4;=OSOv(Q4*o8^uD%Z*Wd{S-fdbH6{(=U0^lnq&;YXaO&&J3Ar@b_ zpE+wLv2Y*TAYWe7J%PuG0FSaYN*-%$me(hLpFVxsOVg%Koj&&yuPphx*ziPv4cR&) zPc*hO^FQy*edXmjFVC7acfo%$JLL;nYSAx{8)~9g<;WDhlb0MTiMEJ}j*3mryF)A( z!XlLJ5p@Vhra9@6{$2x~re6M$>BKUhUKCW=G3^yp6=X`%Ez;7{G7G8%#QL0^2xZQR z9G0`AVclH!oD484R>?^1>!uA+0Z_bfXMtVr`k1iu5 z5J3>>v9D;B2tr$D@+JIb3jYw~Bl*8)km(2=fnSyXk#*@N2tpT|S0YQ1-&}c(=BP)f zYV0zr8f0^@5f2lZ2LWT3Y3wqMeci90Od0LSXh%jnGTKo+CoCZ&?>ej?k`qYdyv{hU zQz*lTXKl}&&%UM5DUCBfNZhJ;aRlU6Xkck?fRg9>{ zC{-HBcUDS`VVskF^3F}n7HU$d5mXqZN1y6ls8eIlDJ6?9R!8DWJ{suYlQ z=5k&n_4slg{>i%~sUIsOJKV?l*-~*g@|Bs4fViGfE&JqEi|a>oDIAR8M+@>!WQCkE zIXGqtZ74*CziuwCuOua3wab(aAvNrEbyD(`Mnj;Iua0JNhoBnv`jbGlk!*J99qBbm zoBSU`TBX)zBmJF3YvM&dLRcrX?zk`Daobv3TH0F0E%eqly$VT-d21Vl;Je?^@f1*C z2=A)trjfIuf_(a9rclTkq(XA*x#q2CQLxkgJrK)%55!R4qy1~p&V0{)r{E&AwevT; zi@~i`>nDt;HH+!jN(gUjg^~=AN+N6&uI#wSIqUE%Vzu}6K5WVNa5&4k*U|kHQ)3A0 z)p|A~_kSMQE0q6hQu(D#QVYod>aK4neWY95Wr61ha7PCuy}#4F3~7Vf?8V5(?<)^= z)e<%dt?sc8>75&3u+vJO8sQN8UhnU8FGJX%);iS|kGPsRub46oI$QCRZ ze`1{=4a6j!G!S94a8yToo`Y)c2YDWhaXcQM7iwqg$Kmn$;kkT1?<{Ljkv3zHKZ;C| z;gHwf@kpJ_Am6$@eD4NF+`pE`Qzq9K;9CJ@{-VA3<>AT5s#kedt5Biyc#HNbQ+Ny^ z!hiu~$cl=Q&Hrj?l6p&jgVbATvvifXD^xxAL_3ey&KD2~KkmLa%i++x*UH=Z^AGXc z54_SOzfS%RCBL25ilL3gY0+MxUE)WYY1S;7Vt35;?-!u5g0>0`;#uu{2-Yk6T`!tM zT{~p2CYlTP%J8c^gG!SDlkp)6Zfp`JR9?e>qPu|BxVjLK%_sME4v!@JRT!CW7DmwT36pmeQu0HARs{ zrBwn?Tx1U!R5Xy(j8VcfZFz3i6iB=RSoyNtD|~=#y3n4;zCv)Ifu82EK=U(i5~?-S-no4} zKkwr4!sbUBY2HST$!YGNJ7zu;62BbSGVWz4um5Yb^-Cz{`VyNLLfPoMyNHA@sA|R+ ztu*mUjs6qUkZ>qhIDBpM+-YUGU>E1#o8bC7dx8%fFBK<)+oblgU~CWBsTA^+;m_V4 z>Lw#Zh0k_yuLTcHqC&@0zld8+IW5UZwxo3w=Q85gI&bT=BgAF-uS6kf9nEP$8yjnH z-zdBie2v>NAe^L5v9!qIE%#-hq{PwVN?wJlYaEJ>?oqzoZj?G3}&9u$-L)9Z)A zWd2D`z@(`3Gf7{0ta^46Jo8LDAJ07#ffV8;h8%C7zZf~MxK93#mr$*hgErSzmlwpA z_elmcQ$3H|P~6>mbSj^}@Cz>2YYM*vamBBfK+c;K$a%A9FObupD*o{6NGadTteVSR zXvgQ@MUs@|UOqa;hwJ>Vj28`58B(^|n~SkkjIE+c1MyZNjmV^zG$QC%Y&zOJNzjw^~^cK(OIG{!HIN9OY1en#UM*&_>?>cycGzo~{@>xG49tHgh0yTgu?gsKX}lDgi}fua%Nn+ zR;>8K{g72JW2>|oTSb!w;;o`EBE@SytbncJl?SS4n8CCD^vLr51Y2L|?#Z6u)ZO!z zbI*ehXQ1-yxa6@;OpoE-1v00TsL^~p}t-`{ZLQ_BOqbjQdMxFP`-1`73?zA0VEo zFU|gscM&*W`?l}>6*DJK%;-~=2Lb0v&=|y&_yElzKtR|BtL6 z3X`!`yrDD;pSjP;^3|N)N0vrO+)zJ2q*0>FvMH$+5{Zo>o04x9=l&y&T2$%zsQRAZ>xRoU{elSg~wFub&OV^D^a2EyaBg+k?(tN829haa|y#Eja}_mlFzMHueJTzH|2Um zOI!C-Mu!1@T|>G$Bd>oDxhm9H;lu|%OXm06IW^@4Ig%_SXCRA~qy1|z%RHx`yoS?$ zzwg(<4>FX8u(0lvzDkMGT zy?vto0kNdxDWJfR-j&*%V-lfL@YO3LXPN~0^vTRzE;D4KS@re&3}!e(ct?1xqfP#g zA*>SGgflbpuU9ud?(gRE`yu*4b$NbfVgwmu72*s;BxdH918F_4o6GA1sXI3cvM!!i ziM??CVphS8J5BmtH<#B3QZ+XVuOvm0aZ({BLsZh0!kaZs`d&Ae*9TH}Zxv-`HtT!cTwWhJKcTL&EH5K5!vCb3<4<;5 zH?3Q<`t#2|Wvr5YYF5qp^s~=buUWTgtKCnIZYTXC5;OA3D(lcEa@R!7&jOGQaD3!) zQgpD7hx0*uyRF}ET=&h_Uolq8J~gZ7eD(D=>o$JB)z1E)vxiS`bkb!ww$gw-k-H{p zeincPohZsqjSu(tc4r*?Y4`Rm-*4Kufw5lpsaZc~!^TbDZ`r>4r-KZ4Z~yT4)a)YA zqn0Of*F??FLPEwj*WND8%e)vJ>g(n1?6`mL?w#9g8CztZ>MbwZZrizg?|w&TcQ4=2 z=!=jqBKA2QbJ^?zt2gJqppm@j*OpWpX#4q zc09~*J?e4N$3HYO;Zjz9X~o^9mUhG6GeP5Xpbgv5hU%NextW)k(c!`VXHK0w;c?8J zaa8uHIXcJvn8%5er_T5XhetCnW#$&&tZqQt1W)9yiJG4UAlqBmbyej>xml?f&MDCiX`B@-n0T*kktt>Cf zyPBDrlo%fqbw2zYBTV+G4tx1r`1z=q_{5~t%&U1t<(0Kf7*`-P{5=yiJ_q1+@VOko zceAuGFZ*&v>ZPO$iA+X<>{FfaGBfc)(xudl%h`E_r8fZ`hs*DHVEB6`XnYQG4)H|7 Q5nsey7N8ma_CuuqA7Ybe>Hq)$ literal 0 HcmV?d00001