From 1b1e181cee3d6222af429f72d49f52a35cbb2afc Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Thu, 30 Jan 2020 16:18:52 +1100 Subject: [PATCH] Default RepeatCount to 1. Fix #1098 --- src/ImageSharp/Formats/Gif/GifDecoderCore.cs | 5 +-- src/ImageSharp/Formats/Gif/GifMetadata.cs | 4 +- .../Formats/Gif/GifMetadataTests.cs | 38 ++++++++++++++++++ tests/ImageSharp.Tests/TestImages.cs | 1 + tests/Images/Input/Gif/receipt.gif | Bin 0 -> 50686 bytes 5 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 tests/Images/Input/Gif/receipt.gif diff --git a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs index 722c9c8992..98dbddb481 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs @@ -274,9 +274,8 @@ namespace SixLabors.ImageSharp.Formats.Gif } // Could be XMP or something else not supported yet. - // Back up and skip. - this.stream.Position -= appLength + 1; - this.SkipBlock(appLength); + // Skip the subblock and terminator. + this.SkipBlock(subBlockSize); return; } diff --git a/src/ImageSharp/Formats/Gif/GifMetadata.cs b/src/ImageSharp/Formats/Gif/GifMetadata.cs index b00db6752b..1914875d96 100644 --- a/src/ImageSharp/Formats/Gif/GifMetadata.cs +++ b/src/ImageSharp/Formats/Gif/GifMetadata.cs @@ -36,10 +36,10 @@ namespace SixLabors.ImageSharp.Formats.Gif /// /// Gets or sets the number of times any animation is repeated. /// - /// 0 means to repeat indefinitely, count is set as play n + 1 times + /// 0 means to repeat indefinitely, count is set as repeat n-1 times /// /// - public ushort RepeatCount { get; set; } + public ushort RepeatCount { get; set; } = 1; /// /// Gets or sets the color table mode. diff --git a/tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs index 7f1acf71e1..43bd1d861f 100644 --- a/tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs +++ b/tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs @@ -23,6 +23,14 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif { TestImages.Gif.Ratio4x1, 4, 1, PixelResolutionUnit.AspectRatio } }; + public static readonly TheoryData RepeatFiles = + new TheoryData + { + { TestImages.Gif.Cheers, 0 }, + { TestImages.Gif.Receipt, 1 }, + { TestImages.Gif.Rings, 1 } + }; + [Fact] public void CloneIsDeep() { @@ -152,5 +160,35 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif } } } + + [Theory] + [MemberData(nameof(RepeatFiles))] + public void Identify_VerifyRepeatCount(string imagePath, uint repeatCount) + { + var testFile = TestFile.Create(imagePath); + using (var stream = new MemoryStream(testFile.Bytes, false)) + { + var decoder = new GifDecoder(); + IImageInfo image = decoder.Identify(Configuration.Default, stream); + GifMetadata meta = image.Metadata.GetGifMetadata(); + Assert.Equal(repeatCount, meta.RepeatCount); + } + } + + [Theory] + [MemberData(nameof(RepeatFiles))] + public void Decode_VerifyRepeatCount(string imagePath, uint repeatCount) + { + var testFile = TestFile.Create(imagePath); + using (var stream = new MemoryStream(testFile.Bytes, false)) + { + var decoder = new GifDecoder(); + using (Image image = decoder.Decode(Configuration.Default, stream)) + { + GifMetadata meta = image.Metadata.GetGifMetadata(); + Assert.Equal(repeatCount, meta.RepeatCount); + } + } + } } } diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index f5cdb29b63..f6c19ba0cb 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -353,6 +353,7 @@ namespace SixLabors.ImageSharp.Tests public const string Rings = "Gif/rings.gif"; public const string Giphy = "Gif/giphy.gif"; public const string Cheers = "Gif/cheers.gif"; + public const string Receipt = "Gif/receipt.gif"; public const string Trans = "Gif/trans.gif"; public const string Kumin = "Gif/kumin.gif"; public const string Leo = "Gif/leo.gif"; diff --git a/tests/Images/Input/Gif/receipt.gif b/tests/Images/Input/Gif/receipt.gif new file mode 100644 index 0000000000000000000000000000000000000000..9018b67b11dbefd47e479b8c87558598491e7ffd GIT binary patch literal 50686 zcma&NcRbtQ9zPyCW@2v=w6=z-qDJglHTr2$)mTNVgjz)jNhD@NRZ%MTZbM6h4zX8_ zRx4Unt7=v4RplF>dq4Ny&-Z@s@A1n&k~rr*a?W`@$9cZZEKD`E+`0jbbUQ}?!PJYs zzP{MjViJjjL?YeX+@hnSQ7BYbcbBcLZBkN_r>Cb=4F-q9&8{rmtWUGCvANe-)!p0k zb@|)a*qDopi@(4Bz|f#-j(2-!hoz*r-rU^W+S+>b=uui)+RvXq*Vor`a&nrRo2RFz zBO)RS3JO+NSL^HR@7}$;wzl^C`Ev^ki_FZ-nVFfRqoeQNzpt#U5C{Y!k$8A`SW!{& z=FJ;QTWe}+>iGEh!-o$iCMK4bmy3#u8X6jEYHC75L*KuDfA8MCjEszd!2t?|GCx1R zx3~B5<;$g|rC+~({rK^tuC6XSJ3A^W>gm&`i;If`0|NlG(fa~BpC z-oAbN<;#~(pFWL_jt&kE-nnz<{{8z^RaJ$Bg|oA>Q&Us@{rx>XJtH4RK7RZ-^lrGV zqy58&4FL^pWWTv2?+^UEViw!ZFqS2)8|jUy}gr@lf&Ky+v-qq9ndHnOx@X(Ky9}9~M%RiQvmX~__de_$1KaY>k z%+5}HotXVLJN*9Lm!;X6*_pZT-)Fyl8yX&NZEFn;3pFVUVU9Pyef##}($Xk(baQL7 z?`{9``p?bnt<|;F%aMre zsVil0{13?SIgJ8>ydY;(G?YD5)z3iAYN@DdoL1M;Qi7<#R5ee*G*79XR#w%}R)=Y; zsX_kvlA@h0$n(0ky|L*(&qe#BE9Da$jMP4Linc;j!cMCM1bLrQ)zZ>B1yehvrlw45 zp?v#}f3RD)vj1)Azm8z+b=xDz7a8mu;14-IqMLg_NU*LH?MnY~3%8K}I;{U~l|OGs z#UtR>sc<*sDODBN@h$z;@cjAz@20nI{j2ruV0*8BU+@3(z_%~nL3*9C_qrVr66E1U zYc73!Dx|hike6FE0?8Sxo?{nW~XQrnnzfOD^|NLo;I{NX$$oqH0LxTfv`}=x(y1P0% z+S^(wEpJ}GdfD96NPf{!|NL29E$Qi#n(C^`it@73lH#Jm0%HE-yxd1Q*;x-WA7tE5 zPb1t*O-W8lOu*yfu^4n*EGj1YZd7E%o$#>Gkl@=vfye;=TYfih`1*KX_ww{`cSBrr zz3Ots*~#(pr9Un@*xT7&usLsSWocn&)VR^yENX*E^YDHUZU zMFn{|*^?(^q@|z`NeOW=Q4wJwK>>a~ULI~Rh>MehosAX9!py|TKu-q%K=&A#7yw5A zB>?SpjG6%85#Web%$!7|pn<#!F5RSpHXK;mGS|Geup>$6^o{ZE+M=#|5Tisfi@M^T z`*IGIE$zAC6`dw|rhcTx5P<;cD;miuYxX%635{L=U0>DMs z8YOx3JwD&u@Z&T2_R_@L<`+M|wxHQ1ZC;YsX1ebyUK@DXxbc0c$SU9FRnyiI_1Vp@ z1FxEQeonR}9Z6nz{c>+({(aT8!Pl>T?X1r9hVPQk6jtbZ`Bc1E==>B85-&H6m&x>*PLL}tpH5V2n4eC9 zb;`{otH(WTP0^eypGno(o}ak~XO^EO7z_B$rs?IVa;IBsEX>}wHI*+(=dtkp_Q3Ia zg;%L9E!jS$6>~X$4GVLRke%}1bAvzne$Qo^HTN>sX&N5PM=>kR z6EOle<_qvAE9VQ7H5TU!;qzl9snL2j7D}?NS1y!hnkLRX25$J^ zB_u9ZkvcOKZt7Q-wp1ED8K_)(@>0!tsfP30rzKK5*RQ2wtxL|!b^WaoO4%72ia(wg z>Gge2%^o5CXc!M&`tf2iUU7vyn|X7kalZ7XKSR2q;#~7;=Pwx&N6*cluXYd3e;V#> zFFk$rOJVb83uAy&ixlqyakZ7>>@t!IY^Jo<&Ue{wtwYGWdaY9|Y`L~wdv4PUX38q8KrVgT+E`gmJA zVGoZUiL(r!bN#vF+S6lW($y_$V{sNN>^7S~?!pea*i+$tq=dttoFy~o!VAx{gmu5b z2xT95Fmm6Zf-%Aj8dA(W8bGzaNHd_}W1+NQVv6!o#c(3`ksPu+3f=D>%k+p(^_pzj z=0j7#{SR{J% zY2RsmNq12$v znh$5r#=l$peor$m20vId*Mi$+4!>N8ofxZt?9DbYg3(e=d?U1nh{H>5{`Excb0!OJp|FJ#opq~`=95f zUq}Dm_`Ty2vCIGOYEe!^_-p>7TDYNI%z37;e^v{o>tyJ0wU9zfJwC1$>kp>5HQIMC zB&&b)nMu}|lPgNqneO&T(L0p$B&hT36{Q)@`4meCo%u(#_?B_;(m$%jw@jDNKdXiO zT$X31@7({ZTI7Y#ReXOOwY~8DAJrlzez>^cLVT>;gTxzSJ`a+#g)89q-8X$6{(aQH z&_?~lKS%v#ZRzo-BPUTotJnC&&Wad9eMkj{@hnw*e!KSy+mkpYO?5N_r7iGcXD%6+ zBTJ0%LQIvj=CC<^xtpff)e}}tJ4AgBhACMD<`k^j!VtWOSB_I#F;K{4k&vpdu9(N= zrN!^TUt$fKfU)sUi4h6|rC``Ykgd&Wu9L zZ{>?uvi$i)5(=cY!}!=ddV^VbCA1sYy-InZ0Z-x_o_kkeEv(LS2zpO9W};J9#`l%n zsDF4qRo1?I+g-hZ_tzEl{??7D;0(5yD+k*mU$CP<*<^oF(YYkv&pO zL=tAxbX$dH4bD$fZBy+HExghkT!l|$UOJ?HyRUJ5!7J-pBJ1^Z_n_jrY_-aYqDOwO z8&Brm{Zq+|H6m~Uj|V>>d<^~#-&dLd1Q+!oac;K947y2RN6v$ zQ62X@PX;Wum)ndu-3`?vA61x&7N<91a!R8LSV8_D)lj7tE|jh^&b1b^nqrT0+-l`@zAHLaH4Wao6*xi9jl@6ui(+zu{8Ul(Vhd`_ z&);#8jEwZ)?^YTvE>o%>4Kx|XN|hw1V+HNW!dTuAvAV8yKC8-75avL&Q<1PtYUg?A zQotr0Rer8RfUitU(d>>U9m^}uSXEO6K73lQxDyBA30$Y$p!Q@4QKwe?Cs)6nWaaaq zAzqZ`aKfYHLP93IATRGZD38_G9NOibZ925+mrpJB62hvOAr8c4c>lV5YJ+n{nBH?^~AllfAi! z@8Hfntpnc9`Qn(B>s$rw7x(AUPX_iE@TDtd%gM}){{}S)z+2kdI`cm(Dio+%cwA90 z`Z>aA6_s1uUyM3D&6&)ntKf-8dYPvP1!NclH@71PaIP?FI(`+b;r=yQeH0)3#Ym)i(bv{eNzXqOTtoDi}+HU@?9w!zJuX^fL59_I*rDvEDbVBaUy%M?=@aiV!v+M0~$-J+)g#6CfNZ96Z zE9Fv{zu2zGg24;@qqBaZW*h&>zuufW^-um)_K&qSAnS0Y|;;vs^@zjnW( zc`o_5Me(`P_}6!@?kSu|1Z{0`Cz?+uu;t*V6X`0ur;~nhmXGR#-;oPaWZw~}$@FK! zh645J$BGDgTw_-V5nCum9$jF9^t}uF9x@pwdI>TQj0K#$(&pTPJ&iA9*!Rj5c2lrm zTP|VDN%w}a>tIuN8H{}4^HxUQ8n`Bw{C+@S} z-F70jNw`<|uBEVDp-_m3ouq>`UAttZ*f5*KDBJcR7Zc^Ygd>nDSy~9xE~KJ%k163A4LpCH4AJg_u(~U4pW;A6+}Z zDqIB13&-1cH!Vx0-O!Isu4R(Vn=inM-5Qx{uNV3O>yTY$){!$kUMY1#w3Q-C$WTM^ zh7_wU>+A4QRAk`tGC^gm3|JLomhTWiFb8-i7`6l1=yH+d3*uo}BQS$~ ztF28NCBodWZ+$%48F<9aW`ByiNWQ9vTkfdVOFNAmy+fBdyL{Q2tcVu3gL-lxLO)a2 zi9NDL?QgfnLqwx?^zWEmv=sN{NVc0a0;@zA$FtA2QH_;W0>Mc2>9bQAF@9n19Ojh? zoT8%mi z{iS`E#KT{Q&GX}}^lZ?}wsgj#$&$hT(wn1Sf&4cR?Ok%!E!yNa+f`q=$Ln>ALoD4a z2+e z3RKp&2{xEQj>fPSrFnOr21vUEb;wB45{!3Y9|OP(5-(>JCR--wmnEXuAbhbA4#Y>x z*Y)N<0iz%~o62GC3DbgS8ivZXr#jl~%EK$6C> z+y*yG8m{Aep1e)Z%u~1u>R-iOuC7b7*=-Z1w!HOsU1244w<-$6vYeD(;K&eS8rnaD zg$8frg?XG*y7|5TwBfT%i}~|n!O$Z$DB?Cp@opTPg^gl!l^z@dh~w{v1GljoED=Cw zab`=q7y;NHcdFiH9MEZ}Ol(NHlZ_Noi7QBs5D@TbOqvQzTWUP`K_qE?QI6y(nCP)JZp<%SpD(bP~o&|RlUP0Y0 zlu#JbOZp`BsgJAKF&Vt=flul7I4W?waDKZe>uvS*vwdR&5!=s*oHagXR-fMGY(FnQ zUvuMf-=~jF+x4WB8b5EV&!1#JZ8wnL*7%3@T^XHgad>n753YEt@u}!)a%YD?P|~@k z$K7+0hZh~%8j znsaH}C>hAq^WZTdGoK%f{R3tAs)DDB6Qk*~Ta?C=XcKc7E|uJ*;d8#;{%hxty=VTE z=0jV75(dGW*F-`CTi#kx^QS~_j0w0@TzYb)Rb66+vx&$5j~6~{8|Rw^zFU?SPt|=` zYGk|mL9?=$D+;|eF&g4kb=9Rg@a8z)tL@uc?PtqFl{cS`iBszXW}d}{N<{O9_l;FO ze1_F=sSjA}#=SoxwnYW*PWcQxJ@Hj{HEeLP>mf)?@@>@KkM}R`os;DJwXz?A%SWZu zmQbVrrrq6qS#18H-JuxfV_pV{CnIoD$J(7IorWDs4dw1M?Y=ver1sIr1EW4c)9$~% zb-ly?0RW^&+G&veCONT1-%-$E#X8o4IYsq>UWbWCB0qd?3As{PH`O+-cXkP}N zKn^v$h}9+m0`ll|x*n$MmrVq_`;UE#cI?b91IbU=LeY7CwOEB}N4L%s8Zvkm{&-Un zc?mYQKnsy-&v)k1PPTTIe5eM&4p6$KNPBdK?NoQ}7uAB^f}-vtdrNMAuI~)c5=(_7 ziCC^CqF6Q|kdfcWT9r|*AaT*S%uIc$T7)&!j$PPcJT_7BQuvgqz*AV=S1yO-sb#YH z@xI_u&oG=Am`KBt-*O=>o`QPQuqw%XwLsn&j#`E|JI%E& z$T?%Bz`8FLlpZ0Y=Z3L-I;&uuP%%ef_X`IybggG`|F(YD2S$JI?_!@*iZo%K0#mmGYSQvd4wiz62Qk6iv=)M3)yudYl z5~}+V8diTm!MqDOO=aMAXtDFh#N13#8FfYL=1$ehOnjNX$u0sLZd0Z+6Uech*om`q z9L7sUDpK!E=7Ut4^v%4}abw7W3G$-hvw=3@+=HohVN36zuFVlN#Wb?ic6b9bdEG#F z3)!!iJNXOi{}f^|vW9*E6p1OA$&Q-t0L3J)S&UhpRqHrBh#WSFOeD8)%bkECz2agH zjIg_thOf6#P~Izu4gnO5S=P4DHPPzIVpIu4OWmCV?t>8(vtyj5l(>1$xAI&f8$!#M zz+tO~V&t<}NfH4IKYjUU??cwd&_upanA_TsdbkePNpr-d78g-q7KBd)Y!IQ@y3OXO zJXl*D-{n>=WkDxCvyS!224XA{bq$N*6*074g^B))7eWMJJPp1Q<(hcoCA zNFWd=IaHNkwd5Wdg=B(+8?s$wbU}+y#Wy~r;eWPCqa_3}A_o+hvd)ex@% zFaA17?iL?d3*)Tw7+UYvjxna(%!OU0(k~Dt9OF3h zG~`L{T1F`T9!6WpBquz>AfBv_9p#evl8W zuez|W;P}wuNXndcQ}k!_A$OCS|+@#^ZCpWJ@%ult{NUhlqr8okr^^>BaZ z4S{Mr5~uE^as2v;rM%zB#V z(Qdn(O>N@k{%L{c-40l4ZL+uZ4BO~rr{+LyYFPh_#IM~hI9DA3XFV&mp~+-!Qaw0wd$iYY_tAjsWB;5+^Pb>a zWa_ir@7CY7Kkp5MaG@XX^n0JH(t`XaR+iGR(&hh$&MH54uDIphWx7`V0d$b+*D<1^HKaM_EKQ(H7_dpsN+Ka_8pmNUD+3r!_L5=_r0 zmU>%=+1%usm9O_2EwF7V?5PaqeE&@UL*fa`26sd4GhzFmmw4x0MVJbNz9`nS<-GAf ziv9BIxg2LJIAF+tn}2ezkg#LJ2lsm^t&ccQ~244=wrIe64eo# zt}($1Z3ERi8Y?3)fkOg6gjHAHxBYQ#>qo%bwf>rb8RbK*#-VwP+b`y*DCO<1BazNW zU2Au>=R`HL{?q5a7CpDQ^{3ArbM)(w>DcEUU_l)F+>jU+m1CdVALmN*Fz^WUv4?S2 z=ol-Pjy(*?W1S^%tg}GJI!n+7IFroYWImJfYYgZPGKUN^q|z;hU*W!JzBgD!T+N+Ir zfo~Ce#sTonz3)NMekP z5>xFI$i-8z5_g~5;dpD+UbOM$^Hu%G>i;&yC|0=7+$mJdr`7|o8A&rOJ6v5guFVA) znAYZ%L#v|xR81O?VGvCF~L*m ze6B-${jT*heW{(mN1*4Pc7692ed#u0?!3l53&0XoTLul9yU-`|4-lvBj;e|0zlUCc zZrv&=?^C|*45DmRyWTrW+i=w@9zH#`%0y=-U5L=V_W69wui%jvW0T!N4RR}2CL(8+ zc3iD&;Y{G)92^+2j11QZ{ji@QJxXwn^sn_cS^nBgJYh@WyZf zq)l#1rTqK$4FN40(+3+Vwzb>0qLNz^3zII;{oXJWyLqmAF{O_YiUq6o@>#evNvvwI zeSIvJl5D^XhQCbjXNKOJ zf(*ogljP^=Bm3`2MPc4IDI!qUhhwZL-rkX7o6>D8Zd$;u)&E}78)0I|yQupW z4+YnRe-d=8#qYUH14-R3QL7~2=t4iAI|&_uK>}5&o244B<|~Du%;whaJeiYin_15= zCX;++oSQ5XT+sJhNH=a~%soCX?j|Yvh04Pz$fXy(Vl_cqRj$7mFSRLrtV*x1*3?#X z_AUNc-&$Vd@0CUf2jk?ZTTjB@{tYYl5^=?$A^EQt43zCD)K2Z~zhUKrWtpZ`2`DRt z_agAWbk^gKY=y!12*pHz^bz$ho%JuQyz?35(O_n7PBoOt>>Hoc-uX|g9R7_K&`zR~ zgZQ6J=yHd*ohw{Re_{MZH^BLQm1{%Yi&p`6Pepy}b(Q3Z= z5>mxWv=;!)cYpH8MNLahQkdgfPDv*Yp;b7ffLF=JU_V3!C(dGC5iKNVTd-Rcw3CdB9x!S5hKCXk`R3WJz_Oz!HQA=@ybXj zE9Vfs4A&5g!?+Zy3zc4oYKv1P(Oq?(Y^U2K;Tfo{d}-#bkOl;k{I~&KIMGC$D=q%Y za)BhX4^|+2i}CDBL$;^g?ZQunfR@&VJQ;GWbm_!17nTvg7y><{4uKOfj^n}jpyZkm z0GP`(%M(0Wp$^P=MSY9BTu&!^qn7b@1s$Jn3xi}9YDz{fj{EXF2JEcL3hkzFgwHc7 z4-j!OE>djQ<{2gW5yOtf?yPrVZNhwM7$#Xake!dotA0|4Gg1neM5dSKTEogMqgWF) zjg;WSOd6~Pe7*!jeY`D3SF;d!17RpTV2jp?s$e!e>NXOY9s=3$QMjHDwepxlahlXP zu(_Oxh#w-cJl_2EhDq8Tv`s+)uehP9eiJ(VNidV@s|D3{wUNu7r=h`9i;jc)A4*X5 zCwzV{AwZFW&Gz0l@*K#-*S~)MEF;dk zG9v*kqKB(^SxoyfYS+PddhF1#Rkzq+ulLH~de&gnw=Op=eIFt#5u`h>3&ZBT+F{eq zie0=sxGyXR=N?cuT=Kr~>(doOcbD?t9G9jBZdpROTR^W@aTgAzSz;LPt)_f8ITi8l z(FEt3?;irC7k)2#$FhB}G!m~K{Jj$ShWBbj+|kan$#~h_lfYkq`2Eqr!|mpy-%By3 z=c0;G^wgunoog+MlWj~Ea7jIHBrp+%Vsu0$BG?wCfl&w)2NlId*07pHCBo^l7@0T;c%wT4-&t3VjRv&OA5uQzl$+zQI*SzQy|AFQR7s0<6uH)H6S_y#{3(J*33d{ zlhHa1J;;qTjE1R90(_{(mwXG&~|{ew;7z>L&u7|$knGRl02*p3IP8U~X|(`^aj zXAZ4=RHaSQWQ>Az=F?8_CH?V{NO4Pph-;s{F+qHG-OE~C3v{Wmk*Akarj< znsC`R?QcyGd^F%9xSrE=cg(pn<$lA2DE{VB=dGRifZ~>f!I!n?NP*NKuM4j!xx4Qt zYprIOa~_^W&KFs|KMJ?e@!$ACx|x6ZT69pv#!uhsuxqZ-ks?1AcwbzTcpIg@_7-<7 z67ccG=WxyEWq*rGe7x@R&!~hw9`TQ;1ZOmjLduoSPhk~~qY{C&GzzI6>f=s}O2|#6 zXm8JZ+*PA(e%{mJ@|8(3k*M%YvQSx&NjR@3Uy@>=(1Ql)t-?;=?HXjU;s~x*b3r|r zPa6bLntdI_xexAw{6^7R>Z5}TydpJR3QKdmGG#j;c1mQU95m4IdgRsRiaB2M>MRH* zgJ2NPYZRVlENh??&a9Xo`bl1bBb2Te;P2^vI!Y151d<0n9w|9BnJ0VO3?=Rl=qvP%#kUIn@DpEN0gQ#*mx^K~a9qJwiWkJc@_( z7}DGlhW0>a!Rvlg?M*e>Yh7G7f|mpHzx{y01upX0GxF%HLa-9|lY@ZG4jfZ!{W~8` zp1xv>Q^lSPG%hd^xsu!p^EV7v>Xh^k?`M9*8|pOCW-%$iDDOeFui^FV{x!+-+Fes_pSMyeww|a}JISdOtWBk-I@5n?>6# zZZjWO#=xa{8+^BBE-`>>Z9lty3A>qf)<1Ga!$RE7Ta1j>h)Tms(_4`>KW#}2XarVR z+cm~z&0IZ!&f92-SIh>}llgQRPenz>`Mtvn;LcK4K&@w=5@&wAS^gfkX?JHofIToR+8d7WLsXwCM6dKGUc z1Xih$N&tbU0iU5U10`ILuKntx}@Hl(o0AI-ENEdRQ_J+k#G`D+K-O!yi6)Yyq)37 zft$e9U80oePP?fomm$H=k+TbY2I|wwdNI6pN@Ia2PITvZZY~y>c)h`-X&{Z;((65$ z`gowWfYSkG#2RSS$GnE%wgJ%d61w~8Y>5wxJ!cP536{b^_u{!0bM;jWuuAah8*n*e ziH|)tr+La)h`UAt(FA6Pb|@Dg5vy>xdQ?X^KgGMuQLgfvuB$%qed@%xl&0tiPFpih z^DgzfP{M8Iv&mD1La)jX1TMbRPloc&_qFnMPXe8|y;&sQ%F)E}BRz5fCl1{v35P;; z{bKn~Cl8&lA7-82C4zm475V*eOrc19xv+~ZNDj`ZXba}JpXGChN=Ph{2+2Mqp@sL6 znp(y59$;-F&g$*A@+E#&E>b6*M@0&B>b7d&&T=l_ou%sEZ9P#T)Uch~QL zSC~U@f1|iQ_Mw@;^Z~>8?iBFZy z*4&NV7lBdH9A>)E@6Hb~p0YWOkmJ=%&>zYcjs|4uAUGSQ^VlzAG`nokRjrT^8g&b{^;ny z%?Bg3SeWEMJo>$Q@6CzccI++=D)`EKPDQQd=+n114E`G-LVZSv-a=FdzW@;@9}lJFOWERTCI$=<%k z47NpU_@G%=S-61LzPYiK*fJbbNJoZDlHKoBv=NO$mSf_GC;Uj5GY~cuM%n_&qL0Kn zhGVM{%;)AKE)+(%W?j+|is$HA_{LxNftI0~NBE*E$G5}FbP2{AP)TGzDNzIPTN?s_oaukOq zp39y+9m(ELO&-`y9ui6!6aw~*N{}Ea1Dec;Z=kD0F45JLNuktf&D2?7YP+o=%PQR> zIdw^n>k2BFQw`VvW8HMTw;g_OH|yTcd@#Ed^S;kL0t|a5o%xw9f!UW(4q;o}jrY=w z=U|PvzDtmuj^|;8@;Rjy;nPkBrHM59b2$mx+cHXNrOP;_%g7TB!7L{m(@zL1X|$x9 zK!Dlm(hr9~8h7q%?l`4zs7d%w!ido!Mz#LIy52N=UqJ*>VCa^MvqdLea&UuJWMJAU!vn7I&Ae^19m7SK&{LPK2 z44$1MpDmg7$0J`x8FMlF7N&OFoYFfv<=HuvzB$W7#_i!*=aI>Y*_q%v2I3G4Ir~vl zOIjyusmmOHSQJG78{;WksPZQe(xyvsuuIO8(^ zt_31!S|H*tJDH{hXpuOeh)x!%mlDe)c_=N%-OGss@$31K!O)ImZi7oNhq>J?Qbmm< zM!Hu$`tC!kstwQ{1t!|T=2Gpk*Eu^APTzcDeE&X_OGNK7bNwBLvVj=e@RQ=?%}LHe z{i;nnDF z#o=ZPul1U9)N3}caKGqJ^b5WHQt!O?WO(TT%pxgMTu`Z*dP;mSLe#_cS=MRijI9|*i@|PB1 zt>jKrsXW#KM$c>U;9q}g0gaUVK|{y*G_X%nnwFS9D-Z_pMKP{xe$o zV)>K=)6)ZFJZAaz&qHo=^TDRK9;6Pg$8c81WH;VGIAKREteK&wfE$i%lk8kgI6psy z{G*Rv$&+Hh743Gn)~;QgKCJ~o23peNSvS)fBqf%RFD~2Ilw$|F z&-Km|+dB_>HAV#6AecmtPHHpfQBc+-cRvi#^2>N_`kj}aKZRua_*mcR=H53P(V?_9 zXS~b6(JVh^q<-CKLw3-sDpzjfzE>0VPoql|5e)336dn!BcwN8yy?6{n^Y3;tEw&?{ zgfZulE&Rw}0yX`w*iJ>qNSwMXhVFJa(_k;?21 z&k>=bt%*eqJk6s|j)Q2d zVIj2a*Ht+ah_zkP1*!okCaWDnpB69PP0wKtXj7a9uwGh)@>NbUNFUmw4f^8*!bz=4 zgh~8modU4_BwA=3RiXXd5c~vbEaM#5Y9TOhzIVpFW{2orr~)kJ61GMhQlr06XmUWzY{|H4q4INXl$6wp@C z7j7teox*&c9LJt{B-8=1}SCA{E_nv{M%scxshqs$9NMlW&lv8 zm|h^c8!fnv#7hTD0gY&uH8UaJ)Zd+zNWBr)>%*Ytl)$1#qN8>UFo^CFEu$8jww~~9 z*FNfB_SwNb__(rNmoL6@`zIwQswK2;=J)a)!N|{_{llJL?pcc4iTp%&FMO#!&~R}A z8GlOY4$$HCI`3y34j@komcG;Fg znilviMUugfkH+$cWJH3a4GyM7k9NB+M6b2EJylYI0NBH$Hwz?D(y;R6Gpj~IG%c`# zE8sTX!X2sDO#MFA0-2M%f&-HAE=Ys3vqGk)<}MuVe?B_gEjwazS)?V7r;Y%-F%mGQ zQ5@nv0uVqzv5`>$wk%BFK(~+p4w@Elj18Oth1$jj5CNe?(W?OZcyOGQW}J*;+)25( zR+Kg~0YI~pm3Qg#ZBcn=RU2qpAROHQ2iiSnDMbBgCwBuKTbbcL>{x=i#yd7M62`h4 z6N_M1Gmmgmi?DZ;qB+XYAgtpql;$Yg7v6D|i=a8ma`vXWBqyI;#}jBsX_!+UR{Deh z3(ZarDrer#@aN=V3xP5J%TA7&XSG8?kPv+IE(2wh;SGW#_2@4<`JRw&?J$5JPM_D`ur7$bD(2rA7CU%dtz!y3C^4si^$kcg! z>NJU|qa1PpzzXEQx2}0_)BHjr61Nfv+%ms#2Vi*Go%u1CKrc@~fZ2YS$Lqes0$J_y zUJ%@=1TLp|51}+jA%SlJB5)^-B>{33!Q!%-1`$q|VomSxJTHAGU8+&f5S8u%1D20U zIS;X_Y28;(NC|hexN@}0s@-^BXYBqtC*TT&)n@X(anJq4mPnI5){EdMD>&E4YKE=w z1ADCp7g-;CYcY;N&^b3gxMBeyk1rW0c30Va#vZ3H?Qxvw$!~u;55J)nhqNdUCMkq9&_3&lhqkpEK6q0rDXb zi0=%q_a3zf=eBC)zL7tj2w?5b&h7POLsX6}xhVTmKoiolmO`rEM!FxkE1uuZR@!4+n`W>>Jccf$YX$)`3C@|Y$g_>d%F%(4zpq8xE08s`W&b5i zq*ow5gK5~FCIWNv^@kEqt1*x45C;VTu|v5l(9H7iSaUeLuU4iLEXe>26pcs>xFcP( z_psC{pUu6X3|}B3QdmJP2wN*qaZZ%JA$>w2Symx0565UXRHXN*Xe~%hU%S}Yve+X| z^QvvJ<)`hneBs0$sV@t8PEC1Na`LX;$h&5lH$BCCxmU^s!s^)z zu>!M%50(1wmm)>Vg0#y57TueM8G^OlH4B+ChRUKB%kmKSS%XS_n;;n9YOJFvj|#y z7()`N+QML;v~-UE(cRy@-_t~meP3#kx-6#p~r$b-; zTKAix6ugsvazGxQx|{u;I3t#_`K_nyTp7b}|B%I=8tuo&UEH2U8$AINdcNBB7A13r%V z0GnugG<3bRn9u$gun-(R31v(LEM{d1`IFZe_z^xlSkTfGw|SbaVFF8}uCW_4zlUdf zkB}=|iV3ukN3qPXV@`9GjUA%D9&wFhsuOG$PTwPJeR9r7!qe0jE3wJim?4%jGF8g! zF&=21*JCnee9}mLaUL94jbnu7(;jV5G!qN#lFhcQHHtWAoz_v5DwTG;hf;ez2;sS& z@F?H&D6m}uzYoC`UGY@AQG`Mcf5)u$&?2lCsC0=cA>)DZ5s8OxILMIcXLN+Ui<_@# zB8kEP^6s8WP{5(Iv7*D7Nj~o7m6Z}g9@gs^2@HU~{iMUmlP1rD4hk%v+Z|};=O1>f zn(`!c(DJDTuq9fAwZ+>=ImXW|;SB}qmh`j-8(|i;@I*vR$YC>0NcxgzZFggWuR$mH zfKCZUNjPucCCGM~BVXdFbwNTGWe;(q)4`A9TGvv1t`Mlg+O6~XLPh_29B0E$5E6Xf z{&w5S9)S(~I7=(PQ>?6a!yb~9OXY{RyQ3p)UT`c&I-EMu4saR?+KTihzrzd3y*Xmp z9F)u4a1C5;t&_t$%kk+t)086+-iuCYq9d8@K3WO)o=_v^~ zy$B@q77(RF=v@NRM8JSlb!k*oni#Or)Yy=sa9`Hid!MuK*>{|Azw*fs419lcKJ)p5 zKAWpwxY^S(Wp@+qE$I}sFB;d6*)kV*9Z=lLx&La`tfI_zFXQKzrzO+h8z!H88sQ;P z4BH6Xo33lmm9?C7J*fB2W|aB8!#%o1K&`G#g@aa`_l|qOy=rjbzB!6H!VL)aDp-Yb z$N<$2$J`i!C=R{D33nyXliXb+EJjMFEPtmOu^4h&N69e*YiDB}FJwHgB7&MmhvPr= z5hhaG?|$B^?FjywAZ~95Cu%KS{PY+s5luxZuaFqlF-qYT^B9HxgoHcJtgyMAh*LJ? z->H{vF{Yx;#x(82u2|?$Z28c4_T#iqF|Y4Lc=u|p)8Q$reQJ`WY(4c@!Q2OL1nA0f zvLJF~KuD~31%*MG_dw4IPD<_@z1ORdmHbC*nV{Tziz|pySfI2SgkD}_^OGmS5!$)= zL>X!3%!8MYwdNjXf{Z?16O z;Jxg}O?OU%;FOxuKm2KCdQbDV1_r)?MJieD!Y*WiH3I>m-|=T6BG`fW1^DT-ekM)t0aWju~cDWO~vFEVmc|==L%@& z)BN*Z1v-EFB+}}h7F$`Q8-3R}Mn_eYihVzN)NnC1t8PpRISLP(PdHI+^{meMd!6H- zbpYn`>_(VGz4Lr^7{imU0-F23k=XZ>C+!U`Rg;bhiMf5g{oj#T*%fx8!ZK!=ha*^$ z1&${EI}!`bDcsrxYCSPde{z%m2NL_iw~6+mdFxAS?Y?uG7wsyhUS`#F^zMHAJKb8D zCl+inWOy+-e#1gVD+VqjAt)9>rQ=sQa56jQksk;AK0UkZ=?5}4EZX&hHW~5KtUtIu z{N?A1Ii>R-)G>ZU*OlupygoEZRqIKucbf zaf)q>YUIZ%SP3w!DOA*T_FYMPLZTCqfM}u7WqtW5hw(BI7jD1w16q!OTGsC)k zrt2npAQIRR8Iiuky#sS%=Bt7@sy_p-GAm-ng>(X&XafrZIz6O+XBG=~Vp;%Ms&0HX zZ;5U=UJ9r4`o$pbD3!ueMSGI*kuogAaGCYWWj+Sq8O>0jfRMiP=2GIlU=;70uAMGzyJ={A z@yZ5$PCFR-xaZ?u5AB(_f)_nstKm9`ZXWy-Woji-BMdL7Ci!S}$Xc4d>1Zk|Zwp{P zQCO-y{q12pdSLOG6bsWcZ*IH(B%%0rpSxf!?mJz!d)W58Zk)(@0P|VGqiY#-F~3I} zGaE+YHZAl|fn3ng&ZEM6NQ^HzkAA+>-&(tWhJ54~D`uzT*81}w9C5d%AG_wMFdpX4 z)~Xi^WXAjx@!Iyz`inD1uh86o?ROl+|B6Wv9pG)QKDx8{EJixzW|2nr57dRXcocbU?vOW$6U6+2dI zBo+pO!w`yI49EdTy3V{ypz)bQe_=j>S#Ac2v2sdKU&=P-Ggc84_C9!|jbYR20tZMR z^|<4287C0I0O@lnC(hYBIBXc+#Y6su`NW?G3L0;iD;sw;I^HuE5_g{9#zu8e5`r8P zZcz_z1Vx``L5ja8WCp@x*|-yIr$H(C5UPk6`!CFA`z{+vjK>>S^8^6QCnpyah^2qB z10Q9A|AqOK>q2gpffn7AR>zd~kd&K_LQ0+xS#C=2dDV)b8 z@Q^oXsUx|6-DNeYMIE?GZtAE7%HNT2f(jbXO`8Y-fr+WEBf+m$PrFE`Ljr=|bXwSj zq=)9DFFK~b9#7w289cQwW4ogn+5aOq<9o<~^;N=)?-`&_SJ~fiVbzF}Y+FPgGn*;j zhDRgUnD0GNvWQIF`2MeWh;$xM&}7O_WXdFkCGAZJ4oSGhq=X|BXW&=(!^lwq^kG)k z;)|$H9Z_GThd{rfI6s=XQyicTU#gL5ONg0qT3Pz@u=rcC)39^Bd~`GXg{ zVLrJ}6y8mN0e6|p#5K3IYo|wrpPq^|n}9$Qvp+t@fI)D-iR%~FuK(^6)#r}9fXoS+ zxb6bl8A8jU@epx3XXsM7v4?XRKHx10`C=k8`BrWU5~7uKoj)G*NjmSQX_#TwVo}1_q9+p}D)BW2IG%{LSx(V= z$y->&tHV(TZxKwLvb`p7QCUT=JBnU96)#B@TkkFYA`|t#mauR*dMU2}9)hf-!UXkL z=Q#-K6L1)bh3aCVWl?@?aYHsjNUv0|4vFa^w347r>{9uzQgbT$#Vy>}!QA?NWpSZp z3Ae;|hLtf6F)^_aKWzCvy>g#w21_O%x-U;xwoG3W|8Bhey+Fm1dWBS3@Uw$f7Woxc zT@^Ny6;_%I&Bco6ZwdNT_{p%!Q(?$w-sOBU(wtjLm96s7tMXh&HAm~|ld4+y8k&`X zH`c0X>*)6Z@F+@kkZ*N02xgFv`xsghl^^BCGyMp^vbKPE%}UJ7tx48QQrc=QfrMl) zPei`@QJt+B6(cLZzcwl^Ux?2VEMBi=$<~$W)s3qs4Rtlnmr&!Iy(%l;PD4-TvQY(Tr#PB$HXAF~jG98^@CZQHDP7PkvrFVO zg`MP&Y^R`<^jlO;w!;3IueMR8XH9g(>*}v7YzV%aIE58}yPi#AJy3Jt;pMvwZk1zSRnsdrx)Zpd#V>Gl)Gz%JY3e|+|2r1~G)g#n@gM_7^%!nZt(Qq$H zXMA{PVnJu}g--87AtfXbQ|?w~y)c{84&aafULaC{GqvTP1!BP8CKYjm)eNdcJkTV1 z)-Y#}sO#ePWh3ln2VxE#z`e1sd&5apkiywGzCC-FDQT(1xRtrHUsHB__kZ34FsYpI zFf}o+I4-LWodIcH7EUWu4qho79jkVz0SC{mb{?3wsCL*h!=j(xWh`&{+ev{7;==YN zfJtTVy`Xpba>Bvu+q?fGSI8TBztF$EKU0j!*%a=+4x3Gg|FQB7-HFfcvn4z|+#NXY z(Vd0_OaL91rXNKfvOb;~f9ciJYjPqhhe9>dn01&}zyAvUls3VzTsk@>M-<_0&Zq8v z_%;6ZOh@LfN4xVvKD9iF%ZdM$r)RrVcuQ{U#nkE0r77KHlT&wo9KN)2V7e*cQPiGa z8xP(p-e|gGxcOso@W-o&`Db3+hw4AQOEAg5oEkuZC}NfPmv_mXaj4?QEMQVuWySBT zswqoWzX8C6a_!qNp^o}l049{CCIT?wYj*6@K4B?L#3#Iu~z)2zqPYtnnjfB3tEWF|?3u^-<(qf_(v zkyb*5{vbx?tjn41ug~E_;-y-mrt*xRyaD{Tm1zGXo}Dqx*puhy)nn0Wk56M7ZA7gj z|LP9WR_=SWT>XS-@^&>5a60kAuNMy@znwP`b0Y2A7Y-nVkZg0s+{^yJPz5w*@6gCn zJ?^*lxt6{d)k7WMXKNSqN99=N(CxvtUqNwpD>{cb&7jAq8HZho1E4gUmLPfzeRtFN zCbQ@AuCv)+LSJ9J8|fE&72RiscTkTFR!GP#yZtez;o~FxO&fnCWAS41#>X6S;ZO5% zIe*?2i;x#EJyN0nv8&(7u`fZoEo5(;_Ew!#pz@oXZH}HA468y+dckI$|_r|$xe8_CKWGU>)uXEAj$fb)pUY2-q-o*^!`{LlA)`5i|UZ zpqbRojmJVrYrbnFTbHnVUD?MTFNmGw^d(>Ow*ikZcD~7FafNRrec$IopGOe%cc#J3 zn1kX62)mDHC;nlgt~CEVWJG7@7aH2bvtRPSA>4LL$L$AyJ$ca9(|v~pRt_`HJ@{SP zo~)vkz96k)RX#|$c$SiXBn+FPCr^l!a4@-l;A9C|p6nFPj1`XHfeGvwOp`_4?o;hH z=j+sRdM3`PpUE8*eC`#n$pPbANNCaY$H=p^0l1nv6zne`=>UpVGbL=nK8|__T_nBG zG1Rp^ej+QWc&t(>)bgQT{#C;wX=B-BlNgc^nKjr4mT2cZP7gS7b-52L+RcvJ3oQIe z()~N}pNH>w-z&#GJNbt?8EVcv?jakJN+Cs&>UU_zZR0478! zbpS9SKXaGcXW!wTUZ6m91q#HCiaxO*%gongsX5NS!Gzn}&1(&^h*9|-ksV^^|HB^T zq?VDPz+m%=_|V*?nRVQ3!!JH)NLx z#ysRC;@IwRYfv-R_W?|9nK$IcxtkTt1#1xd&!>`%F@CA9|12h;3=-)HJhUEEdeI+yq8=}(@jSZS-S`Eb!Z%j@-wa_7@uCP8mvW_~>U(etC~ zQ#7WV_x)l`-+Oh0t3~&m)D`mPgC22M2>p$k?b;!b`|VBdy8@bz)*glzV^6lw-@n2l zLw+1Z4C~Uj_bA&1V!iEA?Dp|FzPZv49G~J9gWJdF_8tYeJ*TccMBKIQ{gU$sa+kmR z+I~l>C@3W1?>$Oz2(11lY7UzitDdOAgYB!q_rfEAJxbqu znC%u7-@r+Ha!UTMLNF;eHwh>Z3lo#hfuh>fqHcABf4+{7V?t5PzhJ`gSAxAp3XWVnJIa(wnRn##VAqE%cV*Z8+pXjDN)PCr4Dcr3Hfsz zFp*{a@^%??hl8A$Te`6pRAx2{q0y-XjDWB*nWCZ4A$a_fBO;HI(&mj`?1QASGH+NQ zS5KuJ$0uxJF&w<0=B+HPi7f54tX&$I)N&A%a#hFYDte2LT1mtwjU?V3MlJ$(EbnUn zi-=8r#Qj4_J$8{j-0b6Pe-(%e*;1hGd5(T4o_Q#&JO{Nni?ZTeD}sk@;=_thg$)uQ zud&d-4^^5>&hNK`>vu$*vW$A`jW=e805D-naGV7%C$=^uZVpTzg;^g60S;A0HO>_j zUU$kiG&I96Aw7G7emyjgRFijYA-ymuuXru5KqGYtN(L@@K~M&XA&z3SKU*~o%0 z)*(BIg7&=paBkWzV}uX404NYsnAcz)=z5A9i>hjkMSn1JJ54lD@rK?H1?BMy4+H>B zZP9pA5zy53J1H6-j_^!^v~H2I@8v+Bn#abFiaFKU2Rw4h5_2SP;oqBI@rW+0WL;U! ziz??{u>ir>4qy41pqxnoNl>mrtyl*~Q7=bv;k7W4byfh3XbmbAcP^FCgqqz2lc}Zh zi>$;XWs~57ST?I-R3*=;%wHm3UC(Nlp3=9(vOUgap~JZcoXac9a}W1}$6Ct`7QrA% zDmoTk6Ix*ET+y)xAwvw?N7Le;lpkNOpsZIcilQ1Rl_z~G3z;WBCnesgE_Tb0aKk%T z)J7~XVC+Fc{md%gt}4IDs*811NJsgP8d3aEe9w!@Gx^o~u~qWm$a7(^nP^a~UJb*! zCO)i&eh>X^fA#Av^W@X(>J5Bwmfn9Ah(3JtRAy}ro_WbaB$ZfK;apc0R##(H7sA#% z%@V$`Ue}}tK1nJYB%HOS)pzFCcXicwPuAb6^Bi;s_b$5Ymcf5rZWz&o(Mk2Y>rVce z9IUq95Cn9Hiy@lMjTy;}Qex#5wPt1@Wd1)7)v+}xamtNF;83kYGVpl^?9smihpJUm z1<2}YSNeHAEQ;H-x!wd?YTEIe{7D*0Ae@aTU<>o(_V?FxoT?6N!@sgDCOOF)*H$Mx zRuSjej)(J>1yJR{Uit4s)f%xVif;JFp^El%RKAFX9XNgS;8s02n$vJ41`;rF(@(=; zlVokA-)eZfPPYXd#B8;yZ_U96ovm*C9oojyXq&QXJaNCVEUB%ewym(%EPkbcI#p1{ zKa@a&x`(%WquY0nL4EX*z4ppBe6R_zm9Lx8PRZhCm6kV@G|&;31ungl4mah^Vk)aqpy} z&aQ@~q?16VmETnH21fktb_=ceJRjV4`*t_lA%Ucp%Do)}ssldwHUql>fI5v0dN9@f z&>9+Q-PW?J=k4XjF?7X?DT|Z4+Fa`MUWVtr+Op1@4bOOeI^*rGjQ1Pq3-{AI+!H4@ z@W7$|aidpQ?9Nx~J7|wPtEcZ|(I7hfJ0N+^)-H%G=$sw)dQP? z4e+z9G^+fNhry7i%h36VA@9N=-|iv5>7k21hiLM{0S3dDU50}qhC>R6!@7qfriY_` z4oAz6#2Sn+Tt?!B(hf35l7H_WNu3@^|2e{xAI<&2|~R9x<9;D45?pS~xvg{Bx8g zf3M8oUWLoOs)&0vh4<>Z?=?){yYcfLTmF8F!Tna3`|T0;I}7iZH-Haw@Av+^-|Kg? z-{8T3%Y&ha2P1_K?sY$SAP?jGd~ld^|KAe`BOrko_}{8>_`g@>eTh4F9cRopQ-`mq ziW-^baVyQ4!cf47afx;8>LJ)1YZh}%A_?lB?TD=U5wW+4m(%R44i!EL(P#sz za?6~kKi3avic}uWd~!>(dEsdeCMh0r`#S7-t;?hJdW%y&V{)b)CoA<%_&k<#zb30v zFYbG--&?fl_wI3@v+@~9WsO;mTCZF3gfC6|j96ZXWD-@EG>V#wXV2}Fv!z1;;x0D51a(6wA z6x^3z>gLLUKZ%STXMeIR3SVru~(yQsvOuyxhT%)$y&JkJ&q}c-iV=jAZ5A3@3c_`jhz*I|z<<&ZBd9$O{-CBrgw%e{F zIDS`JqG&+4^QQ-akEk14PoeU8*no~BUdpbo!Y-VayRTN_y;!-!DP-^cH&?GJ4F)>P zH$#h>8=AuSzD^BTN@lh@wmAnx$3&RFtjW3rTcUjoDcB00= z2q?$}DkBOvKW>N~+8VmK;PjJtf7fXnpdde2aBSaXLVbsqhZ~As?9$$K zGS{YCDoyFgAa<$gRc}pYN&cvK;Mgogx{9dyuHCEC^&D9;eLjajc2+&7S?$tAn#=Qm z_JaX=7lq9AOumkN?b;~RLYj>aC?43WH*=U~7(z4Kxyn7b@}|-7k^Z$uGf&BKgAc=h zeGyQN=b%tR4;6*8C&RWPm?*pu=mI~K5blxKEYq7B&0cZ~d%iR7#8}^sPhr!@7v*qG z5P()L_rb1}4SXj)CRUdd#0^94YLq=tjHL~Vk4Sc`d?W3+GA^hxPAk?XrJmNKyKm-? zcdU#NPuZJ3n*7-ZHv1VZl!A9ukR-=gIqwU9k!dU(%})||GmEsRnuux%#P9Y)d!1%i zXnqPh+I09a^Fph;(xaPySLIZ*pHXMkO@HxnIMZ(fW0?sAPj~c*-058+=i;KWCA^F?}VT}+JyH2Gm zeu*x_n`L19@T9xnNQfh*7}LF@LryF6m7mr`ZM?!1@}6uPF&1nt)jiGm(pr6RU4wE~ zWvsNlrsn9e$EgvlxG3H4wUo5F|6Y~X`X)z~c^%cU5X28zJ#WeXH+z(iYTW)ilS4~* zcX85xut$A|i#j|?-Bw%t2ZVVFWW(? z14L7Y$=sPqmc&(n?|i_DH=@l6C3xT6@sN~kMpTl_#>Of?U_*?@K$z^+ewkKMvbAZ9 zcs9pG7}3l)fptd)bQ+6G5?-h=V+HMK5Y;&f*c#z3)`*CewkIIWi0<%IZ@TnDX1q~N zpHTaDflh!LwR&L1SNri}T$oiML6SkG%XknN6q+FL_n$S0@8l)k5Q)b6tDC9EQozT@ zqXmZ@{Qig|LUvgQh_I;;wU5L^XPX$o98kZ?J}I<{pMWHpHlPIq09uza49St9u!v0| zKj;@Fvjlem1A3=%cQH~Y1R9M+>DMSp#^yqI#8Tr3E_tXbwwXdFD^4SKR;-CPAVL*L z#DnHU{J8^|Rcey0e5~lDZc}`3biy&>9%Qh3?9SF_NVPX)6p)D&ka*$rSD$tJ`ap|}) z4nljiK+u9I2%U?DIGmUkvEAbLsR~L%4I#6yED%7&9t|-h8Y6SioJ0cVL(Og~sq2+n&WhW}HJm8Cjpvv+SjqtTN%g zqURm05cOKbMEv!Szl|6Xye7aB#3k*x{^;l1a4M=o@wWX97F`CY%EwD$1jT0$Dtm5i zY**!~Sp#wWM^uTV?{M5vEPdOE0n8bHzI+r*`?+)N&p$T5mVYWX0rjJRIisLAG@Sym z5=9jgw-IKc8mMakOvoGhJI_YvD`Go=$c>ThjFIv_bLTS(#)1F{vywN6#<>zS<^mWo zG!yNu+`(Fa5kr^$uu}Yi8C~)jo{SH4<fud zr;fbsC2hwNlA-*=h*9UAoCpMbECIH33R^uXy9VbpkNgM1Jf3pf8@9~AUFD^8jX*qg z3FgfBdm(5rCFSHe;kVV)M3poZv9vL12m6pT3*a?{P6j|RA4j+t@W5{z)8B=pzq8o? zIx&4YH$C7 zJCS#6^!A)_D{s3hKjeduV_aE#AHhA8weFpi*BNF?QvgbG^V%@&(D0jT$OS3*Pny6# z=8U(lok9wZR7a2}ARFe{AISp06G7g2*L`nY_X)L%7e)EW&b*YM5JH*k(NAan3fcjx|X|JHSdB{UUuG|^^iOxK^Nf00OE(@ zJi`aj{0gW1%2AmAlQUJf@{1>+t08zhBBJGRL92$%g1>UdNXq2}j1C?)uv*Z$dftiv zDFYRDd#B3nLuauIAB+|Xb0A5fIMubt*uNTbEuSnW>|Ovbp2&;bmqZ|K$z-3k{6obl zax72f#ahv9N0HUzqUF%Y*-*mkyen@tyw^jv3)i0$C6#Qj>l3gGuLR=Eg66{`-e3$_ z2-qa+=Ph$NfVd}?id&V&fDU<1;FRCyRJD{|Su6b}oqH8t7Nt=p6$|-(wTvuXl)s>K zeWFYYRX&@Ww@)wcU>N>6qWq8t*d9Qb*UL$=6~=lMq{Wy3S)0C;zlBwBYT=yWj+y|NO3EHXP@5MP9{wJ$PeVEbRXMuSWCX|HBd-wKJx{k^A)-U(FwJb} z`Kk7c8|^7v)mT38LsXczv<_Q%nB5UE)e*JP5q-a71gnjrfPktz;Wnt8+wdI~HT5EL zeLYg!srHpr&2|vVyp@0ZR^imG;`&?Xc-5Pl*?(%HgxRQ?g08yTsM-qgGtuaJx!W!J zw7eibn83khiad) zDpW$tZAIeJJ5`81&()r52XA-5KX6??*l$GbTa1Ieh4yc>o!PzI_h!&#hnDNBXQB2y z7xif)g>yF--N9#oPZ}!v6c!%JL+HccW>_egi;N{fBJmI#EZUlitfj#sNhmui3QUFT z6G4$QSS=N4O$$-Ij?(8M!P^`m=ocGo!-a=1QB0ck87w55gS5rNz-(|V2wsGRHZtM9 zSajtU9#Y9e*s~C4Xvkk&SPm9WGB&cM{N- zq0{k@U%WQVKJOzulsyqtz(JUDP;@+sL=vD=;8!IPr=lTsY$Tb4uAx9qv7sd=;mK6^ z6&lnm8r6!0m=jTC4zh-Z)C8Xoq+GZdeW8X4A@fj2Xy?qSs5TPJg#{;3P&p*1DH~is zJ6O!J&Zog6u&Cp--$^uR4i5_G^jffhJ^|W5fiQ`X2rlw8?VIQlr{bj z<3gMP2grPAbUefkkga0jRal5M3z(Bba%eD_>Pz}Wg!L8;1|YDmET}*=6v%hz(JDDi zTJzfF<5G|+7R;Ij_rgQy9E1@C^7axehtvA&WIzZT5=7fWX9nEy0Q+;G_AFQ!wXcf% zG=~k=Ap*P#IFR#EgS5BqEU2Fx78uYx+%*A6{HhsEiRFryJfUPu&!n zP7|39bmoqy{~Bj1Ok^2OWV=pWkDSOYn#gMWLm>@kNQ0iiPL>%?R=7@9MNZZfP1f~H zHoTmyE<&AAA774voFH|yM^1GXO?CB5br(%FV3Qdiv@*Hb1Fq9Uk<%kDvu|-C-z~sC z5FjV{8cz&gj=8>k9{F;-=;dV3%PC>>;>$W55Vk#Z9e*!6^ZM9Kw&u)yq{3_@L}h)3 zukh-N;j3@1uU7ud0SK1UZLfa5e6{)O6$r-@G~z+rc(5oQqL_#3D!0-W=b2bNB}MlHS`BxN3J| z^(pOYr;BeLaIn)4-~NVs=VA2DQ~TWtP1w8mop0|uzZ>t)6@%?@|27WM1`@Bae=s-y z`#UxV|9{`H`5JHcuXk)@cg3JoHNUG5X`al(UA6*i_8)ZE4>NOUR!=*4=5g3HnXzS3 zIqi|`?_KS?MXGkt*S`+8&r`3^`f#x2Z^RRY2Vi&N${fF>anehraoy}>YJZL#CMxyh z7vn}c+S;%%n}XHvra7w#rD3LcS_(N(Ctn*qMFKJ_DDpv2*j zV%pE|`SXlww8ZB6r+@>K*DzamHX{$F$>|pVcL(gNfc1ZjLpIkoenGb#us433*=BC2 zk$*d2-Qu<#u5WQN0bY@UUmnk zA6#6W!4-!H9+hj>0@xQ<=C%Vi=rK+#vQ>0sR}-Y4p=4B34U?xB-x|0S&a_8k7LN(W zXI4}MAjIx}rdi}t+P^>|bp+MScjkF!4vJs#Q$plFGHZsGBr1i$!ksC0=8|cvG7E~u zHJ_(N0#)+ov+j>J4}uul)z*@cn`>}seGuTe$=_);hzmh&EdV(esLcFGn|$V=s9%i~ z@Wu>S!vVrBi73CguOBThZ>;eCV0N!JVy4rTdbBxy=T&#@9c(!Y#-d`fDx+hQ1n#m8@Hbd9vr|f=E%lE*KmYnt6cNBkpK6d73W{K;Ykw2?6e^7>zNZtnVc4nBK3*Xsa=`Pmr+!wKor}mqnq{cy+a(xZgxL1 zyHk-C^?lzDqQ?#=UO#B!(xIY*8J8WHcOhG|bmQ<^?Cxc%k&X^ zhv-HMAI01R853|J((3)@2p>?t!n(hiin<3@_in*p^y+@4#b#QBc)8-QS+KERpKusr zT(OhFu+Pt8()++WhKP{;%K{i{Qoqc)XbRy3+QR`*DFtho=&v-STsO#H>R&BvT~kK1 z=EiDWY%e@>PC&9HvFbp~kHY-}{m8Q+P!P*=86Og{MdK(@v)AGgOj;ox`Sz0xHw z6#CJXST*@>Zqj=|LSsHsZS>W0>(BQPvS_2Ov4U(SQq8YlD2$|vJKy{$(hWeF*v4Al zjxwD1WFs>sRC-0a1dk{yG0?rcgV#}rBhDe!k7-!hA?0!GS!CGwUEDI8o*)8q*8Htj z2>4Gj%LtB%WiNy=IEg3R#VjlgeeH96O{?@IjGDrI?aMWP!`rph9qQ6N=~eNpvA3q) z%{6m01fNL$pT6`7O~hfNVNV?ku*S;2`_h4NNX%P?t+45XyIKMg7yrXJLn$&US9Q_3%&4%jNfSWta)~iOGy@?#q%e$4$tazV#)|6E5UX!}Td-f)S9oLpcm>Bf zqz)Det>7j_A!5WB^JLMX;c**5FXR<|thfs~PAy_~M-UOLy-H26aB;_&@Jz8)B&bHK zyLb+7K)REJfL=Dnpm+nSM<2s9DvqNpsZgmKSfoCmAePU)EADK^u;UOAZmTBpPk1oY z7)ii+9IS2M2mLLAj6Fdz!%{vY4QyhCQn;o&B|k%4XtC%c(j1v|J{>Q_+d*eTv67Dy z_5wJPFrai4+zUF`J-5SxYwA65wgrbRyPq&`inSs1S|@g*ne4ksJA9KQI&y`>68EZ< zMbiv85kdzsY+ZNuL>t`igY=Bx>k zM*^h+QW?j;mBPiD`-?ufoI19A>(P~mCYWN5P1Gf+Zv49T*lv~Ywbka+WyR|X(esJr{#XB1>e{BB9IwGWg)IVW6@e1afF8)r2u5OR^ z--GjmqPO%p{WWv~B!mXrW^O{F0f85^1{U}g3E@X$5ix+nX&$bKQ$=hiUg`)trv4@u zDkr@?4k1_SsC0sZBnUw?#5Qv?0*|G{c)*q24$-08%ncsUzzP7&jkL# zVreh>_uP2k4CXxEzTW@kfDIoJ!s$u_oi^ZrO#s{h#P|=Q5l^>%Br+``E@F@0??Yue zM$R!nj{kDNjwGGqXwb<~Z->Ksr9$}xxCtA2V>KB_ynt~?^EgcAo4h3{g)NPsg-9D= z0nc+PuuLCtOdV2BwFYTB0e$y)>Yvh}6P!f*v*0nuwC5pdz&K<)*Ui2n?fFQWtOwYd zm<}XfS`td`rx=HF(-&*#%j4;WtLc0Mpinz34A__Px4!#fNlURhs>31p-x zka)=)HjCcr%VeI9J}N18p@EnwemJunYg@PaSLg>MUTc~7g-jpzHlRQV%~CuZW|5c` z6&=QD7S^N)ZIAYyt^$eI{w)o#-B%cvd(~*+Dxgz)(uq6BgS*qRE%LIhlCn+N@&zog zwahh3WaK7r+{nOgQ6uA8(K6iaaR^oBy2rw`L1I*AaPl!)l+58>jWsE)-pKo8$VJ}u zn>7gUeni(uN}UqqUji@S`5T@wOf)1H!bY0h%5bgDNS!#55gKSNo%dNcFWWLBXCn7{ zUfxlJqJMT;>6g42-F)7NWqDp&r4PZFmfDvaJ0HRbqCuO91+6k@`WH86%C^Akwi9B> z1Dwq%=s#T04$71;M&%v^F3sFWvxyJP5w5Y2R&3JK922@IB!*Npn2;pvkz8GKy$l-B zzxAW=@!_J$(TL}vHWQ)6W7XGW=8E3Ji;o90fOs{URwQod>xU((!<)e7f&k_QlZ@8bQEWaA9(LR>c`si!88R9I1RbS=?u*j0XARady#7bX&4 zj}~9{jc_9+|8_WX`mnSw6_LoVj+U+2W^Pb5yRZlOK2fz6rTneg!oc;K{j_QhA@X5I zH6VHe=0E?Hc-<3D47>j7R?SyS(^fvTuIrzP*S$JJn7k*XzLsli$Vc2^Z!-C&_ z^|K&tDz|FL8D7XKRE3s3m~80NOkPt#BZwob>I&oXW$m9{wfd~2(vZ%?UCALKV$oFe(3yhyy_dG+ly-4YqD9EszYF!HZ zo4Jw8d%cnS_I~dB+ZhWf8B3=#KImtBLT6Z>1;d}aF=WiY54x=kmV8gSv#L-1VRm3_ z)$NN}E+~S-e+K?>o3oa}c{9k_x=mfE z#f7%B;Qk~;6&0M1hwE_Q0bFP}-qV(f)@Q-m*>J}pxDE+%9pn`XL@1O(FDjZ&IUCM_ z1<(*WAQY1gamJ!TIM6m~<5d>a7mEtt3Ey=Tc|95uL_H6LP5O9fI~Cg&Ead{hM<3WyDb_oHrBf!eD;Ocs1(9nwSuagM@#nJ5#IzBZ8?Hk25a@axOaXFLshpW<2QkqtN5g z5GMPNjCvfb96_s6apuDPh=}W0xE~dn!-8eAj6y+|s_-ztVK{deah=v*%7OafVY_XR ziVaW?4lIX%(VvRknGbitLOj@TAbtVIg zx-zVHGmibD+x|&E`N>lszyxpO4!z3vT39i%Dqxo^*N zzn9N1{(4SRcoAUu;p9A~(W$48DQ7L6w#8^6hR zc`}8wXCe#r|10sjZs=pYA#cG)1^&mxD-vECT=&sk&%$}?Ux`;|8vLBA`&9VtDY<8d zEv9w6r}rmLdsI)K8J>1|KkWp6c~b4AgZWE}*GrznZ^odiv#-JaTX+%U?6q2q@vkd{XcH&S(K++B+cG`$bu}9<`8LypZ3! zP&l(tyt%;ITo9)$l+R!)qZTWQ7priK4Ks^3HW%5rr52;5R=1`0sHM*0rLNwk?wO_D z%_R+${xvc-arNvI2M{RTX7Xl1MpJaI@;XX11kqT{bFT zPJXwCcqe=IZsHC_N%_OfhxyDyM)701Vpf*9mr3Wlb18)UYzgH>m8920B>4kBAA@`@ zr5(9qKq#}z&!XDrp%x6%WUp!(*KZmHjV(T^IMHNY;?ZdQd^xScT2$Lc_FAKT$EiT= z=`ilQ6IXuA)O>dPXce{X(27x*D-(S{h#j2`mT}6a~?0M|4?%?IlC}5=)1e==&xK6zqWyEWtPY9>hjtB9s7bs zBG$gXdzz7OOyoCx*~RjkXSURCix2-VPv{2ILj@#(N6A+|Cv1akh{A1V$HNuF+B-^f!J7ifL*HBHj6U;kz-Pr?pl-w*pqw3n(*tIwRk4MRG?ZoJOn=ru`El-$~ zFvRYG3yj9`P~}t$cN3QP7ovA5<0#5IKWRO5AurE<@qKAn)x@ae>CU~$yRI5MHpvg6 zkQeKl=C(?!gl#MKSxKfH$bw3=4+!|!+WiFWY9JR*ASKeH*FDARvcu|j$2R0MF`+`} zdaW?vC2RS-pLQX<`rSAwXneHs_F8kQ!Uoi?(@l4%2Aj;+#$7wos_mAZ1+w2|c z0xA2S2Rt*SezsK4vU?q;Q^{sWo@~Abt1pRUj^0^Z^hjv;-hL@DR_KYP+?AhLX#Vy~ ziK?mX4=e@@n=^-`>mvH#at8cpxGK2QA92T_b2i{U9Bs<(^N!sMYYqBVYOPRH_}Brv z`^V=5&D|vg$gtNvKr@4^owby_&f0z{vD4?S%9YN{;petW0;5B=E8)Wh=2E+{K&H5r z$rZWbN!HHaUfR955GEXC+& zA(!5npZw#*eZ`90-G>VdvA{5HaLDJ-4D{^7j#o(FMMbTe5~tPK`rw~|#z0gSr{3~M z?>m{32U;v{UHrHi`l%GWWh>R?nFU`FR4D2GLj6iRD(e{$@Fh>;Y92EqZzvb>|{K$+puSv zb|7n|3WOe|C5Ut}SP*F@NE1{7HblUHbU_1K>1cq^5rd!)o+%+dx`MRh|Ryd+0DEUuaC zHtQq!?yk325{WL~BcI6;(;qAPzel@$G$rp1Q`AJ{Wv_?q6G&E%o6#GiTyF7k$LpTHnRL7oA24(N#SxO%xYp?m+rskwol7!i z)<>BSDA|pteEdj?cAY9Utk~baZT5{FZ)K_Rc1M>(6lua{r**Qo*qys(YtX5r6vfc~ zv=8-_N+Y&+HI6Sl8DyJp-@?`*#q!fFIhBf`r&5UXeDSS=K5mY*B8V`ANTVwy$%J*W zb-l*f6_p|Q?>YK6CRc8xo@!PScOlg(YACCLi&M8lg+8@KdE?&HJzlr= zZ_}KP+#kL5PQe4uyXvetX%H#9*EFSnMC2wE80F1qRUw8l(G=%2f;>D zB7dDBsRgiYWK2QuCB;Ds!U1EeT99FDgsDvPD57BknQSGc_o*(TN|{1n(*Ht$fq+wH zyO2#Fjc2UTPsSDwslXgA-bFZ$<6vwJ)yeFG!RD^E;`t<_8VX_uB^lF1Wb3o2Nwjai z3Z9rjWezuMBb204uRoyN$;37q49EicvOJxZO;R6MrU@ZKlm1Q`ohw^8>|qQgWkvT+ zphGDacEnl!jwP1 zGSDd=0}DU$*e1c__dU%oDxg}BT3!RPHW{|l@44`nJv12?Ve$i1KSoO_3BSG%0DPoNpF3S4xnz`PmNitdVL5*P=CPJ93G|Wvmndd864*!si zqhN%M;}uZ~+R{Z@q1%4PdXgd=n0A_H5rUDn6p4#dF;y>~1J&>(Uj7;;{B=gIKm>y! zSKXN8D5ib{Gr5KesXa%Yr`v-f8*sk3h-A?pRvzG`SaqcwqC)DsQ75@b$+S~Fat9OR zDus4t{+xCS#$NIVmMWwS1I?F5t1+einRfEVNS|*f9^^`GM`^MWB=3nA|lB0BhvPCrG?L@Rb7(kWF%hx zN$kw5QY->p`E%MSPPjdWlU2@#Vi4*PfhoZG;v%r)M?h#^_PL?#vlK)LQ7<&rqTF5I zTDbkQ~B@$!4*h91`*t&+6WK&JN= zWO~FS?}~7t9L-gvBX7+SdM~x%JBrnu-OgOR*9!Jl4-RTQ8+@yM^&W?g)eRybF@(I| zMK*&x0f~b3g~VJb5bJ4Tr4A6-U^YQF_NadGQGn7J#G;cqnp^ls^U1yGekDU9|G%Ui-8fPYE4N+_X6}f7zI$e zh7vRdp{|(DcFHIfsRIFM%d7Mx^Nd5m8P=efN0R#G;vC#j+8=^hWIzB4pD=Tn=EOmV zutP-ZtqkaP2)mM!y45M)cQ@v~s7$!9d_ugY{28{~h`|W($L-=k(<9|?KbOB5k-J4k zzs6R~j+7S)w?{B5)^kv5OAKxhxzeFIuC_SJ0q#1`j(J78^-0q+Etk2lQo%xk(y7E% z60hl2tD@CMD3g4Ls)hVe`KZWx9NX_BHlttCcdyd3LVosCr<|Wm` z6Wh(GSPM{O!_~AiQLbbtpHSnJRsE$tAc=|Z8_sSNmW)cDNOZznVnglB6D`GXx`#^= zw>E0%#9BX+bxY}uk+d@g>09G!ci`#{4%NEKL%XKx{^-KB+&|*E4dQUI38N=V2=KxC zNZj+20HtH&aPA@{Yd$(nJX)XN42nFS{w0J4`ZD0+Jb}QfFE%)Ir{PeQap_b8aK4l; z^01+vsvm7Qbah=4koFW;{^NY~-RypgAkWK~I8M{GQ%%>dm?nyl z=$|gmdvV-SdYWrL=H3)c)+d+=Ksxi&`2vb;hNoE%6al9PoG)(xr-yKg3f4=Um-8V& z{Bgg1k$?is{}GpWj#KJucIJTlnYofP%scR724=w{p6pkN^F_vJK`PeC5`jzPv@Ggv z`Bh|7YeZjaC(;nDek9&I8z;lTZ+IjrvTfXhx+R4^is<+m>%l3ch8RNv5X^vB&(}zHlPI7K ztKRWh_h6CNg4Tcz680?NEQs~?8=YMxQt#p55A;fkY`b|K=4vGCJiGyLzU=AJ5u(&L zLnS2KFO=>`JoeUYxx+@?5|mC2m$#@3aYxZat<4mVX4BhB7ulxw=Y}jDD;0452;W3r{kPEn;?-@|z#zDh#B>|^x7RT$y| zh-E}@XUW~54Cr_b=q3#4Zy0#V+qlc9(+@a#_@TT68y*jCe2kmd>25lE{I@TK8iJfvSn`A zr~_xEg_eks!Dgf(8$OB`7?+{DHA{WyU;8U=q+8OXC^>3u%KEFDu#jGK!D2-m~$_&ToKeRGDA`!7X-Ex zBxiudr%IJ`(K$kFECDX%@6F{v*Dqsp5V&$gd^r=7LqWu{(4`Eg1_8=lfChE(0t5 zUPXfK_>e6VvociAmWgKZBe(G}ArxE+7kh|@PNAYe#_B^yI*BO|nAdDZ;B8-`QV=+Q z=Kc!qex3jq=?v4T5RZxNq@q%I=tERYA%~lcz=K90i;4E85t^htE!aYfg zjT=DTn2SqhAY(+ap$xPWh$dMHu0o?iFtP!zg@{9iqM#^7T$HHNl^V$8tn*dtyoapG@Jgc@TL)??4Yw|ViGayU6xttX@#4~y|x1VdW{%8~xBBAdyN z2~cD+dW&1IW$bs6E%z_v@Lx--^lUVrtvR7*>+{ShUeBTYS%>l!=dov%cb?JD{}rtO zX&72t)1f~L2|a&S4(Y(sjrxsQmDUV+AN@r$&oG;VMe}gcoJ~k3Vjly+;t)Cr__+^0 zepI+@XQLGf)51W6Fi|BZq0|t9qVbnUc#{|KL1KALNgGnEtzO{iz)af zN*_ka@Tpe3DSs821r+q}SntO)g7vz@gaFd-@-evs1iUnP`rR?~J^^Ag4^hk7cFiX6 zhRqug>)k(Z(QQIVXClJ6m_#8QIQORJhn%|*Cqu>U5@BVy!5l8KiVu&K1-u@6yFl*E zyIk`q9`?%@xe^Lo!KL~U%y4w$WCW(KQo_^dU{^+75O(s3x zvg=dd5}^NGEZo{y1#LXT_MT8~WOOg)Kv#IU*~()&tNdo=zGz)dnWZbt=?%q<>cR~<$p}o1YoLOEiqLS#`&oV8dcrC^0?eA*@wa*eUa~ACak8b zw0>sSwOn(eXM(xH5{+ENwViC+lYs*TI#|t*PJf%K^%R|zSN;gTrxW_IW}tRsg+oVH z_2liNdw8<<4YyWZsddc1(;qsE+OlZdL#5`){ox}?tItJx<65tI9@_k5@2cLw#ar7~ z7nlTi+Kb#9w)U8e)teixyW$pMXOh+F9B{da?BXyTZF=}RT}$tH?=a)lm68veeENnf zUSB9yJ301+gYp{bxGmh<_to^Z@M1MERhNEv_H4sXQ+4>vt2+%3I}^Xpf0*iQa}fv0 zs9u@!7!f#KWxgf!BZ~j+m>G2c4{a;ecf8)2PpZM)+M$Sr=dF^!DL3x1R z&PM;`p8YriZREpu!)V&nq+c-x_^rSC)MvsKog{?mWg?a9hgGmDjlOKO$s%(w*6+r^ z`ofpDwRQ5CYz1_Q%V&XO(I)AE)P%KP7CSDcc2(jQ?s(kqc=V+Nzdh9j@Y|T0bUV!o z|M5Y&Gdatlg~jUfmtrN7YEa~fkVvYfg2Ea8wrOfRzvbDJ>ImYgBXY6Eag!&rJS)-V zD|+-CRTxVBsp>&n+*a+9#zMWsy(cuuNTA^@kK4vWB?1nJ>)SF4G` zDG7t?U|>HfpQTJ4N}hIiH$MRwT=U+G3g;AtB@Av0Q4=JCn7Fi~{rlq0GG?x*q>8#U z6!NEgyiZ1-i+`+MPTA5Z&x`2e{NXkKtd8v5!ZX=lF{ajf%kqk zIkE4R7WSTv=+RmR_US>t@J+0KV=3c|80B^1V$BV&74bGT(h#ZYa(c_<+PBk3u8@{R z!GxA!md{3&5^dZ)Iq(yN_piIb1kKr zY7Bm)qXyNZ^6V1Ipk@j}_uquP>7#}4qMwdhyc-z|M> zePMJ^^|C0{q)E>=dh?N&X}pFnQZiwao==EjEh#IUT$52vWse3`c{FZvJOpX}sa;gQ zqDx!xJK<5>w+EU(Do+K!t1L_OP~mB^24t#-krU!?QvI{@B$>@b>cf)g{tE%TL+1OB z$iBX~E@?ek=70eH5W0DAHh5f_YVH*mC+e>iaIDRyJ(T*00~)z>YvzY5icOT%MK!Le z+jqOlg(jV$Gxu7Cu?EWys<==LPDmP~3GS+TXA5pJ;xC-+9UU7N6lA>S30l z0(iy4?wdYUS5U4z*my{Qv3q4J>tx}o?$s~e6xAxwN)V(j9E^gE=m;BE#5y(poaXX6 z$xtU*Cy#nNYulEz>=r47VQ!iUNTb$0OR{(DS&?4n2u9M& z6cDuk#&4NhjSOz`%hi^SDwviWhv8C=kd5_eb?nxxBXNvx@%&5u~s}O zr&Uual(4HYT3o{o(lBIbbS_YtHt5bM)ak z0lX~6-ePPnQnlvG#s;USU&l;8A*xSFz4nXaq_Z z9#CXtQO_-v zX^YPJ$>k%YRogl63NJsUQU+w`B@b=?Mv|>!UL+g8PhUsT#GT96lnk5$1NP$&7HF;7S02T+)maK}#WDbo%flS;PyVfec{95Rbgxe>zcBtQitZM@u8Dw%{Xp`Hi;%@ z&r4EaXQ0FOqPwpiAPir;$!*Ekparh&O}cYBN)_&Tqv2=y`1@_7+VJy}tpU<9bm?eW)!OGY$sn&%IcEEB3~ovu3+^b(6c? zvSz;xEjTHV4ARGG_>+$z>Awc)vv13GJftBNdWoy}$VLAQ(qB-J|CoX*;eUIv;wf@7 z<@=*E|G{q!*O>h`ew*Tj({$kG{Da?$lbQD%KHrSC`B-~vu2z2l_g#s#p1SWi-&G2f z5r;O_36=zLSV%^U%WdRxM`w^)O7L5!BrkWhCMHgEK1r({>fs-H>x)z@N^e zjARp!Bo}aAM}*ehBZaZnnma}6m`6K*in59!N6w|7b=U?9Y&$2H@6qgQ$JoyLQTrZB z1jzpk(r-171u2?`Q);d#NKqOu0|a1BXYTp^>Fd*%5or5BK1a_;^T+_TJIkS;wL7us??HO~%yl3NG{qewW_EK9+UZDT68;{f z*Uwtav-`n-774OWPi7GiP_S}9vjRL@0rVafFa!}Iy~8O`0@OKeJ3$22K)=ZeLjqRM8=(F<-QHh z#ZSrwiE_75avbi;#uOg;(skrpFcQ5@t&N23rf{G&96*#_Ezev z72DiQEy@`wI=nu`h3uZYrZ~+2UNuCr)Wwu^7oT{Q9sg339+Mg+SYpP*c*m5uJNX)6 zu=OFS7MNQr?1MI7JCcLX?iA=Mf{1>MuMNQpD~l zPCWNY?tDn;xL&CXt@K`O;!rI4TJfP9SkHYy;O|$#Kig5BELdXAg`anqgVgf*4opE1 zvP@Y1aea9wHCA;7ZsJvZyIN6AkL&8z9P2p3T+R*aJ|ZS2p-YZnI!QDEOjuN@Fm*ua zaX7BHP&KqrrKECid!_o9japez(F?1jkFs@%kbX&(VNaFuXqCySs^?qPY(!Ot8Duvm z7NnMIEHI4W!}}g$+n5l*Z-D^JA+E;Bxn>oW>c**IQFod#77S4&Wkd;n>s(7?8di%? zK3{5gg(4Ocxl`{;M`G)qzJyN&=Lyf2{h-KBl8%A}A%7~{zmp5~2d>Hus>#J;*S9Lnqb;mVo_B6&%H7X@H@~6lH7EQYXn$Asu zYByXgXp$@lO*I|ZthSzlx(&*RCCwA9WDtyveQ6e2;5xo!-%qcT-JwSKd{W_6ouWd6 z!J5+@rdV(X3{2Itac4d)!ao|ve#nvtz{IBzg*-Ay3sLbrG>EdH28tx9r2@W1 zrHz1DTGIMu3gtu^Oa>r#9h$*@iIezC2X zRB5hO>CRi}!jYtwYfjkMAlk#2#drmD4iJF#w$EeB*E<>d6FS^2JN#KVl|SG^wjBV! z-Pw!r*2Z|bpw1A|U3`&4TvYIh&d}aYP(}>dQ`~VIBeXb+7vT&ZoqT#Wk@qZdswB}W zO$pA5X=WkPW>Q2^O0rIR_wo4dvqI=QPiegXQS`N&tJV|A(Mcin zoTZ>r1nUP8(*LBE&G-e-egsw|b@oJW*H@`coK~W5-5K?>g2L%5Gku9_ybUaXSAX`25|B^Md;Ge-53$HhF#{ z=7O{S1xKd~cEJ~HGcK&HzhD)!_)+Svo3%c=9^N#jxBRCIPc9|fkdmgAAzPOBb9**6;zxjwSCw1+A_)D054>NB#sdp(AaxUVi2~Xy@8j}$PzfCu zDnQ$@cGrlYASx~!EPqn5wp4r|4`S1iF;r|W6XnT=3JLHADmI3WWb>c~kOY#@s|av5 zWxFdC7f*oOsaTF8&X$602CY2Co-96O$;X6K149JpPzI`#1a(p&cRsq5f>9E|DO^+y z6&pmrv-zl6>h4N06;gJ=;NTp8eqHAzKQxjRZ3h_#8eq znu6(|z_}pc0A~=SJbtFJwKKrjU z=K>*g_XM0Pf?7F{Hwzcdf+|^=MrupIw{u(&+Ln)55RLlINme4jG%ngwh>T~TZAcg| z9%L!l7fO|qa+LZy04EEPaa`D%kMR=j+o%VBC!ifv@3;z)g)AF4F&9l^qBfolaAO|G z0f`|KySy1TW1;K#s0bc93}D9eKeWSvbM!y>?dk8M zJdH=K){olXj2;#3DCp62Vc|{*9-aUGh_CT@!20oT{I=}zMGZ{D&e5^gk8hPdx-IkM z?#AK!8=pKZV~l8YKYCNWTl{D1K8>jHGOxeFy`Ecpy_E4k-|B1@E{xP5F-72o`E_e$PzQe<&#1y)Ps|U$EKQp zOg`yV@?t`U=ap&&hy$!8$%^Q1{+elrMzSUrq=aQ$2uH=S&y!_Ih+)C>uhjD9O$0|) z%Z2qvM+7R8;NOu~-nRpC8H6>BU?r+lGIvU&RraY6@w<#T_LfY4^CbMqr-My%x$i!o ze)9F^yYJ;=eXyu!iRi4oXhVQ#eX7U-R^2Oj*J^^5c_;EhyqDdTr?l)n=w{-3-m5=- zuPJ^{(wg~MvYgR9G^1ZJV|Zc4`04M|a(Uj`4=Z!ZV=k4_aIoiF@OE$LdH+}D0sMgO$z&?k?IPo5V(c|HB)BmTtDn)O>d>scWk zcxX1bVm9=`Y}nJ;z2aG>)?DP;x&6E5q7Kc)RLsR)m`iv%cThaX(wa|RJI~%Vzpo-b zqhdbm!u;>la##GnC4s6SrM&U~8=2PnKS8Ef8YSH!UW+umZ0HP->7EYln+*$_{oXk5 z{`27~hkXe$xC2dYXEEb<1Ur^Yj-D`|9D=9LP##pJeqRcmC^9H8T&b|mdS}<0-Hpf4 z=%rRlEf=Z*GM#&)8~6NH_Uc`$mab~qc{p>XWiM5Jmv zoqGr?Iyx*2P!%ne!Wp#DX_t(5sZXqn4_!d2EpXwTMJrZ`1m#P6NLTHQ(^q2EPj~DKhp&rqIF!|DVY8*XK-tOka^8(+{ zOxyY80AzXzK&BmvXFdzA=uvCj_W6bB(2_c$1rOhxeIv;xGe=BaRFqgJB-!Nn)4m_i zdiVLQx<_;2BX8+tsO~1TERDD3Nwo})#d#H7BDT2<5^FySG>5b;yMhvQkteTeh4VI0 z5^M@)(pAkKoxP|ee`|Hi%^#xQ$TZXLNW#j5^{NtN`kt^o!8_&-hP>i#^nnL6;ok2r zWs-j))0jVfMjUQswVzLIp$*9$8kQF+H516)&#H{4#< z8D`ajaY)rm@%&#S@2=)uHEJ-Q$TXySk?r`0KfaA$yoG^#Ol~@toPKb-7)Sz-e_i*5 z$?zw;7;W%qvDa9&a#zvouX$jLfturnHfC=L*XQ|(fFv*uQ(mMU9V3sP*&NpLBnEH>GsUZs^nM?zOsmbWdG4d2a3Ht-mSOef{c6%t0{i7lDN!~Lvx-D)?*`rCR8 zhANXk(6~*LfWGwb3r(RgWS`$fI{H^C_qHv1kT$gH%x%Za+4q_g_c&}*b3gBwdx{fe zBhoEI{VW@gNKQbe1n!OTz7E}Lzba-Az|DrIURLB!s_b9 z@|9Q4E_?C*z_J_-t-Ov@GLy_WBpgt5Sno{JeX*d1c#+`jn`Lh7i;dy(mD8A*J>5wK zUFXKZkkooB6`A~atKzja!VCkC%I)&|ZB@*CQv)p&56f>zQ9Qm1;VF=otscJrg7wF$ z-C!s$=W)QpI0G%pC_d_~8(Y;`O5I^{0AI#%Rrjx~jeGFN!ME6CqB>2SY612JHnA=# zw=N4M(xwb9|5 z3VbGeR6IKS@166vd%Y`n%riS0O)N|zx7Iv$5e7shQTp2&G6~k^u-IEkSuOMt@MThl;UwN>WhbB@t(Mzd&G~o$5UV z){+OHYmBX)((M%cAzy6D(8Y!2gsc^il)?(sB~1E#KFCBP04ac0DOY;|42x-7s09W%we&T%K)u&K4KWxU|GG4>nq;q)V9mZw7061DisdMp_nMc1!N3zesGDd6tpa8{ECE=&PAYCvP_nP9D-{CUC7eQ$KnzV-<+8NT@A zaZA2;PvF}419wkHO}F;F`6PAb@k`k;^tu=uH$n=SDTwZK?W4GQ*gcgX(^qI4!%VES zRHDW{S^Rj9d#ytYimSFc4X{Vskc6oz(rA0=H zQx|D25?f10(ut|RQp(L3ob@Hm0!FI4K5l0^xs-qbdwRPkLB%6!#uwknM1&2e?VV3! z64Up^K(zas^`!K@Mc6`wx;I}YO_a_eW+a(9Bw z0*_2Vw9DIm+;QT;#{irbW&YmN!(;_;Qh$gJiqaFVp?BKpqxbUQfA;h`hEeK+nj2Wz z?M~@WQXv}UCo&zAGvp+pri*z9$xMM0oQGLuOaF~bj}{#^V^Ga_hlhisWm=)D<~bQL zDUMz2WmW7c50d3@E+0CgH;_AnApuWd9Q(*Rb1lFOgoq@PKxyCxq^OrsI2Z$tJy+M8 z!wI3|1Z;9H1qUR7%Io2L%HelzIIdoNb0O{`7!eodHO?}bP_sw*hX@QywDD#QIy5=*8`wFY+R)CY*)s6R5^fJhyPkxV zAk(9W4WgozDG=yZs#vVBW>tc2rAANAg2_tl&`Q!MIfjHW(8pX~STctxx$~-O!*CVl z+JTZa)i1YHn>iORFR50tW!oTffh3R?>THFmIo(YPW1_&Go=X%lue4AKsa7qi23xJHw@@=X1}9J$a}-ymA6eiiBb$D$ZtrPdCAy>#^zppH}Sk zJW8n`N;foNS~A@l#@07W@M%WFv7rWy##8>W75Ro*N_;4s(gu)eGqFqC$wDHVid+4& zTiHzaAWEaC6c|VX9d@FXvn!@8NVB8GuD!)>*~Odp6mPXG-i|Nc(RgI;4%UZ5XW-Ev zba5ECGcdmM(>+tbHU_`O;Z6`I?4y5mD=&^i>P2Tqg-J0}n%dck_s*_(nBIB^eXJxa zv9t$S?va)AsH;x@xUprq$?H?^O|d8u3Un(=zM}SSA%-&%C)9eXEPEb=psT;4aJ=-) z@rJt5p3_FB>Pzwol-_oiUU1$*+DWVvV!90*19_}6Djp!y9dX#uJB?k7>PWWjRKdBM zkIp%t=-t>@ZEn$L?AiC=QT536;z!wAo}8e*5}!J~GyCtE0{oFzk8)o(=Dz7=zsqL7 z-^rfyL)y0ayj6Bo_D6pHv}87$@ul&C75~DkRl5+64O0t&F$PJ zyP*I3qnHm%d{n08@K*ib0;26E>s42eSsL4BV3F$O3MpaXMOE^^XoN+U|G|m*H1N zz*#*sPT^u{+wpbu{f=my_cgR}6n5EV42KSxG4S81yAya&A^`_1b-QBvW?G=li{aBu z$W;VyVt_CbkPc{^mlPoJ@sppzxaz;r={K3FkL8?Zrg*#6W8i zdpA)qopf}z0KJ(33Vw(hu;xHPfN^07J5AZQ48JOthXE+LY8@Q04HF^qC4-Y;0g_Gi z)vxn2p50Fg#IAUNHACT6oZD?ZyE}s9Zx`ra#_`YQplumwE+W9)Az)itfam3aEKz{3 zSzv$)l*)%!cA{NKr~<%9gIXi+_JOFN*v_ED*&tU!aKYC;U$N48D+`cA-(6dO*J|kQ zn#sG&xveogq@DLYhs1kMW%r!>?rnH-Z`1dC^yYg()Du1OY-1-Qh=l)F)9b%~5TMQ5_qj&T2$;zd6v`?A@2>ePN^b z<|WXextR?Y6-F^MBjq?z%xp;(YvXFpSx4E>k)Qm_3c+$Z0TaSw`HNlPB>tvU8a9!n z2b7AXd?)LTPg0p^NQ5+NNBUDy8@M3Z!+uzdZlz0YV_;JO4lO{Ox-P+?`6YKlPF^d0 zDYu@5kK^~3aIhRY5wsBfMkP3OAVCM1LzV*^nkoHT5@<7_Pwktn6sC?t+c@^g6sU$e zuHqwMp{qr>3Z|9DL7~BNDZoPimIT^7BXTD`^-ug@qLZkULLQt;{cGT^TsH^>35WtZ z4SxHV?$5AMA_??)5oq%Q!F~3z{~3pZEF(eg0-OvzQ90MZj1R4$Kusc)KM8^k;w`B@ zCekm0d?wS%U)N>_N-Ki1Nk(euYVJ`L7V^3`%L0XaW8<`$_iwGS9 rLfFxM4exmQ|4|e~fQJ