From 1739fe403eaebcb8db248ec00f76e894e629f521 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Sun, 19 Jan 2025 18:24:41 -0600 Subject: [PATCH 01/24] Begin making the new guide for adding art to Stonesense --- docs/guides/index.rst | 1 + docs/guides/stonesense-art-guide.rst | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 docs/guides/stonesense-art-guide.rst diff --git a/docs/guides/index.rst b/docs/guides/index.rst index 6660dfae51..f47f9565ce 100644 --- a/docs/guides/index.rst +++ b/docs/guides/index.rst @@ -10,3 +10,4 @@ These pages are detailed guides covering DFHack tools. /docs/guides/modding-guide /docs/guides/quickfort-library-guide /docs/guides/quickfort-user-guide + /docs/guides/stonesense-art-guide diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst new file mode 100644 index 0000000000..48428e44e6 --- /dev/null +++ b/docs/guides/stonesense-art-guide.rst @@ -0,0 +1,4 @@ +.. _stonesense-art-guide: + +Stonesense art creation guide +============================= From 55cf5661095887666d15ff555651c424ad04e66e Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Sun, 19 Jan 2025 18:31:05 -0600 Subject: [PATCH 02/24] Add yellow cubes text but make it link to the new doc --- docs/images/stonesense-yellowcubes.png | Bin 0 -> 178548 bytes docs/plugins/stonesense.rst | 11 +++++++++++ 2 files changed, 11 insertions(+) create mode 100644 docs/images/stonesense-yellowcubes.png diff --git a/docs/images/stonesense-yellowcubes.png b/docs/images/stonesense-yellowcubes.png new file mode 100644 index 0000000000000000000000000000000000000000..83ae6ce5077a512ae28286bfa0748c62d86374e8 GIT binary patch literal 178548 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 z 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%0A3LFowg*Ew(zB+&5 zL}%IB%hVM&{o>fa8L$A)R$q2_;c!@Z=WZ`v1%jjL`5*q!w`HwgpI?i`HKrIMxA&f# z!C>^{NaNR@yA|L4_Ve+fM^DF>USo0A4fC}-G*%2v#Je7ti+5d;G6?yXUfYQO;%AS( zYBw38p3lxcJ#863F@Wnaq#9~yEb4TPJr!i7mf->Z<82Ny%Y)HX7jv==J4} zmt#OYO6Ps!N8_!GR`N6i!V3`Qp|pieL!mJsG>ih_6%W*ja|{#oD@(>tog9kE8P!3& zSy@_->zD7QM<*>tpq$s~=?5iLt|-{eofb^LG1M=^?Zbesd-gzOL?_3&i^)A*c4!nm zlk#|t?1{5uF{%*=uzXvcyk)P&$ducdcc@}?XSo7xdBGdn zUDiGEcc->~vt3)%2OZ5du+(YeY(qMQ%x_((sk!4g;RziiIt%D}wv(ijj&paqEa}cN zn;DvWlsP#$9N+f-2jX3CyFX^9CnU43P2})l?&4Z!+STorg?Fa5Hn;pDE%36d3&)b} z;6sm|`XuWhoLJ|~2p2bU86&6GIXgla(^+Sx$6{=_Kc}$(5bel|<2cAOtlkAvV~ki{ zy|bD3ZTTDtX;rCUxQv41u^Z;d%Q4@kugMe-T@mf^%6H>1B81!6*vqE@QIr*%Zy0`t zw}~~&BD}D>wC0!M_zq6;@KikcGiQcpic}_WcIj*A68LWaiiZ}{z``B|13ShP7ex$- zx9k$xmS8|Z8N)*uE~Sw|VK`7~6c2zN8Xn5Vca#(*V@F&zavD?93(fg!luPj_BLE)q z5%!1wpMOA&bSK{bf%nDI(o#J3*kkef>zCtTSB7MODJS)cWUSy7@&X6-szw1dl#fv* z+~w@00m0cM50dx#lQB6slwsKWkg!dufv>Caf!h2oex)49qu&Wl8hStINWM*xMSPq{ zLkIYa|K!cIYS?Myl&5;(7$V+KiJ@?(0f%abo1n6cNo5QF!NG${_b%alQt2KR?GFjZ zBl&%I??LhTVSRr@4W4;@-y+@C4>0kYt`l?_R0#hvT%8E%YAN*NZ&2Lsfoffz0w{Wd_d2;^gO0|sV)uu`F&6IJ9t?6PN?h+@lJ*m zT*z6d%o9^kGy+u~Q5a^@rM&q@Iz8Y(7Ns-fBoF`d54tgs;L7@72#L!2H|fZQ&MO{V z5oe`q?^a$$73)gj`er_T;}x`{vR_OA(#BXsN7PJRZEcA2yXJR+sZ!o5F27rzK-MVJ zQ&%3mP!{+tD+Bp$ z$5K8`r~*2_D0^78=b`&g#D%jn=?rpeRpE?K7-29ILK|Y?z1Bx)U$7!+*F(LyXY0=V za`)24`%a9-te8)oPfw1-1E)M+&tb!_U0oF74yE^md!20el8Mie>>h5$&VhR0`)20A zfalq%_|6WyR`g4HL|S^X7__Q5Mis{7Ji6lfP7fp-l^(vsc;aipnO+)-i2&%~Sb$P` zyu88yoWYx&BLNU7IEhE-%)6)X1@w3dXS*j;;4&M7(1MYPzL+_Ug7@T0`(JqGH7U8v zV}ZDgNG>eyaZe{U37l!Ep%@*W%J1;! zyT13^b7Az{`E$9gk4q>2;ZOg==slQFXJN)YL5(mNEz$cy4)hxPgvY%=dSJX)!y}SZ zK>cQsbYyt?4fW;*+s)0tCR)FtQOn=d?;9D85lN#i`soE5k4Gd0Tw^^bU4a(rhwPb# zK;dg~(RxtM!wnVSJ8u}I=bt@b>5&_w4c64yDRqLzQ&+O#>7h5cvGw~j(*8G z8O%)nNzwKx(d;*4B0G#K{DK~KZDm<4KtAX^^<3NZ^bK{xcn&JgC;Yud)i}{ndf(Jf zjaj;YzOQc1D~&I@93A9snk;^spTsjl$ns=x_xJy%c>5js`^{i*;OUqg`%5b0>q#?< z?M0_MP3|F=0RxaTyr;dv+clNRhzOmjX;4NG}ECs zyzbQ6a1)383y#KjN5`e3)CXW%w%V+12ko<~zg6esfG#I*o3b;k$zQY(&j>j$NLAec zWPyxJulQYU5}e>Dy#Ywa1C2!|X{M%zgpjdzxycs@sR*ejv*(#SlDz{BnCh?z{2^{A};lX2L#Q{gaI3PGPR z2!^9bH64L+(unxW^#}fhmxc_ZDTCjnhjFAuKRN;k?Y8WzBl@N=h~VafEA?eNWg&-c+Qxq zA}L&!wI8RZ9}q6}y7ZexO6X^b&5akwVFv>wo%;TccfU1Wdg;aZzz4W3S4t|6|K%@z zO)U{e?P0n5Px?RUmn>B_gyv{PjfW8ejwBbF6@T2392~q=&g$P)c_)NpQx57^WK>>K zUYv-hBB9ItW?E1UUp(@QtB|)F1Mjk7bmThwly1sh&w+FY!(ao$2uubIdTS7yyZfFN09aFDDzS_NK)DBp=auJdtgQdPWE3CC@HPw$eoA%yg%}+CqS7yQ>QeQw zUYL)i4}L)yy=r$1QWiaQKxmXTEyt8DZO{e_N8xaHz6eh`6^D@lG7pY0N54LV36Ic+ z?)uETr3W9CgZu%7pUZr0z`0W=?kH317sb@WQ?Jm0gQ{~iO>I&h=ts5S>7yOs7|F+U?O^{o;e1%(-=4BL)M$5l z=5sN7@>ezTzmp>lir?E6P8mdO3~v%NPu&izD>k~+2pW>dDm&?+?xKe{hmjZK>X8C< zFGph8VAE{O;RATVU-6Xfbu-0M&-|u8@v|N8{NA1BI+La=2k0*y0|x+oIs4G?ko@ov zoJE6m$2#Y_9mMq1NPPQ;ACIS=yqFGyHIj^HW~$i+%#0Cfz2NRecbo`oD@?@>$pPJ2 zSdOne`%3iIBKidH3lRbyks8aJyZN?6&XsWWNlstsnH(92sgc2aMpRhkX+Hx@StapR z0T^ndijw3y1xmzoXv37sn&CJpDV-Wo2@K)#4?MknVwCg@W1K@R{gp5hNJ^Rd^G|UDi;79#J56~r@|q|!X*x@u4_F;SlB4vG_W?Z#csIuy?nD7J#GZT zUiRoYEx}#Lrzh&}DR7|dJPimJ{HsN3=9e)T*#o3!FaE&~J6_S1Sx`Vv5q#z|pNTuS zZ^zI4lb?-W`1xOmU;UL|5iRO%C}ECtaD4hhNx==?l#SwDTSMZ_5cldLrlnx#lK%aJ zhlK0hdfu<+DaCK-k8W0YaPw;db zn;RASlZ{T3vYHBq9zQCPLIoVs9UPQB7#USv z##OJ0q>Fk`Z`wWlC!Yc`545J7^kA@thFDv{pt-YHvg8xpa)*jh8N2WnWC#c2?CFbf z{_Lf=c>Yvex_>MldSFCh!lC-JfWF09FLgE=Nn{<$xF+q?O%L&D2V6=0_8$N*%v=7- zIpjwN-jKe*%TtiCO`Y0hWkiNoem!DSZ@=vv)8$72d&lQd++7OVV4IP3RHS*@q~^EU zIh`@uJAA@6vDH7%iex;qFl_r)hldV-6UJvwd&&N@lWTHpw0p9h>rQU3(lGedh2vMG zwBfny%lEvr@$On*eD&&(8YOwyE55DXf{lNAx&6a5rd1Zk3WZ`SfNf|ndVOs2%R0broVzp=6B?GmoYjThSecixXmsN^WG_|^G}y4JH`o#YJqJc8)uRQR$GyD* z$9srZIKc&A?2@wr_a@)Sr#2l0Bji1hGC@Tt1RrL2*Dd^Q#?}Wu^>IM(tF;iO}U3f}}cns>)_$dWxI4wnDVLJ1x zT+U)Jod~^@Pj88EcvMqcG;kK#_xJxjmHh`5Hk&jahrxlrCxi3f%g7*GJANzoL9A^q ziVqqcC9fD!(Ac;hW-MtR%QqiloMdS9M;txYJV>cJvH5^H@ixi)lC^iEg(qp4Rp0Eu zh##c~@U3uCXX?JCk<`x4?^hWoGtHa9$nYN%P4wh#H26!o>JR=8#7!zGX zGTz&&$7bBQb3?sXHq>~NN?UIHA!oi5HZ?UBqoZT7y1FV_*^FZyM^4y=%qu+T-qy|s zVte~XC-kRQB8;FfqdvXvFQCi*e`XQtWKI zKFNC}f_LPh9^Y(g%is|t`du(PGZx?diMMyAwpd`VD^l2zMLX%7Y;VqyjL2yeKm)G| zs7o7re)d27H?mfB`655YhX-P26y?Xrb7>>HV@TyGET+4F7j7=cN;3sErSx3nNV=D9 z@5N7jj!XZ#LqR-jZ@(9Ca3nh%{^3H66ez59gJG^N%j%QSQ-$_4q&jo%OolriC9sfo z)uX3ZPx&Z`r?iYS1*Y^cw}ekQ1%x>djk6o>bcR%V;V7KWLzwe8e^)p-62jYIhAvK~ zU6}WTF943HjCNn&@0VhpRe206e@)Meis$g4of~N>6UD*6GXI>)L4)qp&)?n9d!!t^ z$AXO%c5;;C^#;?(`T=-mCeEo`ruW?Fax{?T)#!#Eq4_|Wp3d@NI~Iu99TbP}QvSE= zu`vbGaLYmY`?G1V4i8s4@k2uzB}f@_&1GAPyyZiB7!$&3#Ki%(T9?9Tip$C^%uxu^N*(0T4}JYd8E{ydy1*AffB!!d&ev6+ zG7es+Bi3?JN|i$%_??{v(K$3cB*QzIX~Dgz#=Et(nKWCs$l5EO%7}`$!j`40brex2%>Ps%< zv)(b2(Hr0W9U669Vx;@N_{jTj$J^iXx_ET7(|6<6UVQe8TXE~oo^*dde(7JV#!Ihy zdY8I_(`^Kx{O6-aNwrk)Ajn^1I`ZHcGs38>_N_F3v7=X{iq` zjN}{|kbK5Qh|inqw6CkP&)N@wP9$%o-_VlnLZ6nCJ4_15IKnB5^yu%*^jLh?cRZO> zTU>p@SrFDsJ$=R6-a#HxB#vnIrTFYkwiwQQ-Pq)iJmFf-A3yfwLrFX^e_e)n4a1v1 zJAlwI9B+1wJT*zf*o0v`%ODV5h83kn5rD#(0?=PB^j99?m+10)0md4kVTg~^Cvn=D z(c@j+xSNe7l}-(%aI)AwK+m}q2GFy_;G?i8aSs2RczWarxs;mtfq~)db>WZ}SFed4 z7TYlR7}KLC+rf=fIx%&h(tBzLKqmA6H*#AiBe0W$(|FsRGR%Q7gQ=Vwc=9o1k=jh)O-%As+ApE?eY4mG=T+=x;3 z74`7f*6fhrJC2CFP)xb#2Q+y-#ZDT%z~NAzj?N0;Ee@@W#F5d30N$|ZkFKPSG`vVz ziIy~87+CRh_rULvVG3t_Y>LfD(jz-=ne9x=cW{w^d~963#Swicowu!e*AbGgHI$~8 zoASWPbQgcAcXwoCfOqNSl-7KpW7d@&dS>}mJbG(cW0;^3@OEmCAgRmH;D|bY;+5!3 zqtozkFV}|LK^z~Kelz2scsqL0EmCs&SdXvip)NM+**+S64-NIkU;0lk#rJ$-Ch>kN zaQp6V{P<7Yh+qCSFUZ@;+X<$@)gNuCXodHb4^ZzKc_ELY%QSWK)H+r{#RHY60DRzW zw{6SYo!!FOhKbq!d{|puoL`O`*Y4y^#FPVmctbvSQjXG*qY{aZIP0%F!+ah;+1>_D zwBtjmd7P2^l5_-2I0 z?`LB#1!bxbfF(FGdW)2wy(>Fzjs)EBi0{xfId&?~CL}%L1vqe)ob>@w z85i^;&oDIfw2hRF8hE>n$A*n5Ge$QS98Rq|DZ6Tj@W>PKgur8QBpb+p=W#_VJu)22 z`qpyt9G*;!%*hF|*1`IRWk>yR5YUqR5S6%>q00(>WR&n%1W~Jg$rDlRBsLu8#qH)IYaYi_aBSj)?Sh$aeE{ zOT1r9o+KnMz55FNr|zVoQ-U66M@Ah&4!hZzQXdX~s`Iid9EaV}0fv|d8KHCRK%@>& zJTe`B@{ipY?|q7!uX|!*T%(%7u6%woVDz@OexMPOdH)mt?XCE^UtCqVN7evzrGCLr z@rH8XN%1=EiTZ#J9 zQ90uo*~h`Y*jV3+8`tl|#@cq$+QtP?kEBmkCyqK4PV{Gj_mO<)k$CK3-bd0CbJKL_ zhI28U5eOUu$Kw2AT)BKTZ#o|x8;$!fU5qh}K-Skc`_7IH z<$4GXg!3S4TN+C3(inE)^@X*Z_Ts$Bs2lWN|e9zFL4=LHaVr?8=pAN`t8Qo;8f#I#UO8!Kb0rLlE}nm1IToQ z&s(5Wl*vEvLTlno#j_G|uq~A*X$DLuMwfII#zT4CbOyFE6Xu4|7+*DR@VhrpoiVgF zOwi#Gmt{nCscY`EQQB-Y!j}&&Dtp*XFEx2%3W2JV>y=#0wB}cGr1Mw&%3qns>4Bn) z2cu0eC3vSBy;e7P0JNm1zL{2uF^I-t{+NF062@IRm&G*siBJBc7g@aN12KQz(p~j4 zuGFChDlPR%1XLt(Lq86kk&N@w8}=?L4(GX7SamI#7d^={oQMGac>AXf1-~&2IQG&h z99ee2!_h|T_`8Xc1rW3l^;mf=sV>Bq@kP~@yOt_YZ4u8%g%M` z)+OU50Y+9hr_@jVQ6D>Yh3WgL6aDel$H(HyMuhb?*BQ_J-8PWB~4(_W% z4G%dt!-yPv#4fdhq)~qWSdY-GcEmZ72k$?TSEL}LVRhcISORl0n&N}f*YT+>zP3jc7-$rU{Hq&_+1T64L1RIXlyR>SN&C`90EHt@ z;jG?ZH_xFQyn0v-?VO3gsF9A|A)ib^(4fEBVtY9Z6pGQp>6r%;A5Mq{Kw|(mbO0Wm z*cb!kbx*yS0??mn_UNVnz7t<{q?eWJLBbC~(96NWZkc2Goklc!Vj}5WSy@vrb6Iq6 zsqS91r&oMp>SD^gaFQQFGe`i!+qzFXF;AFQHk|-85pUzqc5=!y?~+f@tI<~0Sva^E zfH*~F96V&i2wl{PQ5HG}4vZbs)tu?s+EyAp=z+4Ptk{f0+o3MM>$}g#fAsG^5RX6n z=5LJzKKJUo;@O*zX!PPuF9m0&ZpHgAeK}4|+-XAY4gcf+Iv;;S&rR7X>TJGRe*u2i zEJKCEqtYkx0Pq`rILuB2UI5@g7p%kBm~NYK`>?K59?B^ooOtJTho^LLk1XUJ24EUO-ExYyLy%JNFQ`pWCExUeL9Js1x?{6Ngi&E#VH)6cyc zm#^K5S=sQ5=T64->|8wm`i;1K`)ojhV_+Wk=sA*)JbotE zMOYs>GczLP7ZQb^7$1tcW@_wfSGVJ@{PKc~m~$o5dsI0++>V>W@y$&UIUN&|o*JW# z?>2UqMY#1fuL)FsGuG1*#c;xtQTn7o7t_gS=iGmVPMAzvCo;o%lj$_9t&bY9ZC3{Q_yrXPPNoZi5s8lTTKaBhO0lFI>S z1b(}hXTW0D)iRYWUYcc@dT?fCc%cdKi4fL~HQ5^%-%Oetv@NV)(h38hl-Ku+c8q+?$KLTaU-q{!9$@@5B>lo{y6g^G$3Q zUca&vuggyH>V~gByA%J%FK@(^>o)d`@{mz)08IG^La3z-4Hqw@#nNd4aCv8om5?=DPFFLr{m z5^6S}<}c4E5K5fVIc=j1dJwjvEi8RXmKweJ($@&q?w zmKV54n`HH=^_v9zxdh8s#anuKzC;@u;wEQeP>IW?_f_kJr2pOEWJs!8#&T7QhuMX~# zY!;gWXz$3+b)TN(W3kcH+AiBDdbj*mRXmfJU8k@B@G zEV$VSeD6Ci#(i^sD`NY7Bro0Cj=%fa#UoQ&R>FZe|KMc4PzLTS-rk9gC5Fu0ao^`g z(}Ge~0D;kH$OvP+D{DXI&Ts|9UcCJBE4h8m0_++&j3lSOX-td~+z_}{Wht1Evci+XBJvkoFJ@;J9&(Ei_ zkiMYmG&^x#Lr*nI{nZrBamZaldY~6RGKEEcX!2saaZOL0OZh;L4O2~sfli^pNqV!PHaw0n~`$I6ya}D)NAjU3`o>WD?@U)ctva8-w9n7)&Q+ zVTcJo3QT{Ze+^CdD6>6^hi{HY2F;r##pCzs*}ziU>V$~VfoU}1eGKK;sjvbGner+fIi@!J@pZXl{fH}&$Y{!y!%DThP zd&}6obw|+cy#O7eBUd=x(E!jN^1y%iOq|=SIweh-j8|C2%PV9jB)>QDGpB}PYF2hZ z_Iu&(O5DD|ITW`IYyxRc&P~Se{r(Ted!BkI^KnTdXGs8dZLO@X$BnDkV`+i+-bCD8 z--#v8{^c(fE1h8t{oLsj@on#XEc)L6;E7K%5}BD8ii@*jaduk5A7!rjFt3njv@$l- zU0^3{L>_Bwm`WbT{MvRNM#Rs|XtY6^_3hqx`U=dFhwkgm`R&p1VU0$Vhj(^t@eTl0 zic8dzpJH4?TsG21u>p*vy}TPT@qFUErl)7(dw$>(>fLR{t(&*vxBVNR(CB6`&Ye4( z7ZGx^?SdFF)IXMX8zn}th1+*oy9}vACQ+?i}B<~a5ACh7EklF}Wn!H2dPl=w#B&TIL5*!W1 zSzogb{1)!S+b;Kbnd)$n&IS(}`7o_XPxI3lXm9$F$7=vt9dB5uLZjC%1i|_o{L44vPJu+V7@xk{@#Oaebrp(*{7R)a%T#Rc=XJct| zBu09#$EmRwdB$p^|i26JZjo;Q)hQlD5J}7Pk9pRvVoKpc?9J5Cw#V@=*GKk*j{w= z0vXoAnPu{S>M?B(U3EORgV74xgc-#T4)w|Ya$ZXvt~?XMRPji><ZvOqrpSvTcqaJwQVLbSRdK7Xf!0p%N`L^~%(2fM=sT2T% zjHd=*CetcirrD6S7rt{|SUAsI8jp{C?Azk=pZh{Olqa8jGNz^`)1mPB=YQhAiM~T$ zr46`8*6tw~5J)a;OF7EBSDD^r;}Hox{oHHMf{w_;D6?DQ_=to^lz@>5VO3^1Bd`|B)a0gW|zv+?~G@b8{!+h3B7-v**s`$=~}g-It4C|KtDoH#J=H^%zzhD>O7i zD>OUIz5lyQe@k>+RYU$yRR^y9I0_q^e@i@3W1IL1{koF0FrrA>B@Zu{(~G|M=plQV z%HuGXiIasg@-io1Ba(unJ^AkFpnzT;4GDdyh6GL9yC02}^&b^a-*{hC8z#s8vWD(I zC%p5CC+Tc-hwt#{jb*yGeY{Mn%*cs)r4F=4BmjBZJ$dSWG~T<|DvnYLU=-%M>aYg7)SgZN-9um1@dm3L&=aky}HA^!4z{@3H<-}dz;77s4skYVX?;q-{cd4S{bZ5W&C zi;1}bbwGP!b!9!SU%4#@u@NU`C*pT~?|b5{Ph61QWY&P=7=3wK{k2!G#EUP!l1DYp zo;@9pKmKqG$%$OMH6LI2>I=C|_=$(_i)UVZJ-+_J(4cRz& zB_{9Zp6;e`rx0woFh=D_fHre-$BGcqAleNc5BrYyaV7R{eC9KslSBDvT)BER-yrwQ zH=a`u{;l!(&wN=UD6SG|dIC_Ze@snTSO~;5LLu7m7AQN{JfBT^MjnLaqwm>J^}WCb zw%L`{(Co%XnChW=QKvLK%GYhEhw;&mek{&iJQ-j5l85h)J@#n4_`-|v=wpwhQ19No z8(;p?S7Ku5bS_+W6f#M!1%5Z~sz*=Uug3jUtZ)6GXr0WsHcXBGbvb3O#bB3<_}|cE zdBblxZ07wtb@cQO^dp}PNj{QSKU5}ZX>>S}`i(KpJUwhA5O10hT<)+s)&P(_INL^@ zun6jWGFCVKsD|MmRGfDz6$}h;yYSyoeV!3crt;it&NTpinkLZyVvK>Z<+< zEC(DWI@0J`hB5tjT8{AtVsq>Jg!5#)@0~BjfAEL?X*~Y$HPvBXBar179bre!QF!)- z^!(0)vNf_hW6#IKGrtkz19wHwo<pk_*V071w)~!WedRr|wKpE; zr*FoSXP=Ad(dCRQfZul)_BASDBzYMB(@!nLKl%C9Sl@839|_VHJOzy|)2><5WMSO8 z4UfuExJ|-)JB!qb)H7^?+fwRPVpP=U9cRbpy)xi zLQnRqlieE=V?*)oC(p-yXQ!3+Fn;6d7vuR?uH}y0aXFpok%4&Z(Fb$=h(LTv9`l2BiIDOlsPm?cmD9VKl(|C*v=ESOo#L+QD0uZNCCV)m)Gtx3SsemVV$0M zPt1<_;>JOxBmecK4LO|koC;gp>4`--6K>t4kq zhj}?%Y!=B76imVKu)q45XTBaUz4U6%0Y3lSi*f7bow$1WhDJTxarw2Y%Hgf6-~zAy z1B>b@JjrlqGHxK#D82+m<7aE48xDqmSkmZQ{_E1ruP)7sY-r{;;ou~l4Kt~6MBVal zUcVDhKmFC1zq6P_%jchcDem5xkLR9!AzpgnmAHP5d$)RGYAp7VtO)<@`FEV6}WNGDE-@z)a!%#7>}p9m}@^R1%9t|^}Ny@7h;dYTgchxYv8{Q0T>oj^aFzozzxPq~n$lL+8@^E>0ngKSQ! zUKdoK_lU;n3~xif>eAQ8ZOL--Js#yzm*i#DCsP8hTk_4nI&l?7X#TGcYEw9jk8otG zKWHONe_bbEIE<}uW`5QEP`!L))6;u4`Ui((w3g$-`4{6IZ~c-+)Yp`7RmO|gF?T60 zSlXOYCw44pm>szm=O?}qlS8*a4D@ctaQ}Kf>wBkSZTF1I>l4k}LJ8JFcNK07;Q*PP#*RE&f3SRep9uiIrEZgp)lUb=iUZr)jl z9@*6)iF`~Wle1?}NsfcDw7g=6p?sn)`qY7EOZScj89YGeWcx#>C*o9dr&fDv>p1-E zm#@SV=ceL^KJZ|?a(nfjmp0b>NTP=+jD9JP7jp}!Xzhy!>Qrw*#nULuU}Ah~YO8?W zrAz?z$nC!x@!;s%(4I1?#rCz0zaQWEv90(E|DV4V=T3X! ztPS7$@BF{x3r{c0X#KcGhIg`Vfa~cyu65I6e9V7!_{sd_>QmOym2_U})$krBnY%y!3l)0C)r4Npn+9ds9Grx}d9f zc3|$YQ%_GBb@H@EfB-V19MZa+qk4r7kcP5YY~R@W)6%2wQ@S@lGttv?Cq{<y0{Rprg;+1ope z|LSip$1nee7v5Ly`Zd~hzU?@m+a7%sZ;y^nt^Zy)&yK7BJ*g2(fk(f#7d2|JKKeH@ z0xz<;mtA`!PS5Vp5zejJ?66}!bXbFi5x>lkC5iE&{G}cPCdSG?W<;LZIzP7@3@(9TmYg62JD`&Ail+ySQGKBVms* z?S*t)@CaO<-;aOxbxz*eb7LH-OdDVh%u@edea0@4?2)Ia?13t#j1CP@K0d!!Lj|`R z_dup%TU+K4LG1=!(^NLRT_tGaB#syCKqX-~n8YQVoa7`W4X_$AP6b>(wM!2}VJ$~e z=Riv6l$ZxZr+TIOxt)0r}vS2kAJ4uQ;JD>I3j39K`4WG8!p%H6Cas~55J!m z1brgTo!N``zT@S4PAmMGjy!_ND~NgO23Q-m-csqcPk! z*3d)!ydX_l6dHXY4sN9+L_2zuGz*t9B#o)$s&eL2erk^+;ghhebIP%0)Rh0=;EZ_u zq{4k0bQ)`9pg%V#FsP?B@SJ3RRWkJZS%3i=9sFzLP0}{amMvlKh#)WUJ1OaC&~_$O zXCYS@yk{zdIwEKH2va}vQc~->Qu7K5wK{Ap3N8@{Hof} zsyi(WKhxOgv+Cn;@x3W4>z#bJzEECGcTgkJ5t#a_IumByq@Ha5Ze$~z+38VQ@R+`m zjq5W$H7J8LqwsgAkhSPNd|9DK9l?kU*8ATx5@$}^ApZ7`j>Z!Y${;o3=)j?LR5$`! z`M$5w*ntiCZyEYeNx)3+BIr>+9LQ+F{L+5>>Ss6OwQCsth|hgtGhV;!sWmpa?D2jR zRlDSbywShpJ3Lin@>_gErhxU+?VNlm>xOs4l?<&*%~aPh9V30_)dQs5qys?7vY?HV z^;|kFS)TrN=V06Q{zLir!rP$14hSXKjbtx@Hiv?Ff~H^5yx2X z7LB*&SK{WvN*)_Ia=eLa`&*AJw$oF0%2!*9?Wg6*I9Gz<;AHzhICip~ z&xGa!pmztu=sj2IEVAeHm7wieVQOdlujp!@8plx;<7x`34R$2%L6!i4Hcs*_u3dNI z6|_&W-wWD{s&#nph$Bfl9A9vJT?U0|pKRxjqUycp`GaiW@WH)*_bgq{awKg3rJUr| zVV9;K{X=Ks5C8D#n3^=cZv{U2UtfuT@G}dsy6)jMbz+TVKg65un=#rysb?z7LIyy| z5U3G{d*#p#J+9~Ro;*N9AP$)jmi$my)TG1Hce6pk(d)qYAB zJ9$J$$)%v;nX{@q1#O&+K>R-a?pAp|X|jXk(!YU&TnC>X8I04DLoqu#7%N+QadU;~ z{I31FFf$ToCp}};hV`BOSXfuv{mtG-ava*{NFF*hp^*&At%7F9^mydb-n9jDaU^97 z+u(-acMi0L3-jAkUo@g>EM>rP9x#vxXgdY+F|`G5Gqh>&%FAyW7ePbI5dLa5DK* zC-spHx`e@m|Im<)Mh~ymWv3gNkx$9cI)d}+Its^IZ;;J5o7y70oR8(j$jZiqi#k(x z^p_(Yb-%NBD0!i8q+v}GIy>!7bxR#mdicot+@^FCJm^flJ|H_!Nk>gHnI_Zc>9dkS z+ffj1BUaNdjWbtTJH#3#b{(Rf6;oI~`vT49?w`rS#K7H~8?m;?R``1x56UQh7tRys zMm3V54iP{6edF;vJ~0+EQ{PN)RhR7-)Ifa+>9+(u(#OGvMZmq^k5lj)U)hTP=^wAf zOPA%qxA$XS_1Rpzw_cW`=<>7WxWy;rTy~D%r7J+&QB<2wy=fc;%plL3>SFQ^=Y@<~ z&PSaOZ~??`Y%S+>BXTsIo&}(sqUlg0l7k_Y({CM_8ykw@{@z&F*vVa3L;C)x?EASX z%lP!UvvK~y**GyfC4J&;t<<|K@4nyl-uv?$$&yAEJG(~>AHYe*dRNKDj(Wgq42)8E z?wcErxryPN>SFKpwg>>%>+{^7z+hQ;BqjuS&q^eKhqM;w2#7uhkG^5mU9|XzCH;-jg|LVpyvnb(H0GEJVk@c z23HPcTR0OhDU&wRxy;O?Kj}1%Qv;~_Q#4flq?6i!k)K8`VEo%=2{UBnG%iz!sxn#L8C)v z)KwIMtC3w!BbsU`Y`(dS=1Z1s8r(1~n^u~HW*SIksB2&uCGgpNm&^*68+z%8OU}5Q zB7-7+JH`gZ^`H*sC+*2b$>I8r6G$2hEEn(`uMZ2e8K!*M=^>go;rmhX36VM2r+;OJzxZQ%yIJ;X18j16Ig~NF5I`0rU zi1AV0#nRAm1Z1#r4!vBpqB4%nJR}g`H?3z%kJ9z(ldxm(%9XwN(zDy~?903H^s`&> zwP!bDetuUSrTv`3^6PouNCRQiN8enZ$}A+JoEeChHxKk~Pq49WCw z#Mvziyq0epCmnS8VDnt#8Dgc`iC*M9>qP>r7A4NRN(4?gf6CkcCrITgL(6WzV>w6F@nthjAR* zmo}C`!jR@DM7)E3aB>kNpMx5C{KEhCL_Boq=r-8naCzZE{Q67p*D&;r=M}#1ZNH!) z?QPNj=4$ZFt2^-@{x=Kp(rfA&OOcir?#OUhE@P9t!+#*wSC(S9cOu67XF4)3p#IrY zmt3j);`R;o6c1zeG&`@T>wXLliQmnH`R>lP8uMnX%-@cIgW(wNn~-!_gJQ}@qsZ;$ ztpDWL$=s2bQ<%%90H%_PwUArgWUW{);yBCO# zxF?TuP)|*=DV_E771O33nP*tP^#o(es1E$#sxmtx9#se2r0b3%BG$HelO&@WM*3Vn z$w4#GFTDa7u~2XFLI)vnKpO>PYQ@{ z_x_QC_1bkj4r$nx4xn?&$jox7QOvhKwFQutILgg1edjMXqcB=;fIQ$skI)TwqTV|;vFnQ)QWh)8Bc~@jQ(HSCf~~?pITCh;q0lsR7*xg( z;5U^jWkOhlm4b1}Tb81-Jk4bxTF7Q(LH(w|W$#kISu95glrcTW^~VUOC%*lIPsKal z`k)kOIdyAz?u|GT>s}Z4;QTcL;PD5oz zBxMYDws~9NwtBi7v9-1qJDXcErk-W4If#K6x3=+vM~pteP2+*TJSskTJpuO*ZKxNO zJ*m|NIV0Yf$N8nfbRzkF6_t%VFwA8TkOO4^B`;**O&wl~fgrBdyBvKIp$9 zgdcuLAH)OFaq(T^)L-f@yYR%T%%gIM^#!2h^91B`XfExt$U`O^sIfrTVPBEV{%p_x&e)lr4n0fqF%O(eDz)-fV@ew zI#Z0q%8^tU^@bCs!A3MU4yax@9xfi_Oc;1hp6rkN9vFM!-DR~?ZFg-L}OiLg0{v}~H<3<Y3rkV{|9AJh@!Y3!j;=zljqwkM=$76YpWI>*XOe~~x7KD)q1Typ<=8y`j_Uet? zmV>FeF)nM|5fMy#F*M@p6dcdW=3#vOD!aC*gOwI!W;hIk!7$v77Y0=0%L-HRrgsWR zJPkuY*9`}^^COrhzi@)XqY%OmV@e}k-bXMoF&yuF@{xGU!w+Q7aAJ&GMn~hmb7%B9 z5-+}TSq`T^CiQ)Ny?PDMmW3s5fZvo`G!^jMjYah4^pfez3hO`DgYWQ_{GKAqM+!4K z++9#6E%eh%pH%1S+?ifEkG^>P;om}Le8Az0?aNAOku6>jK${eaNJ&A8XU(zEK>OW{t;sPXg;$x$$xTN7h24amr@!3Qc& z4Gaej-xv+*0g|^0+u7Mn$I^Ewy=fNH`2#wmJq2U1_=J~0HkeRnMZp-t!+jc%jXsOT zZe%pzt{gD()lmUR0}cFHFB^I3k7B8-fNvGl`+69!)n4-#L~(^{PL$a;|pKi ziW|3fWB%@*Mk3M>mC1QD_|mRT=|w_Q&$hmFszWY)r;cgIBs0<|AoCU0+Pz3(^P__{ zc|k~p^Xcs5wjDr@B)8*GsB8qAl>8g|Ekl4jg*-8X4_(OejhA*kESuOXesX@0Sth2m za2QN=F<4-k0%wsvKn`R;4xfEi_y`6K8yYEaWz+0b>s7n$OB;Dp;)OY1@6PDt|9s{~ ze9t>B#D^a{6JL65K0O%lFZHV37EozM8T9apZ|~XyV0e4#i&w{*)klY#H7tC?1&dOo z<@MW{mL9`nkDinvo{jgs?eTc)V-Ll}v%az=r?xaQIW;>Iqa&UkSzKOKuXQ#4%fIq> z;?`YX3%|A5FNL!ZF!#-R`Z8<3xkau=i&*M6n{@jA?-et2>OuEEk zd*YU^rel;=Qx4qb`_T6=93ItBzQI$y>{9cTFBfo*M81s?Jylv9B%2MO6WLS`8vc-naNxw5 ziI|xilk@1!-AXIDZs1OtM>lQ(E9#dg^5<5k~4Ld`gY<^&7kSZv9{X;&OcY%d0Xz+gb17Y3Y!h z1V(dwdM*tnYb(hM_#nry-8i59RW*b?8{Ym2$yK`4r{2!S+HyLQfqjjV#DCUEvT^Yz z{^sPFA>@SXbB?XK1_)6v`W`}I7L<)9m;(dCeD_T>K&Bcq)C zQ1~IE3fFT_qmSKf)ju70YIo)V%;V~XS9mwxR28^P(q@~G%v7>zZs<&&=sRVbPKAoZ zVL1^-lsMFneP}c;-De~H!FLSDTOP(aw#$jQetSPY^YoTFf%~zsc@Ure+-AIf#g3AG z$KDRTc{}R@ zfc>iVzA6u$Y3~%nhBA81_$EKU-H|~uu8(b0mCa1RVa&`9#MBf!9eZPXm^XN;^RTlY zi?ZuD4aN&NlRfc^jaH0A7${_05ZSp%uTM5)^*wQJ`jbpe&5rXvkzw`R`s4KENZzBx zyGC#hBm_X-W-r4X=F)f;)^_66+pBSNc{8pp?#A^c5kW=tP%$cqf>Q}9R}~~4rvbC6 zEa?Cb?Jc~#zFpxE@7|mjk4T?+V4$8le8UKb`9NjLd?!?wxtWQ0+Y=AV;BCj9`9%$N z*V3V!KXWoanId4_gcsZcPbuvK_nnWEbJOwa)oXEgVP51=4s)vLgop9a%PCI;T2m$k zX;4zA79#N|1>1L%7vcd1x9YyT`ya~?e21LV+vAV?zMJvGzjGsEfjBUVf`EF*qM5$6ik-w6Z-N-?;VuxVC&jy>@jh z=B@@W3OWw=o#~IaJu(#U`u~&mA7GYc*L@$lD(9SYbq9b8sdQbi&QL-dT3}UcJP#{Gji2#8CFnM~qd!|!$cU5&)&N+wo z|E+cQy|;QA5dCRapT75=v%^|zuf5U^=UlDLEf?9UnzGoei6`K51L6q= zDRXIf7=%jcYj_6XTOxXv$pS}du>2fF0dM3d#`Rof5wzq@-fQ&JC)LM4tu~&~^`M?T zA3dL zedbK|L@$gNUQu0MF2yXvhq@VroUD*|4Fv=L`QiZ4nY*-&VMRTM2miI&`)r0oAwKcF zz56|RAyZaeQ)WAxhqf+DesfLbWiYAcz)f|=yHi4m(x1?fXa1?b2=PTf1g>Ey@;kI@~#^XNOqOuk+)L-2Eo?T(bf-0Gp-9NV+2w|8xzr_4@DsobkbhV}gOU)`{m z-`uk6$~QG8FJyUF-Y$j&^+(&_kOVL76yg#v=bzJphWW6wkvmdO%5skCb5c@?L*t$atIjt$e z>kx57N?UeB$}De4oR2po0&ns_NKXv5xc72zV%64owrXp5?!f-=on4EUp~OBC?-&C( zET$b<{Tm`79m5NX*vOcO8N@-kFtE8uJTIK=CNWri5*j%DPWm5VpLr)r5!!08ryn_M z9jz@^SIfCRMY32nZDDEEl|_R*lg_qQ4fucotxIX(o}8Ie-Yq?Ev9G@ThW+lp|C)rI z@Q}x~y@}=zn0#I)qZJAQrt>hB7$Ai`=wO72hv2}OJgx}$?BD;|3-;g{Ubo7-rgx=0 zu+WaC+0_>N)1l{WeH)>>Z=X8#5ByvrQc3X+wxoamPfZ81Ob_Ilh%Ielv)8_L=P%mo zPK)SrXrF%Q%hp^YOW~fxX{lT&+c&T7+yD1>wry&j-v<&-3r^3H(lXoj`IJK|uc?vu zBHFGjSyNfJzlxRwr(kt0@6Nh%VI!nZw2S$Rb!~2;NF*3kVY0~J3uu_aUHo<{o&l6m z(Z7kel2AZ-V08HFhBdgjN7$^gR7$I)))rU)q3V0Y%NC~cvd>Gf{~Ph>xXMI-M;{`o zpjfm+7y>--qzN?&)8+2i9vPwC$0DWyd~l@q{^ zj*zW&DV(VtTbE&*=%5}K9E6xNh#}&J^C*clee$W zs)`ajHBf7{wPha4+L2};#I-1ey8%ySO{A7iw$)mH6Vn}%K{7HXSGHW?qy<(bKmVaq zFX4rh$$e%u1C_0A?f6NLI3j49rkV=(I@mkXTE{C}(V|82P2Jz>*k5HhqxX8!Fck+-RZ2F_Fe5Zyc_A-3;WS}NGu+`Gas?UY2ZLn~FHX(Yng~C|ZeXKw3QzyqPqaZnBhR_#+zE_@1Lw&6+ zEUy8H?jbONkd}k|2!WXA;6VtNP$XDt`V{_k4b@gv6>IY!lvTg6y>C-<+iL&NYN}vd zuPT=aJ8kY%%j4LzhN=}Ctba{{Z&d@BV>CW zxKGGze??B)ycHiV+xWDs!gmgAWnFZUfMO$~Po(=mgTX`a5pME+60gJnfwv?`^_6}t zmtbWMqN=LG`=mmj%Hn0cK1!%A%6NVH4R3lKSw8+M<=yaVfglllLVGa?P&f!SEPDFp z(2l7uA5>d)R#h`C%Wd??RZ=pewh5VN@}4%NEH@7Qb3=+G_O)cN19=8h67JrxU5YoAbIRkf77in2SMc@8GlcQcudj87g1E4es-i$xEF zxK<_eH(2Ij-$zoIu1zf8_t3_fxBjhMY14e zG4Bd!h*4gS8?NX2$EqBbl`?TtSJ^7yBYur$M^O--paTjgwn<5mxc8xYJj6io7@(B*sNJae239iiGdwqV0(@J-$Ts-t=GnY=eFD z11#+g9PXdQ6k8Yc@x3R+|C3X3jakJxf&9HEIyaWzv(4oz60%$N+SLa8-~P`*85gm% zc5`hdC-_UsVt$FRRT&!)%gStaY}AT&i>{fS$)GhUT0yNnfkO%j{TH8lfNsTds*egm+qCuL_R_XUS)YEmLmPl@i%Oi zjAfZImB^gg_PIfl_1E+-icA;eMK3@Ow5~cCQ7G$*}aPOB8h=p%R#8UTFak)h3E$?w8IEgf*G9-jM&eo-9kd?z2u#ZQbEDwHYu)^Gl=hub?lHhtr=txk_S zvDswU*%)Ci6iBVy>C{EnrflIY~r z0Sqb>$v{u5eeA`joe10VFfLvlvMqUD=~PSJ81~$g4_O6Ps}doD6w>2$lJ#{QMXv!Y z0^+?bEUnm@yq9GOwMBV2D{E`^TfhHxea2?N?JZ#O;(|YKA=K1XS!+k5uZr=Vy&HV` zqa*2o2db>AON^@yf98=&`}p%!@=)#_D1vXFH^yZZ_^GM<4!Hl5QgNdsU8jH-Loz5( zCc@+1w6XlI?QP9^AMEd~>snLu2lmGGCi{nlb*k#V7C|1`a&!`&JMHYJ*LLz6-ys#+4Vm9 z{~(;o$|JOeGVwVOUF>&)ws^lT(DWS^sB5gY`X=_3JY)x=?f%Y)Xn_YMR$&=$Hjceb zXrcB{g0z!_BKP30B+S#83YfSb!W`UEsFnmAWXj_a%8ju}U4BtcDHKV}d!}|g-BTxt zI%pGGagk^v<%u@nH~o2?jN?$WNeM(7w2jcu?(vtwM#|S8`3w6flxix&v#6gsfyHH% z{v4k)HkAtNWZsu|-3RScUHLkkGWzY`^#eSjF2)T?H~P)t$!M40aC+!|Qf5c{GmGvN zD_@l=F87vH7yTbf!95J+sn91A@$lN(mOPPdCjVIsz^Xvit)fiCd)d9ZcH5|IwxViT zg0-@mbk)>UTVr*(Uz`fbW<#_O*WAjMuiWC=)}X<)0Z}{`R(rKKRC+mXLSzV(5TMhr z*nA*>sLzowkhvH4$xjFjO9U$oCXS_+2n*`r3Pdy3p@)JvBz^c3fZ|z}cwSysDuL8s zyF#cS{lSup$m&BOpn>+v~;qJ(26 zsJBiJ^Gf7kU!JFw2G`!!ob7B*`nAt{O$r7gp-Xy`(3bavcaeHn%;$qfdHfE)+9?CMwWeZAN*wbcAw>;@7VKc#y~vNm1T)Cf(;r7 zk0QsV#Cff{`j&X{y6|T%L^y0n;pCY}3Hrx{z;U6YyR=2S-ja`JZ^eHHOnlG!QkQZ& zY?R@Te6DP=y8V6zdsd6*bBOlb}M@QPk#IGy=%AZ_&~35c&{qgIzf8!M-hHo~!Jhtdshg5iI zCcbgQZw{NxEKl$P#c5`@Bf@{r{g}*~Z7ZdIn4TQK3MQ^;wmBj^L3e4V; zw4w_dMA(VBg-jT$-+6Bf$DBZ`QY_ajpv+rBe?+xMO{ zwKP~~Hyb2NWu@=i%-EVAm2tmB-MJ%7l!#>$8sGpzgf;_iWpT$gR<~?Zif>N?kBxTT zmkekLmeq}U=UIMNGqEoiYAVIoQh=e{GG6wOhwf1d>s|@dD})k@RyZ6I0UO7%01M-$ z|5%4`3jSQ4m&dGY?>=Yfk;1sc!v{VIHnqbi@IrH^o9?;SmMO$Y5!wO{k{g0<*{hGl zZ{QJDITmY-XWF=Tp9vJnh45%gb&{wnS@Qv3zD#QKe(Bx`{1p01c!oU5FWF6rI{jG& zXFQL3Xp=f9kFY0SzRut;%F!O*gANGksFQr$rw=!G);xR#eeu9Z(29DYaiUFlm4Rn? z%;Y^P*P_j%p|3*PfCps-sy~Ci2|mgaGOpxgaCI~D+9(bVZcOhZNvZIN6rxjjEU1Et zsv7${|NY;xAN%Z&*y7@%mHf<4{m@Gscfi{8<&}s%bIEYAC9Af%of5l!XTmog@+#g_ zo%Pn&QfocUHFAAQeDa0a`<1O7_gF}a8wYlEf{yf`0w6jDM z{O<`ti-0IY*k~|f*`-d)UnnX%RhEMadWVUaUcW9#PuD%;cmgZ(Ldd|& z>`7?jrusU!;CPK>nv`EyUU6ZCq9E+WN|~6fUy-obvbvfYc^^`8mGUxFFE7H!%i)DD zOq^F#%1e;K+}=2pH7g+|YjAJZhpNLJIOLNvh8QRC1DCLL*jdaHNOt0?TDx|8*WMjs z8Dy!1(NQLgq27&DC3Kf82Jrrv37L z4&Nh9F4ou^H#=>9At{20ME|0EV8XFdDvA}DtJqa;>Z(1Kh+iWv5Jbr z8B3Y0&I>f^ViKM~1ia1z0-FICibR(SlMpBjU@SidRBc_AE0Bi9I_Cw#JoF8d&g`2Y zqLB;l((CPn_5Exu5ZxAXmBj@S5Wz zC6DrE%w+t>eM$;y|4s^i3=fKY@jNB!<_`C`pb>QqQ%bc0kN)GE?gb1ahr#O% z#ZDcRPckm?Irrc}j34h)eW%@ko9D^Eh`ipOl2cLNsXyS2I-}l@Ygw+`^C$|Ok@9u% zJ?crc2Ib#=7cCqDWy`{XA+ zY0p0MtUdYo<5p8$Z3_zvR`M5r{L?Ri)ZD_7P0!BT+Qycx3*W7ZMq4dj|M!7h7NZPUm{Wndn|ck z-WBESC7_}pTw*FxbVv{?SARAzJ&%xwfcH}*ghq&;Z%B#KnM}C%cefjF2BQC`-gctsJ2#b(dFkoTY-(9u!#kXu{k?3ABRltmfi*U1_VoI16tKFQmM@%4%h)b0RVm=@Al*C6d1BP6Lzo zbU;hGn)A8<9mT=Ya^@uv%vgf(gTHrQzbW6^-fSIR@=P0QoVF{n+SgZiT@es&%?pVT zGARKw{YHZ^X)X>tln1ZAVgCgRiNgo0Ys-wo4TUMC+`HxzB^bEG5?}TRxbkozL%53= zG)g2cj?QP#jMGXrxB!+_2;WCJ)myZ0ojonq(%N9P_0{rtW!T9pg4YiAfH&hc(MC|K zmV9zv)3ZWrHk2Pm8^S3ssGx&;8_EaXSjm)kG02$IUnqVkS5Lf+P>kdY+9f*EF9opbJ9Q!t@-XC;LX?U8`p@f& zi*^E!fGzqf^2V`OJ*|?7%@x)pUgaDu+8JNkwDILF$?#pjwlL_kxsv09gZ8sO^KU%u`QUOH;G0tgP7V?5q{N@|Az9_T-Yw8`<36w!!`$5dfgf-oA9jHr6+-rM^ar zLQF1eyXgA2ZEAkmF5X%2lYrU82>e}giMkr&eI)PP*|LA|r8&7wfe;^V^m2@(fP@cJN>KtbE%xx}C) z(JhfEL%LsR>+blJdk-jsnK{CB`_`jp5E(1u&cw7oCozY@1U+;)b7H_AI(xzv7FX0Z zE6V5~;U}f^#??EqcShdU#K^jBtie1eMd7Zz39^I>c>3Ox?0&fB(b<~v03}fi+8NPcE?`5Qg6TXTm3dVi5InPYs*U>(yFZHt!u3Q z5}kz)ieyh-UcD4a92Xx0lz!RW-*Af^`Yf-_=yx2B$VKvjdGdSjd0nn zV1|aIzQGQwm!O4~8_TlT*CZTN4fV52JmsUl6i$H0Qd@59s4RWveWU+fkn0 zsFe5YV|Pxpl1D_^;h@L;r07*zjrd*&!H^ebQD@MaC-7Q?O1OtWjxZDXLaFea@=gK2 z7dTQjg<^tsl+TAoNZfZkm5*QKNt4$Reni1UzLWx{D3j}N{?sloL2LSsoB?wPa#Fw) zUR=;KgnKBe>pt>B3nS1 z7hzQv-U-zI{QCRCV3jJt)pDy z5*bCaBAZ{Xu=NcDYUF|LK4~t&wg){;ic{7*JKLFuioOBEEPwXt1BgrXc57OF&+<-q z1c8|1;7$ke5{Y|wEIv?l-<7Nc1jpgvb#PG@<3u32SD5P?(Fh*oe^Njc&;Uo_K&DOq zrVqYjG{xXWSOlN35{fwqKT1a)4g#JFn98e4tg5zL$}}eDOEfTnGlX>r4RA>9!pF4B zYAlXe=QQ5h`YM%YWn+emE|&9x3m14Ko(WhTa{o=;K8AP#{ga2{_;?Qg5zi>Y#j~hK z&?!?UaI#tUPg8Cf4~`ca^-S&g1$MJvo<|tG>Y=1sNesx zb}5%@Tc0GJGnPo9AOk-Co&7ogW$p3|`Bey4f-~AtOZtcMi8=+f?^YU3fuTAxU2mkZj<*#7f6MRfXuz!S$!*{8Y zd62G-PJ7_odF$`&a3`X(t176^_Kzw8b8fMdpO07~&lyQWC;(Wo;uiDyqKf$_ndfYj&%J z`H@;F6_)zGd;PZEmB%tEPiA6%L)VH;&aT*$Jh7F99a~wFj)l0hUgSqW(B_T12llNCJN759Zd#3m)~NxG5P>J5 z(SJN`EM2zs#S6Bzdeio{XVqLD-jrarp;5D`Io@wA&qac4W2@XQ+~~36J?r-1$we{S zzTKTEwQpRgw3%snotvB1SlMAkQmE@2OI9p5Ie|n!ABu_nc$Ca)f^xu&av;o=UQShB z9xt!*5DPq@!BZm-q_MWsYW3;+jWXfLu_Aqg?bhDaBtxh{xJmKN1)T^%(FS~z=qc(8 zwvF-eDcY>=+p5|ut0=bm#tLg_5)M)%&ZEi$ zPoT&g9?{ml8GS_nxj@3RlGj?-P+{GDt-f@;s-nu)77jdIy0%34F7U|14h-M|=OkW> zEAY&4)#C&Q`I)!jIke@IXOtm4$aDIK8sRNgEmNlqU~)c?OO#X7hC>m=fHS z%hA#6j*C2zA#jQESsnUBfrK|m-ykq!tdK8xE@|A+CUlPHqPmO|hx0ydCVWEh3Loz$ z=a}4YuTy#XzO}RAdqJ2`r{4nCFaUG?3`}a%39pp+Jtc2DYu9nnZ)AddZ~9KTJZ+|Rn{)Z-qNKI1-KEvp7u=pdZS)i;u_C=s3$zT*1i$3AX<;m3c{s%_JnYAWsF z$DXpr=2k%T?vI|)7?a9Jjp4;~mMb}ogZGR_N zExZ@uM4d34;}neHOropsIrj;raG%W1D2@-zAFe-jg6~nr31-Ya-zzdUnQcmVaqRZB z(OvtRl*;t{z76&;-voR|)B4gy+gcg2?e$Sv&a-O!{gd)2i}7hQ=}jq8l{xC5+*gr| zOcdFdzb#lcIO0U!Y%wPypx7$q<;G!#=EZ+H)%70AtoU*o#Icsb=w3@mq(W1ze?Ar3Sdj-G@t-vqW zH~Jp;@_lpUIm>A?eiJw8p88E@5q-eD=+_Yb-YJ`{vDin`-HoD8)e)%g0ju8%n`ySpE^hUPMB>(pRwVF5^07!4~s>R(xuJ8A%0X?)RM z9$w+$SAlRZcn+><`~WofoR_=|_ykU10v&R^mU|v;`X@*$QHR&_Z2ekkjm;I;+geq-mDDy`V_mg1%N44Zb3Ai`VfUSeY&qNwEutjg?)$@M<8i zx9NFffCX$YZ-V>i^LQ4pQr;Ove<`Ip{h9vKAWA7ccR?j3!gX_a+g^TS(_VRJ+b&(( zG2X|pu}Sz&%!(JFfxxx9IVFKR>WXB4FTW22{zT_<(fv!SW(&)4N$>tg69xkt21~8n zDodC%c=O(L>hg>ZojpwnsvZub0XRHB4&pYjbPk4IW`lGc(|9hW9=fp>R z0#yd7p2TZ0 ziXuh*LC5<&_e8w~ZSohq%x5YaLd~BieDo{TSqQVk<@n_L4S4gkkN=}ign7VO_?(n` zo`W}o$**`0y?9P3U=Fy$fMqE+SHSxI6tEwqMQStZ$-@%xgIBbaXp>LW<2{%wfAo2l zl#OT(bEjoQu#5L4=ZdVUp-j#JD+XCPSn6{fwY8kLRcmL@oV5?W@S;8U>~mHpM`3LE zhOMmRB8r4U;#twP*Ze_}4^mV&JLFkf*XEQI5DnhALR+h`M zud%l;UA5KKbvtwNn0qj68f$8(w<}l2?4SJdANg)y2*MF5C=lGNiaLbTj$EQeAKWMq z!V}P%Hmc}W=lX5k(Ep{TG3=tQ4{%m^AQdqNnb#AN%izIOZc z_dhS1pCWB!*@C4R-nTyF}7!(GC1z<8(@L+|YR5_@U`-C(2OexV04uQD{ z+uiT^{n{i|*OggoSB)(8Vr#73wjX`|E$eRGu;aZZFD1)#PnwnYF*e2W=cYJOyHxZka ziOJ)%9{_sC^OVxwg2FZltHJj7zK^63Cd#C;3D2X?*_UwieILk<&AHYMd5QHDNQGZJJYZKUkGp%R}eu@xWp^)G{buz}1usr%atbaVp z`|(;V;SVnvp~&gO(Fcslqje_Q1)NNL2Mtn)E2U_YBVqFV?Qp6*b-8E-H+?UJ2^b<@ z$b%Rkd4{H3EZ}*6n<+s@;3sWvulk;yd-L)8-ty5mgw~=D{9Z;o?-Su4JcXi{^m5pv zJTL=$s*~?twm_~GwwazgeRYooJhIQMt-VG{B36^O$*^k3_J`aa6AtAq_P74d|I0q} z!=Lthq|28s*f0One`GfM#7nOH44+;SP{4*oN<1Smh`SpFGlc5?Y857{5^}guqzQ#66bEGGSjSYyZ@# zZaY5MX~QEEo|k%=$oDthiGbc7uDOQ_s9Ve>{RLr}P-fzXczR4&hjw=BL!H4VL~~+N zPJevzjLu1&M;k2vZEC2o)5rUzfP$EdGO^3`oeA}IDN2_6UcPqI>dOwS{BX zJoLVb=V<^!lN^n*defD{5e%Y$ET5cK>KkC&+1j_IrG5MID@FG8x9Y64qQQFGwym-} z-09V|@H}Ks_;+=?Cx`iar2B=o#-=OmTW>em+GgP7C}*%sl&F6QcQRqjaph9L`*gK-Ri8}qBKMNW_>!4-y z3n}qTzGRf8T);{47W`Z4FJvC$3Ou4M#=hE-cY=2=TVJx7c8jdKy4-rYn(c6J-Nx_S zb|p@j>dK`zY-M)J0CPZ$zvcMgsq@y>*(}Nms z5*~-g%(A%<0K+Sxay$}NcCnkCig?Kmih>XrFNJDosLQ;R3agiw!iK(<=6ZYlv6J@r zqbKAt_1YhP@l|;&!Bk-(@E(B*At`c5uJf*lWJ%Buw8JDk?mrjxCjv%zER;b~BtbN+ z9pZ=4S#E)5opnD&!afqdbJFh@zW7xuUmdlLjScH-skEn$H`oK+HP%^uXvdmMYC?rl`Q=OYil}GpJx@`C*4<(Oi7VQS*>lvl4fA^eH8M_cyl2GvqU_!wYgzi>#J5@ z-ewi0oRbxUf&@L1CB|Uh*?m}6;a|7*t~ca~e8HNUU)4Yuk(bDZ$xMj|_QL*w9PkNr ziNSlcZy1cUSJ-c)G&mDI3(L_5^qs?}dp`LO|9T%|(Fe?)SI=qJ>&oy-$qzKN68FA0 z)^==D{j;;lJQo`z?^PmEp9_m@tk8DhGp;0%_#V#?RvDjV_%OyIfBrcM?|||MBievA zflt1E>Lk5Sk*HGg;w}3QZjR7bpSig6GNQfL6K#53`b!=X-{1FKpMu8gPPizWx0~=G zaX%?_mjn6>c++Hiw2?gbgiEx6GK>10S+W#)l8IT(? zOzLV%tf{`t8uYolvn(YtWWz)6T60^cWOuFIzVfy$%}rWGWtE*c`>^hJ`Gh+2AY6P$ zfy~d(`zNy6J(X{L@z)Mf6m6}|9m7|Mx zc~$J?aJ?XgEzZFx-tJKe%fTpFWiG_ag60 z_X};^ni{Y_e(NK)w9zQ*ddJ>+<+`n|@QwvSol+kAo3_5YVAW*}R#jT>umK}|76t+| z$t%Xr{ss+*1{H6W(wMistyQNBa|M2gsQw|`DC+}Sb$JLyJV_l05O6N6GeS}fX7w5E z>5t@as2@nFPJ!nzQjZEn-@t2G{Un}8=!t$is??)S`X=KWr6h!sKqJLxd{6ZUKV&cp z9;jx`bfaS_=pMl{Qbf@sSkWmf&iK57EPq@p^SO%!dv~4t3y{PhLAr_*Nhja zpMu<{c=Tr~8%CtpnzciUKFsh@zwteIkg#)XVx?YQ(e3w@`Z_DEp|;e_A2+XW7-) z*IRdYw<`=13I)$(bad3ecXoDKF<~vjSHO-NgvSB!%z4lN%)ruD2!Y_mQ*p0ECMwHj zV+VRz*eDC;S-948p-{*_(BEOby=~Us-e|{V@UmDImo>Oeo`*bzb{P&Idt|`gxzcX$+^Dj<^1@bE zImOnS`@fZF2j1XBT=onV(grVy`G?Y?^0@Syeh216gQDWYIBKMd)g@S143~9%j@rTQ zk{cX5TdG^eN;;b>CF%%T$9<>AQBvl9Ca|DWj-IqtNPCr!I`cG-eo&q)8~IZi>U6qi z-}3cleUr<_U&L-`~%$JlJN02R0^LE-jomCEG$d9x9)orIl(=?2MzRJ?sqQbXdi8) zD{kvQie)?sd__epeP_$tFEs0%NJj%4wu)T`q&3w zVxFLy)l2d|Sb2m(-~~^;U2WFXSnr+)$EVyL8S|atZ1lnl;rt{B(yEJnTtf z!`{;JnoqnpHP(4~<{>7h=j_ve?pgcvr=GS?e*6iWon5h!kvX4ppk1uX>M8*#U@NL2 z3^dpMy%@A^nL%JkB7{A5smmEse;}2fCs&Wpww5}pud60_Nc`vyu4<+u@zzu5iP$By<+m9RnjS01jo0br2R6a64lP7FYqx zi|5npYmQ}%2!C+kSP=4*Ruo%zf0MOz)LLUpward!*y8M_tuEqX zhe1$?5A;m*La`$d3hC`uq3XwKbIVojx^O^i4T0&`wi@-tzOAk!ONy+yq0Fz=#xm<{ud_PI zzOmUQ8=25plxH%j@3J9XzB4_sv9)8vW7EQa$BrNClX16e!#6J4#n-=S7hn5^f3~%E z*vYdG3Qvs@DIb&wQvt|CR(+Lx?E9X3iKBzr!Ol`wlmc1`;ZFw<*5Vm+C(KnKi1}o0 zVOh$9XVulQG6xGEB|wM_0GTfVF;>xV{0faOudMn`dd{O_BCET*(FO-weKpnM0xx!f zz=%c-7Rf=zgdf6(;1*MP4~n=j92pVDsRL0e5E`Phstd+LK()5kim-L|;OXPAhr^Dd zq$~>MP)v6D#;BMQfxs#<1|~VZ37cFgF@dH8a|Xl2000&|IR+;J2snU0nAQLE2~)CD zp8LQb7{DO@KUH`>;HGY3=gyeAkHDl%xc@P@JXWi+u|g*5P0V_4n?87z*PAX#v;(|x zhEHZi`r(7-@%eRm_H`}g*3#Bu8{2i(T(=>b#(=&z-A|E>&s5s0@3h$Z7U6`1M|ilX zKyOcQg+K{mQI3VxBK~Qt@;63uqzGqVZLn`ba0#QpM=8-hC4?Ty2cTP#nIKIe18AM$ z%ySPXI?X}}M0KiFii1Sn=$n{(L*ej?`dC;3?6d{lsWbQjL5`4#IuQ=k;rRmVBW*?= zc;+ZB)Wb8%xPd}{Dxb&Uy$rY{fs~)4iGB|p9hdBnd*H!mf+6UiuaiU_eUxy53Oq|Z3^xZZ*)v@z_FUb5 zA6)2%7$Zpu1&*14k?Sw+MV)vc;6r#QPACpqL2K$wa0V{G5O?_wyiq6ZguqWYQMbdF zm2=AIcLx2D?y#rrz;*?Dm1I_5 zXM>$S)#)n$*SA?gT4Zgljn*xrzoWHTGQHAPCHsg%@wV6QjusgN+jimVh(CMaWWRN{ zH`}&kMEC|Yg({L9g;87lU zC#@|_PF%bbE|1m91>$8;>~=@7;3l!h0>uJRP$GCR?2_jbmj^{e8>-BKpPgT{F?NMd z&ANbp?6G6^@FN4(-=Dp>Nc@Qc*_RiBC&J}NZ4`JPklcx1aB-747nBWyk4b8l)^gFI zz=9_wFg)zGvbye_h9ddVANY`+edsZ}IJRjQ@2=VHnN6Ep+qKtjN#SiE=nzh7SM5;O zy@`8tI>`qD!qL5zxL~3LBQ)inGp%l5wejf!L-%}$(2oAdK|Q(heoueYsk-7`J~>n0 z(Y6Iu1K~Ij6bT*(*Wm#I0mUge?$ZY(>UX8+!i|BN@2@mygN7lX zQ$ILN;(ITz`ymv9ehxqPREA3ZURDnS2->;8(B*h~d4wJL@kgxVU0U&bGYegRxek2=6Ggp0=o++!5)1PN-gq6ozz2HB*%yHelK{9|6)!uj^K}c zv=K__eu?tVt4c0lqoRUTfCs!#fQMg#C(+g+gchQ?zW6=I)7uaJjq#aq58CNQ?p|Sk z@rhFOJs{A{X%Mt=VD6K=O|=m`5PaqBINZ_ily!Ks=UygjKc%2qzE2`AaK`V#i#jTPvt)<%ae``(hm z#ELFnnNak~SAOG=kP{mZ@kW923Q<4hzN^l=Wp!4tuD#~h{DbjNWD&?7Muc;=?P-M?O@sK=|WA2`zP-Z!2Ot|8O z@%@j#{vEr1Yt+uRSJ*Sh>+M*3wSDQb+09v5G2$_|a&@8H;0>SnCcdi9W}YF@1osn| zlUGC;3czsrPzqtN{40SAQ(80c`%Kial%XyL;pb^&KGbIKVFohSB38<{jLK-Gx0(yZnzcEr`K*w`nV&6_0@T7a& zgm#6`Q=)D9JJBaXMhKasa1^ElbK+xCgo=*tU7^1V`xyAsyGOt?=ob7Qutj(j-imvL zbjY`fFioMUdsB{A^&I};!VqJ*D+dr#&(S2BI)CQ-hI;cbsck*yp1%TF{T9#DLIm}P z(<*SMUp$ZgXq)!<4LtN=9?$&Pr>*cpkK&X1(CgF{^osl&+Z@}(qJVrKkWf&x39VD2 z{nVe-8PAjOPtk|(o}dl1PkfP2u|NR+BqjbOg+ki1UG=xnw%W$ZnA_Mtv`raz&DG_0 zqOaC!t2KtCC^+tYV>dtEc|q0I-o8Ee*janz^ne@rLn9M*>&}!teD;`C$?N#m+t+M- zdcpI9%Oht7?88r;m#5QccP8iTtFK(LvB_C$s;jaOJbKm!y4$1&*wj31H%FO62^#Ui z8C_@2K4?Gs+0R+YU-+?4zl0Fy94TJo$?2qMDiYoV32jBAT!e-2ESP|2WftBDVK9U; ziigvKW93#TBF^q2&#F8gR)bL&r~gtO!A_l*-n*ePW!BZ%=7%XV(a*$wcUOz`_O{r} zEUPGjU@#R76ih@4%h4HA&)oXb-O4g{16Q~(K=BXH}`CKuGrSL#pp1Xm^0c5SYQ+wjCK=4@Y@F&Za9C? zPJb|}3lcS&%JS3i>xz2yhvkF?tnbc*gj-a`-D$pLZ8)yfktND{JNip025goxCQu>2 z2VB5OUEIjQsNXyTSN{zjYTNfZZ0*a!*|(L=YMWiIv+Ex_>1f+M2Gk zSKev1mG!(~qM_p7D{D)vs)k+Noc1i?#nCRR*WcB$L;DV;5?}JT1kFVM>=qx62bbWb zoa4e1H{9?i`-$=dP81kz7AmHd!B}TPj&0A z|L?G6$#D@~a|qG4m(eZ#m+A?4B1iB=lqKc*&NDu4Tu!W;gaa#De8Ac;`iddf75TrA8h!+e zlsGY+203hYb$!dG=HhkHKvkxCTN>-+;ncWnZmg@Z2l#u8oo0w!N2G89jv;cc|4Lt zJOnsOfZucTi>_GkW&n!SUxWSK?p>ff2x;+()8Wwxo0y)piOCro=^rYs@sJvcxes6Q2(8 ze!w5^$ll#4v8|0_+uSG;u~uwicG5=1CS7T<#JRn-MP5{e&CD(NqJUja)twx-+6uD^ zqpP;ECB=9k3#hq#%ndmOzIU$l!t{DDQ)T z96kuMfvUfhU^?>ULlXfL-xITvl7fwa%RtKpYDPQeCn8@gCrxuQsSL}r_tm!;avQ5V z{)We;-3}X_>#*BXZFb>WmtDQxF2!GJ4@rr9H${R~P5%IMN4FTct;SvO9o5Te0UT_| zN-|;Lc!Ed3%m58qCYW+~3SMvlC+<1z1TWS%csm_MSCT6dB|Hi0VIImo0sZm2u+4Pw z+(VS~jniKJrTPo&OnIpzhN|~;z(Fa$pTVyD9-h%3DavMj<3)oy~9&vCoA%>=Oq}X*SKi6Q z%z_Q}blBq$oN%SlF7Ji;mD7XW*4-*NwwA2un}77HhX_*uLRg~^c%L|v>USh;Q6}9| z6hR#GiE@MuN`topa-V!00}oJ6XwPX!OkdK;wO*_~fuCkJ{R2j+49!&kp*XWNSHy?G6Q;x=1YB$g_MQ#l3* z%L8E$QV6Ixq!tPNf(M4++f5ALuqi!W1hcA?%W8r+EI&wHddg_PXKnx9or>LW^tHzq@ zDs60f-4<73?#V;g89a|X&|?psm*S|emfS4!P*-hrrDO&3)!ROKzO=ewm#&Qn?>#$n zyjMotybX`dm>-5J`HfdXpAB}m+H;Scaisv6nI8eiHp%~YZ;aUG>mz>p`Kkt#;x>xApWiTYGzhb#*o6UQ`6EwBz227?+DKqaE-`j6lb2$?DzM z*pqj%Z!5B}XXjU?ycTUj7cLz*-W(mbiqZp{SYks@n=3HdNdqPlpM@7GeUbzL1Sm)` z5E0aZg}S`Hd>*fxDpU@JjRAysBri|FB`&Jwd1CyiEAn|cZ=1mq_wul1b@SElN22aT zM?U?Y>P#t~N1JhcM}(pd)bB-x^}TCro5eP@P-PQyHMX!?YllS*R#Mh%rR9xQR#xeo zTT#@zQX<=%90{@?$IWCgGZ53{Xf!i-&%Habpfe(-do}|J$1D{l9_B8*TD)rqj zXqC|`|2!*CKK%hj2z>YfAw}M-41bhU9?Heg7FzOKL>#>hv_$s<6qpe#|0C>0m@_rpg;kG7H$cgY`Rj?gmQ z*Z1^1QuJx`jmkT|@jTs&KFI1~{BsG`3h9^nni3i1GK9-9EQ@7OS6XXJtzTW8jW*EN zVuSsy*3s4=CBjM28b`W_{P243+Nuhd!)i>zUPh~AD<_f6FRw{C@jidrI+S;|XG?3F z@;2ioeT26N^%K&Xnq9PoTa((9;*ztmBO@Of&+9kVrA%CJ z=qh^SYrlOsbbHjpRm9~8E#Wq?Uj!l$o?;g}8jW=7c)t`6akFKgE5R~bR|ABv;c6)fl9%wJJ zTeCa%i@)#}?K`iI*`+IY1>c6}PZmu|SZ^>dlkK4>@}Vsf`MH?H4u;CCj?8l@OkO|M z9?Yjd+}(VcIB=2}HhVD$kHuR9^KBt4s5=BiSak?KJdSwl9`BvtFv57A7@hUtJMV)z==%bkU29G~Wn}w6qd_vo> zsKa6{dWyx5Cv1`MLl8=kVqI+awiEwgdC}=AzT|-bDXI`GP*k_|f~$+r)t6 z9(dq+1nwm21`lw9e!O!(?uRExzo(S&;2!1OLoMi|9Bq`(>(pQ12_5qFfQQe26wred zeG4pwbq2pgoq=Zxh0-=K71qz#PB29{533wFqbQ?f8=*DfkduL2a@X%(~ zwrxR1;ImBXpBeBvOMdnzf9NHIzfbN+tBp_1==Py&JNAdL>G0Obn1`;IN9pbE5TOoi zX=T;pcDPeM;a*eiN2c)REtC?T1m2GCoRpR$M24ckHG&Z7SPQ|bjwp7oXic6C$WcFx zOL^Zlspohs)a9EerCeAU#wWYxAAR_QG2!{ou zBK#w-1SbmwHgv7YUDNN9nihYxg_l%^*MSluxq<*UeTR{f%kME& zXCM@jAiJj?F8$|q09!C~cnP6&vV8i4d1Fu(Ja?p^CwVEaAJhjRlmY>srw~H+obLe> zKQlO#p8-a_`3s9UTzj6U6oOObWw!Iy#?6gg+g{(doy|CSa7!0njH9NusEc~QBR?Ry z7cix^0=9g}hZL>StI+TM&x1B4`kv8CSL7?i1&=t|2z>L&=_!0z>dGn~t`LsFmrg{% znfi#jNInU#HpvrhmEohm_u(U4Xb*Z)Php}w zrQ!RXUEZG|V=Tjm{LvO5@IAv{S03hoHxE@I9{K|~;G;f`|I|J_fx!lRo}r*WQrr6C z^^w3SS^x&dz1q+{>LWk*{P#WeAe^a-@#VESv6Rcp&=-MEKpwwy{D05A)TdFN@Kl~R zoaWHN%Vo6jdNY~ezbUUT*>mb}_%fN~bvSNe7;t~L{$Ic#; zvTBh`X8*~ab+k12L^E@Bn=oIztlg9vb7SEY?OQUs5q zucylqoLg9SCE~|m=wbt6b7O-eho^zS=R%2~pg5j{$!&k%iRx$WB$z+uRtS}?tgX4m z^8qDTk`k&Hp_pIc>@GYMHqW5cIy;)}{Mi9Jcc#zE<*~f{?TcP79T%M)iPu9CM%&sB zp};_bVX+ACVxqHIkwomCN!m&)RvXQ7>)1FsKPQ30TlEBMFm6~b=}O7rR=Y5W-xmlG zONQBCs=Oj$z&WE9)RU{rnK5WncokYgAuNwRPvr}rMH@j=1`Tux!Ia8G>=#-vXcBJZ z15OuGS>8lb>Wl#xDR7cCEJoXs64~02aUqLkcPn1zw3{iBXglg6`M`I$Xe)$7t}XpZ zH018_Npd>z=jEd9T%D?4HmJTMSebhY%aAf@;HJD@r~ZOA`9363mb@Dr*0-}EzS{sq zZ!2Ae^>BGT&`y8x{3t%$CnS>khG&im<>Fh`cEFgPLuWh*+6R}^|Bg#RKa-zKslN*o z^9jJl&h0JXf*0$!^Ox}?Jxf{dBkv0dfA8-1_kjwz5>EG=FVtjGwkZLlD-wNrf2yt2 zAE_TB=~Hz^yFn}O1Nc;bDZkH)sI8zwz8?PklX**h0vB|Gx1C0`Prcq8V>IAqtR`CJ zanY69%=$B>C=+>Z>crbaokC{HA(K2 z${0tk-WZ*f$8g6+C+B=Vf+f1m4Yk%LWx%^aDyyobbYcZnPkXa3*IioMu&Ft=H5}TR z!ESr*(K9}|PJQ!|XUsb{stgL?_V|qFd-%+tb+$FyyEpIJyF+)q9WE5etYkg&Eaepy zc6_i`eP3!biz_y$wwR)L{oPwu^z}dZl|#Zsyr>E<yrSxSuOf|s!irIdeN&zJR__nn|%@M6ZL=~#x# zTNq&wI<>8($=xb`;|bjzo3ysprYzjn=3WE&d}Wvv8VZQI2zT-R6P6?szx$v6*Z)iK z#6faQ#M8kr#ok_Y?CQpxe!=u&8@1(s$`f-e<@TA+ecT$ z6hu7;bKun7EF_ve%b}^h(I0(7?Lp5_+$j_nbjXLK(g_A6Ur{BP0nPh3t3Qut(2JCw z({EnJTZ~j#C;KM25QvmPITZF=B+3TgBpx777#8AE-AjtV`8EfK?x;>^=Yl<>cM_7+ zk-}-v9=;&?O0t)tue6vjfnTCgekmsI{58=>WS79Bxn0!xt zO9-FywC2}$ZF~PvFyNgZ%81^#b;-yFPWIWur~9q0rb_JwZseJoU-Eq>qZ4y3Gb+nU zADe*a=Vk z4F;Z|m6dhX zMaR;$A&fZ`5O0Au^vTX}Wer!--j6@DsSQM|=bwg3f-=;SAaUA40$toA5*^99iKf z8U%cqcjf{m+6sDP@cEU8BU0c(KDX|bz$4L#fm-CAVJM4)jzjG@@thC-OAqsHQ>Rln z!zbVj0h$D|9~qP>E@~*GciiKmJ#Q%Jm%*Lzi29*zD4RSi6bo1qUg=)o8~G9+>1MQ* z75DlxSR5bqdB7AIQr&sn;I%|MJo1gG)XM>jO?4<+NZhoT+o!Mp{~0b?d)X zf|-R$@HukQYt|<+mPJe$2F2>%GR_37t+E!$)JAz3H8S=qB?J9XMH%x|)$&&KS+6`y zpd%+YBnJZ?UepEO$L{yV)peVgp7&#~ibT(<@)E1@!yhYru~bh-oKwi;J(KuC*eXSu za?ur;U-bH){Py8{*KXNyX~6cjm>_5QE1tl`_pZC5`2H84b>bo9*U%AeUQ{oiiK6xs56DT3}mY}E}ID10MB?jBI8^apR`}W|ulimht zcy!Fmb_yBha6lHKLk-}4=z)_`grQw;4&Su}b;hF)pUEk+zxm(&bGv+H#J!oYegsQp z7IHcy%oZ>10xtIilm{h-1>{R^GsY-Pg*%YH+hjZSAN4r$6XW421b%7oyT_tG>SHpU z=Y^B)B-&&*y&oH$JeDloJNe56I|oecT*u2{lKSWbehv@84IN^VIbe>wSh`0i#+`Ql zoH?naINzU`JWiG)79ei>Lf8h^BzZdd-*owKGrUu_txpcK!4!{g>_9Iq`rZ! zz=S2cv$J6vJ1cq`!if}c#zB&)&5E*WuZQyFg|O)IB#z=qan$Kdk)U<_8d+T z7aFQ{=et6I2z~(*um|lZSI9Te9)k#e1D>@_-t`i1B+b!Fc#;a+ByXZ^9Pgf|eM;a4 z%z2LlPa?{YP#Dm`Lsl6N02}!!M_XxUdrC)f|L&9R;FS3L{j>{1Ch*v?Z7F{Y0P5p@ zdVX)Bew0DL9Nt{v*iPjN@l3GZi+c`F`i1fDybwyA_v#S-ahS7v)YI2dW&K?hlA*;` zS6^rCT^-ia((E#GV{6N9j!f8%kx6^*@pFFe6|1X|uP71bJWwR0$*~Drn45R}TiRN! zL-laf6OI67m}f3bw9giYv8j3c53gLdk%`&tiP?$Xc4HSjOL^~%Pg`$emDOi&QY6(k zG+29QyWnh+x6XTuu35R{>;oryY;9@57U!~E^56LP|K^a5g*&q10T_V|Ab17r13`P8 z7?4XNjfPip;nFqTEAkap2yVQH)|N(J$;I+v&fubNPy%=`3?)tt<~t!T6boKWcW0Z= zwJ>+WyhuvCsgU-2dpeOO>YxMPXTm$yIhJKx`63wiMy7a!iz$S26e;3|n6lbM6YK-8C2biK&Buu(I$Z zLWse9Tnq?07iRS&vFRv>7URG!158A7cawKc*{dGoL%tt_@uv}emX6+z!+*(&#UO)LA|BQzEey<`y z(IGgz|Fd=q6*pnXu=Ij{(KkUClJ|%1(>K7+Z&&P@r3}1I3tfSG)W;9ti#noy5J7-N zD)M>12xp475XOQXuh?Nx9XumJBibd=rdOoIJ$_Or_XD<2VB{$*1HRBKe?QMNo^+4D zs0TwT>lghce&fE=A*+Mm@L2Fdz!bE|!*`^N{%F^^KzV{MQHFa5? z6DJ3KuN-p}%*9^2eb*Jq6AzxWb0>O*Q-r0EvB<&M**P1#I~ivps?Db6CTneP@kK|A z3yZcQ+2>n^C76t7VO0Et#4 z@j`i4R*{Er6-S;hH-eH$=hGw1lNM#e3~P<`)rkc$SgMQC0Wmxn!d0QT_PtzLS&1XT z+GMn=?`=_8>O;A4gaU&PH;y?QloRlhkF#a)mT=*g1RLHCunzRK+4*yQcJg?Kb#yeS z%__Nlgs~)K1se>2kia5wW`|Ph4Vc6?9;*Fp$T-~OcP7>!0)U6<9^WHR2r!s52?-a- zeg(6|V95`d$d?T+&y`Qnc3h;WR{{@f(61!W)VA`b=fFe>hsVqDn|c^95}Mrezx-hG zl)-0*tWDMB;Tq2wDRM_D#53>+dL?>#@;0fLb}63;ZDAC&38mq% z>z-%weEP*bU4cvd2{LbsBj7L-SGtU$3g~{>s`~J<_ zAU}eyux|qH5KLYl21L5=U`E^E7X780P7|(p;`fw~x*c966dDEx_`uNA<#lIeDHj)s z-_S6%3ocP-${%HTuGR{0P5FbSfv3~NpGDq)kKft7?2jAp8+la9%Rz$}570zyDo^lH z2z}?T498S=9>%~g@QF6^uyI@WQ=TkaAwGN$-g4;uI*Jc<1#P14lrIwS20zlb$s3M{ z2G)OFZKX9x&UAM+*>Ne7!TuI&ZmzWw8S2H7tr+3d8|4CS2UY(Ow#NfO=6Uo-LYzc+ zo_T2Gr7wP}t#P?aBxP%JOGfmvWZsJM@G9IjTUcDNnfYa#nqBfq^Mw^D0o8{SP*+`P zwUttS!gozFvP@01Hr2XfYiVth=1g<* zi!;J`-6ty>s@tuyykOV7lE1$>6TZm}zc+LRqcF%(PADlD5n+b)6c$Xl{0N0)ZKaf+ zBOnr!=0X%%-6Yz~GchY<-d|@tkC4y3iTZ(y^6sV!zQWMf{Zj0Q3EW8xI6_|xDi?6y zrA@3jo`V|+I$(K6=&OJ>f+gXRQem4B^2xj3DTVMRgck+@^rC(0Ti=q`y$h~+8k68b zj)?*0l)|V;FvWAWJqNCQ2}UujC3>e<}2nQm(%?dq zeI(pZ=_u~-O`=`mn=D)=7{R%)&K&<|a8O5KXv>YjY)pN(1P=i-{24r!$318hvdinD z9sQ*;w9hBBgQhIZ;aQ?L`8kK`)1P?A9(%Aq40Op%HfW<5e6CkY29My*_>5h>b=OYx zciGt!eS&}2-n%(w7jN9L6yLR;*J^p{&@!WpEm-niwNIK3CEpGE)* z(j#zFsEWyL$}>-a7l7wMqNAA$;giJjVU9r|l(Z<#iL0cCP6Pk~c|P%8*rJbSCp5*R zJooUB(6mg?6U(1EW5UhscvnP>U(x&ch_#p~g#8x3Ah;1sarVaz{|+P$oQkKg_+%ge7EE`C3h zP~a1F(ykwQ?t6!H?J|iTA-`B45V+Hh5Z3o-BMGAfXFOM*pxE^+ZDRGl)D`p%q2_Jt znU_-C2uR99r$o>AMbUz?+|S{Y<@4WJf2&RK^N^f}<+g-ZEJUH6gbP=+6m@tTf+zSV zyB81iPi?E8!Nbb}1$pkFP1K*!iK6`Zy`VL;i+%~3g~E$aQB$TX8%85CWDE7)+Y)P zg$@0=PdMDiCv^34hmvXKcJf$k$F6u|%b9rP1DCkp~ z*MHo@!yp30slbc{j#cURJt2~p-VZX|^qglH=v-;BLJlAQ&A4WYK$K^48tWf#1Vr!# zeEvZRjl`UXud0%QiPxrzxz!jUFT90%xjqPP?xTo6DkTuZ@}HSo@aHY6$5&=C|Dt=m z_ZQ8`?+95%S=_$n#(F7|I4p8mN{3~}gsfQg1w1G*j#A+{!X7VaZDW z0ADR8jPa6~gojYgtcch@w6?Z-`@Ro9Xg~1r$L+-ro>$AfJ7vQ!tZBTEn#yKx1EItf zv2`q6luVjb&EUp@k+td!lL^ya!QH&VI}74grVP&*1@-c9ex-Q{sN2H#O$)bz!34`Yf!IdngbNA7mFdedkJ%#|~Ta zo@g^0bb=diBhj7|{Uv-o1e5wBELlE-4o4~B@cUtiG3cOkVgER0CiA z@PT%DzMu}2$okfbznKs|P+=T#30HA z9+|Qhe(@cp9Uep|teBK$<0IBP0vMQm?4bNKZm6daci;u45X_;FsY5sQ55A?(qK|{# zQ6|CZJR-S)3Gztk@In0FyTw;d@3HZnf; zzzJ7QUPf?IFK2EEeXj$!k>B9MGn5ow4Q(O2aR7?`<^TS74>=l`eIE_=5k|tgrw}i& zA~Th<`pD$@?CJY78dmihHxt2qD5X~MMyE8uN$^~TvjA%s^!{pSQGc~Koz=h9K zCk7p15?Y`66Xt7Tfj~(dNSSpqduCX@_1atS`ZD4=Da3#FFTQMZ^Q^%S1|}a?U<_~= zG89-vY5rIi!bHH~J&+}yr2!BMCt($N6;`Z;NJv$_tgnJ~4Q|U*fpsXa!onB#`mzPyJACcfg;D81xL8lly5e)zi z?>jvsf6zF1-S?3o>=}RRZ-5J&V{Zy6Xo5V6=aKLX9nf%^mh1pT*xaZHJK9)m@h2}9LNY0wCo4KIY{zche1fRM*aLAw&_ zf|+8Vu=En9iOzt4K+IeSN`|eK~%kt-{o z{Y8rJ49Cco)lraK80bo$-j27Wqz}KZuL-WWt-q`cO4aY_d$g9d1zft^%g_~Nshf79 ze)6gXzwggA!1#+4@OX_GzNFl9uQ#4-wwa?I3@V<&%p!12tOquUzq<0%tun; z{iAJ?0v6Sg^-bK1`-KU*f@ky{chd8??>C(Wz$9bD=?s0MKmF1;i8|spW5>sj*Aewl zKE_R^TvToFe^8HRxS9K{JOOR|!E^8vkG)RMllw1HdY0;OzK-YohJW}ObPgrL_acXf zGQz{heZbY+RO1II9v^JA-mWIe3XUeJkzrls!renas+-B{h51EWSX}aV8?o&6&cwX$ zPWK(-@s zStzx#YU``3wx7+51a9ha$xh&cO3)o697RVPC>%06pYqQQ=XjS1aFCb!7v`62Uf1Nz zg53e1go`flD!TUiA39~HXXf1MXXkl}yOGdhC;)Fr39X0F#VdLH(p6hsUAHqQkGX>2 zDEcP3N+^Qcqho$pBb!-{5BAyI0u+85kXn0ttG`iwE38bIm*kd?TYy-=8k~BT4rMG%F)^!hIqsZSJgj*?UtGbVvIjypKXW6a2sfzAn`D zm->_PJa;*OOx%CgU7&?-#dF8)e@8E zyfY~Asq??ubpFctKWJOHNCTKqBGg4F2EiEbU(dsod20o;n&gghme<4lh4xR-)Q6m!MQv*Fzp`viQN6E93C7urFVPEJnSwQDzhfz!s$ zzKtzy+S2Cx`LpQqw}1bT-Q{k6BdPt8E62D)9DFqKw3a z-}Be5lFP31O(3*=+wiX572uh>5HeIK-sec~h5EF)4GTp5se zQDf`h{@U-@^{Ycphr$G32d#rv36A)k(JAA{gh%29>W;Y>UU8A&WZzME6VL=a5>3+c zLLMgtE{v_94Rtey|KiX6ls)~-6HbTDwmOekU})bR8L}H!-?qK&4VMvae5)*m>GZTb zj%*rWUGm5eWkfhjnBz^54;jXLKqhAw{dKt4M<=bjt;rP$p>_DOx}w5n7gv1mN3E0> zbJ)nOTVvCH?iTWTTgJOd8J_I#vd-2fZ?mbX!RL~}1^FCrvfZ;a$>gQwbfn@Nl!<_ISxXo!O&^r}m7n{umvVClssM|f1mU@dW@Nqs zLXu)N0MF3El@17&IsgzZLdm$Ik;lS4gg4#_b18T#XgV|^?}<8E_{r%9WysN4?~SkgO;R1}XM=5wHtRt7X~fN6P70BwtYf3n7ItA zTFmIeO6`PjQRg@_!`%4+&1XtUQ80(#il^W&CBDPx%#*lsQT}8-`H=I0grHadd0d)7 zbM#MzJio)A!RGMkK3)X0Be@VPc+M4VQZ{?0e6rcRjMuGnf}`3jhMid&;>UJCNW@gQC_yM(=UWu)SU!I`kjXfSo8NtE@<>j_Ky{n z=$=5pVs-%oeDtB?o2RR1@+25Cx{`~8U<|yXZ}imfsfWEC@}+v5F1qKFzYb5(o0O+_ zD0ZF)+}!ih`QQF5@JZHoO5D%Wp^!GTrFt^j#dFX_;D)E*uoMOVr8>&X<8{`I!;gOK z!}b$D^`rL8vrpN%^JnbL*^_?pUY|E!zhDy+Q$8Mp@ARp97~2>Pd;%LsC?#H^{u~dv z49H*={hV*~2TY7J5*SmK{Lne^P~gHnXoq(cGR1iSg`JH9`lY-Kxm4lDjr{yy`f2-- z&;5{{KY!Nx1_rIAz1y1Gx@==(-6qCHB*S-I#vwD1l}=I zVm-RLq%a6;5k7(|NV8HFL~A&B(LIGM?1aGQ9VEb<_SJFT7RSHOEwNZ>*J*fspvU@p zJFHgiA;(khLD4+lBLTloZ@ld@-D(yg#F`mc4QiRLNH#)18u;Ey&`3TjR+4* zjd>+GIP`S3I8H1MDEh`9{hLGfT(H-J$#z^bcC_D>Yt||ahd?F~vO>Vq8B^1k)2w|RYCoqy-plTIlMR$y@;P;?>*r3VfyStjAd+_-hel^HwmQ=Pr4 z3nfB&`_dIZa)reKct@?Wrhq->V|ZCttjA`)Ms)RrGP-ed!v592`V-$ZPb%EgvAIKs zg$sx!%PFW>qcAkj@g$OffO)xa^A4%HS15SdcO)r8>d=sIa5X ze5hn$b=*T2B+3BacT2zpd?Xim2yM}eb}1V|F_d{q+z0*?{vrM4zu#^9yG8b;f4*!> z6B0M7t1wiE=a>4BM4x%cQ-6i^6ej3RyXiS?ro{`SdqZ2~iM&A@tYlh(j+6nW_lNMp zK;fPXU;U9c;dsA9Uhf-yCLZK>dd~+!zr2iNV!}fxOh5OR{=9wi&wamy?Kue>HVCJ4 z_n5zojmnI>!nXhBfB8S!AO8NAJs<4=Cmu4q<}2((SK8!g8WOzo9}8`T(ukDm4E_%u z*xirt7s(H2E$GXXdV9O=XMW))-K*;E?)Em)JZ&Y0b9NL{k|U()@nL)In}2AFGk0As zA?%rCM{XbwF;v$jvoK^aP+8&&Dac2Z1EGx!!)qWB?Lpq%o30Iy+bi!3xtD_Qe({NO zek45d4uih7M)0ZJj$9z-sHuan*5b;V@B3r^g=qysap1)>6bj{h9$PSBh?lDz3!!Q; ztko{>BViR6G7~Omu0_=p&g}6K$1BW zev2(dl+d~m3E>Y>*vGLVR|t2AWy6HF+?`WCyadWKAAyyRwxl!Iuya?Q2>E>_fB@y- zM8a027>o?ilHB|T2_}UgJP(V2Hy-k?g?P@3ujniYx469Qgu|P0FGKhM3yRMd4G3pe zkFj6?Z4R+;O$mX43v)FPE-VG%tczX!9Ba?6{*x!W?c|9r8y}xjoiS+BazcbOpDtXa zU`Y}CWw^%uP#Rbc8VKCvzP=|xLmgbX-x41FJhOO1NQj=arRU@e0hd{h8bny_ZY^a4 zFcQy0FwnMJ#@=okkU*AiKk655qBZpcd)$|0$iT|lrT!dlSyK)dwfTdAPI#T|Wy3Z6_OP>bKstlqC-P_|I zue17A(M}}VT9s9|jso@4ULS4b=n_So-lWuC(2qU{TuI(GH1M+Ek}m_EF8mAeaa_O& zT*ylwM?dCq%j3iSd+|JaFX)vnZ-6I$Uwz9T&-9nW&lLf%#(d=W%ky~t#b@p8`O|j# z>UMkO*KRyu9va9Lel&Eb;6XK_*Y*Q~0h-s+p$19#;^Ng!mAIe?1L4j~?%A4_qO zqvYfKE0zM!Ew0+UjM~+8HX_I7L1YdI1u{0ZAOl`9r?1mm8|x$|2~l%uIS~mA_LxgX zNpSi(GR*gch;d{5V@NW#VpSP*j%^eeMsc5%Xuqp_?5KCSt9!hEggG1%o=h?lOMdW^ zAASip$TuTOn<9A8aJ==97rZmM&B`VYavU3<_M_Ypv{>)E(p2QfqhO;T6YA`2XNfNw z76pUiKwF{_neXWAY?ZdFaZiMabmmT8dE=rp#hDWWPBaL^Z{h46z@$9{xFdxF;R$J> zz)%EuK6p|nKn{TVBBz6xhCZyF`+*_ zGw%wD&cSO#(b2gafzLaXKl~*dq@gx3B)mMZuFvA+?(ZuM0(4=}B0oN!Abo z2;>lkSwa8qzf}hoR|uh4zDVM?=g9^KmX2HL40Qdu1?!YkXH(t>AHq7kAoosm2ik<- zLji;ppKCiSA09;vVBjSc&Rx(h&uP~OJeH$dzJf8si;MChlmd3>5c#6cL>ul=4o_%( zYstffX_D42FB^lAL|tK_hT`Nt21>M-hdIH^J@SEjVS3~fX8jKy+SJWMDU-N|BI!9> zVS^7<*!*qIR@Q@t|!%{jMY`u_CLJz z-`dao{7>2APd?%yAkL*j!O$L&hq*Zk#q64$owb>nncQ!_cSsIA@$@71p^rQ-p}S$X zZ{D#jS@4kpFFxV5pa)|i(VJ)REL<+duRO^+Y26nTu`jnMwSE0Fp5dB-E+!e_z_`BGL@Zyh}+t);!srY7&&{Opw1 zk7du?2GNb^uLv6*tq7CkRG@{h#i zaGG#cS9sYN9I+RIfk8?Fiq2x-6UK6(V+aCwLcq(toQb;>jxY>i6CV8%YHcm%p}c+Z*8#Q73g%oRwUU|G9EI`<$%LTFUO(J73hGo}(qf zjDXA932#(wgQKS)Y&?%ml)1iiSQ-3zzI7h(cEeC1@!gepK|4GP1r!1~{-NySIc=rH zX2BHtBQ)m?V5q`ayr$Du=YkQW-z=Ej=jz*dC2zx;*Yv^T%~HCL`dPqT%MU0dE_ zpAhiiQL*)5!v#Bu_kav^wfNzU%t0VSQJToby}bkXYJiDw8N1u51LGYJBdv;M{Npj; zskkSk@5m)4+le^gaTJEokgKG&=7`$hi6FO;>A+3s3yzqZnGNqT8(&+(VR=ik>9e2y z{+F=uQ6dQCR$2cv$^~G=k`bb4Q1}+c1W4~#H3H#0E{c|uCgjKz>Z2}%bA+N8+)*Cw zO=tK-c}2WM5eS^ftULmG`{Sm(g|zdHz!VWbu;_X3CJ=7c7oKRz{zqjOUBG@_2YVdg^)k({q29 zgoGHCpv>3_4Q*3iFQ>1A~%!Bf1Y;3fKh6WD@!S@JY z#uD=i@DuGVEG+nU@*$`Rg^`zcX0*tFY~^%s8E3OI^FHR7IA(<>V;g#)9Figl+(Zxk zx$?-AEqL(T@mB_vqOXip`JUb`;nQcGT^%0E`tV0yv}4By)D8#7a`MH38>A?QrY1I1 zb6{aC7~&J$zzG~sj^JM-!T$U*R_l*d+6D_Kz2U=w%m*t|TKvU27{Vs2|q7XIc= z$T8p~qJW%X?xaETiVcd)eRQ@rONLcAt&ufEjMz>=@ z%2)pFA>pVr*-oW2O5;qt=&Kk-UV*e4&n~`u%?ZkRRs2rr#?4_}qxQlF9``UAX?k|f z-K>+x`n^19VR6}oJ-f*hgMD3A2nevVougW4n|TZf1;NP2>IWv<6M`%yCLf7Op%iYz zy8&({+fg7S7?F;kJ~|_qqr_nu9h-Co#nJYK_!$Sr356{f&rC##da6k&N$|K^S?sof24qcG*@l;KW-5B$x94pYFK z%K09e45sgvQk@_9nI?PYhcwU|O6#eYF{7RWk z4Pm70+Nb}E7CZ51jeYqa@5vHW-eU_k^In5Bx7XSy{%WmVd-=dFepz0~QhuQUp%ej? z(H7W)HV8WIVJRc95sP>zcpjVEtJ&Zs?01xo_a^teM0;PHQGomRqKykQdX`>nk_7O&7Y<1*z-Ww6Mv zUAyL=D3Y$OE*I3~Pko&7a^V@gbK#Qx|Nj0zv&$E*I_(M?FljlRUhlJc>Wfu8Z#l@0bU_jou(3k9@PBtYXyErC=aMjf8 zqRq}P`4U{h^C%BwE%my=D|ttq7|97HWEO@y@(`uL&iAIqI(ab_Zp^cyYjJta+u?)| zXoyF{hD+oyP61mpxQ{Hwqd~#YZplx4_LDC)sxkyA!j(CJG_exigcvPDlnZS}xQPmw zJ3weNvCSL;uG6uBUe6D(zH&brmRmZo2-w^&#TU0o(BS=fWQUqOc)F+1z`#Omz ztpOMe6(tdDVST1LCFpc7=n}BeW^So2w2Br~Ix{v9I@FWFN8+9fC_tkwwV6UQOTq8L(Ghi8SKDIpI~4$14s>gSU@g%|ZPt`O{7+gnmNor38Z zc@Hnd{Dh2N61i>eHXJ#~(dyRV5qt!i&$@sk7%?;T0wGXtzCBf)PvU8+HM-(NoxY+ggNFpH-~sHEL4cDF#lk(j92nSL zc;!#H;A!CLzyNd@c+)OzaTq0gVXCU-s;jd|%*hb)0-w>l6Y{tg92XMAqz+&~dH7x$ zX>2^Gp6+IQ@`+RS?6ars^qFqCxltc*Fc?^d$iI+We-I6!rp)BR+u@4$ApM*cckiJqIzFtHpr;;WEHaZLO7I#u9o=Ef+Gl4x zdrFXBgsYgSXL6jYMly_Jp4iWVcaat}QKu@9lGt>QgOrpAZ9*&P7^}cI05#q(1GnnA6aBY6$)~H(u-R$X5#Uxf)IRgoJ!du*b`|?%y0N7Kq zzP=^U4jmYFL;?V-x8ixV4fglAM?vBlS{6e1ppoL5o+nNja~U12&AvnS&3E3_u#%-9 zrUogL#6#y#y7kXWGLChL@Y9~R!5jy>@kt;YljnQxDd63pm>?8wvuuxNC=(8%M3znLHYG90apB#1bb%3@;c(Z1ISB-4d~fm)hW>bt0AWzY-V`jju>OGU z-hCu6Q-nh9Q)h8_kE9e%C=8dSqf-duVBHdrrv22WACV#>VM9uT|Ij}F zd%tDB_>2F!HA=?(?yvu{z5MMPCOb~_%!jrx93Fn;0sG7UkDs+CpL)!8wm0qff8(Fo zdlz2wXTR{*|2zB8$A3ujfmKSO1mJDjBTPrQ4q0^i^l1-O6{dUfNuezg9t@#6%7RbA z18;=ijDNf~LV)B0e{Wy;$0sIiba=?FT==G~E=+`+lmUudCA2jf{0r*A%b{nx+9lJWiR%J3lkeKx z;)=C2a_V}$%S;SvCiRnCAeH>$&wlPDmimU(9&3>WrTt{Fd zFnLX6>;VCxT?q=gd-~2Nljpo#3Zcu&D}ePC1)1>00!uET$MYCi`i(ZmUB=U4b0l@4 z1n4Z>FP8VNuE@Pq+gSeImS8}5Lj(|xaMzA36L~Odi)XAt14eN133uVcC-tUDc9aK8 zlpz$)P^@@H{H9%B)+~I8XHt$%=NX*>9LdA+KivZtgbIof7zm9KegodM)h+AjXw<-J zx5cH{n?f0w24XSbp%K4PGB69YLI`lt2EQY`6P`}8f+-i)tCH#>pLakmF_6NO@aD35 zX+D*wNQQ~GEhq$22n@a_VHWLsO<6vKS*-8plZ*V`ka9(Rj;Q}mut%M7pE{#;m2>#; z076iD8yPJUp0&-zcH%J&BK5`2hVrOb;Gr_=Cu$-!_Y_&ji6X0M%?79Pl}WkD_EUeF zgjIz#)JS>PO6l$#iXV2Zv|Ng5@6aZ0u`vrpUSw6}RkppLK{qZsR_$43$DTEvD6zWM zN`C|A#Ek>HdwI{suga*{DD02uub>B4&<$Krn5myhsc*9!x$p5j@Bv3IvQXA(?R8{y zRDYqo-8<1=wFJ!vUwq!4e&$Jg;K6hD;)kBM{=q&UZ}2Y(;ZAv?3uywKDY+>dzcXUDuU}Ss`_|soZ|5F<%39jH zysZQqS5lt90!-iw%;1Md!FTe<7$-!&n+sR*oqI`%5bh#T2RNk9L`Ub%%u89$lqhW@ zhnid4tfRYM^{k3kGcxXZr9~Kh$XWW=H;B`%d>3s{JjfBD;h{0)F8NU`+$6e^!evYW zaQZLBORH!O>B1L}h4Zt}isXk$AWU+l@JbNcJR^LCW(I*fY9E5IJeZUOH!r6mbOk}tp6oYa zzYFs*)W<3^lpJ-!*whOigrxWcQO=}6si1HOwLu{AdU#BqFc~2`F6zf?;fyd83NTO? z`B6enY{9_=^D?+;GZYa=+}AqO03)XYpy7`lYqQ6nIB6ev`i#B#=1nn?ECU3C{t!Gd zaVS9~iz_^l1Ks1yoe&HN4)S@d*zFMI(7h0#A-Hlvmw=exN1y~lP>0{+)2}E)c{~h4 zR0t-o2ZAZ3@PS*+`h(WgNx~2y@oY=hHDNlw1DEFm=B&Paiu=Im7IZf{?tx zl)Q^Po(I-@rouk`*II37(`;r`0(BQb0Zl^iCiu_1P;8HUtVkBC;4hK_lGjnRrva*~ zS_+`CPDW9=`hLFLR%Z`wPP}qhBL0vkx4pM&TN})$RN3qev!#)JD?cc<`ZHTr|KOH& zoouq&`cP)y_|7ed^Pnuw%yuU5O-t2S2mC6`@LEWl|D? zseKd%LKEeHw}D_}e+9x69>?2Ab0GXiC{M`x<~f3t-{c<~8*@2;2hh{glUqtlIfOLz zUU~1byqPQZ<{Pit)psx2!L~e>>LPhUo%UD%tG{kP`}rDb;f)OmaG(GS?Evya(37cbdsufJh) z3nAO^C^&jvT`d`!&E4o9ujs(jz$-z>`*A9|wp`4K6clnZf*t-X8g zmY;yj`$;%11R?wKD{p&cSkVuiJMBBYW4A8&{eHx~5gsm(^_#qW4@IHA@H&D{&WtJvJj(6&QlboPLI4+l z%8HO8Toms?K^b8AvZo`29KQpmNLXlu&!S zlHuj~^Gb;JlVYo=DYB;SVte3)8tXn;p#f85H{aZ{3t!o=r+={8dd^Bn%9%PSUN`lE zZLP~&xOQMSUOBLu#sjOWEwP=sTI)PkWL;AMy@T|*tIR&SP>?NveqZ-Y<;HI=U{ryNs)a* z-h9!D%};FG^{-b+VPOc!`0*oBB3uZb;GF0H?m_SH%Dj(7=h$c(;{&A={T!Z%^Phfq zw%6N(=esqIE8Igrb?T(m%g`ge@X^o6l0W5nse`dPG&JNwk?#ohw89FZ3(pg}p>6m! zt-wN{B9OUHUcQr$JP2ZV9XW$y0tb`|!j!TIT~>aPkFt!NRL}VMn2n6ww%`1Xf30$6 zpZ&~_*zna0cIDEW*3{f)8%32ixg4+l9_a10=bwAtZoT)mU3m3RZFg(k&OY>{J^8^; zSWR7%!%(=wDk%|Qhc8ipC^Pb*01M#&7w#oRM1DeWDByr|+?5OTK#}ka+@V*Z8~MN+ z+H$d{2D$s%x4&+)lXpa$D&ab8(^GMJFkvc`2k>BM0}BE@MO#?0+E7>R%YV7gWIBB0 za?GPIthSQ3%>KI0ZYv%*Zk1g<8Y?xnUtVd&GZR*J>#A+cO#6G^RnlR_E1?{+j`2o5SB{;U=p8TMyHs3yWX2=fr`!Q7rl z7oTXj00878JciJuJoh*r1@8oAp2WQ*6e+_q?xi}Zi&YNfcgrSIK;Y*gGvULt zs1K_@@PP@zDJdrEjZ-+;Kv`-hj(6Glb8^AY_E~>_n-qDIESfqoBo<|?NI_5__>+dG$9ll>1<(jQSY>Y%(ok4pHa-!a&tWV%S? zE%;9T`bnL%?{#M>zU6;YF6Hw!GdL4Wex*{%v%P+36W8T6Y(|)?_guMkpDwr7-ZE=w zFZESez7nfWd{lu(kpkKgAFqr4mGZ*t#V5t;H+d<0Wl|*S(_JZ!lATK1m@Bn~i6UEF zkYd>{wyGN5vm=ku`9=z0Lzk4!(#)Zh!;a04Z)h-XTXDH~ty~^YDPEo|%GP3Q=`XU5 zlZV#ODG$6({85syND17MvW4EF1%2ZRKhZMi6LgQhCwCYPj7LJfm{m z8l;snXg6*6)(v?cZ`kW^yk@Vw_Noot8geDUDy169iN;2?)xep7p*URD6kLo+aNz~C`IsNsIwH8{CEpI+m`XeN-p+& z93nreYpt}o)rwl$#Qsuprm>}aCYl!2>(XbL=v+l41vw=nAK91if*+tGx&ht<2Bs>C zzWxWla>!nX8g(j#-jhdyaAu!}PYCPTt8ZTR@3=|F`g@$PBwo{tyL94MZ-kka!L&UV^nPK9GrSPIRi%(2O7A1Ek2 zj;{BG1Y$PYCe6+-QFA$zhS*oAS?@K#%r47N6D0eU|r9cS__VOa{FWl$0l|gVBOV z0-Pzdl~U9RPV{lYgSGZS)B7dbuBtDxpZ$BC)^jF!=~w^u9lQ4Gs_pF_+Q)ys-Jbe^ zX8XPWWzn{$4(&u=m34h^-L@;Y?VDc^Jj-R)D9dhob<1jHEuQVHv$?fxf3E~PlB>&0 ztf{)(`kJcjaJSS(#*6IO2iL6Yfh~LEcPnMFZCmT9RhzzEWh;{s8v88mj9B*P{!W!O z4{Y1~^rF4`J0&)Hq15)aWoY=Gl2U)aN`wL<(I@;)xD&>LK2BSVJqfCcvKpt!z3H)s zdv*0#cW1NnB8jt-);G58cfb0owKdnC`GRm17B~VDK7M!l^Y+fPgl;ZQU6jvS0sa|G+A18|u5#QK$T76Y@wFHpKTT z*HTkqUG){#CmHtRKl|6MtN)a@#oiFS4Ll!|813L?@C?t0=Xeq*2jEBveDNMoion&^ z*XPP3C6p`AZr;4<9tjH+$OB#}97Z`VzSGvb7vHd}?|jELR_9bhk>ts;hmugK_4RCD z2)-qO6Gj1ZxAO}ts#k(u#^>BZY;C~MW|0$ND-s?Iytcl5;Bo>l#UmY3CPaA}Kk%GY zKJ=)s{9>$@ORf{f=Y?3?>fe%E*RA5tO)HjyliB3`N>qr&M2t)fYGfZFHH>81E&0Wt z`P@sqMi)ila}xp(uLA)#JUZ@k0PGV%i9i&dGht2Vp{W3v$synSp+>Ooshsc-4U%Vm zana+^6hcXHA135n7+f#Tz+&w)mN_9N1S+tQj}E6^pEHp#X9+Mdyaf@F5EjS*JA@_= z&j~xRxsm!H9KxBrL&JC6Lt(Ch_V8-Z`Vfb~Nq#z-I(!XwCg5QJloRy>FY_zZ12Iuf zBoxfT;)-`F^B;IkFaY;RwB`6n%X1%GP%tQ8>RZq!c%ekt=?gwQr*9~Ge6ZUddH9(1 z_O#l>nzdEz?)3Px9czf_N&N1cQ^!W}1t zwHsa$^->mIpam32guUq7m{-XiX`y`7M@q1|x2x~e%@v9v!IMwaNB&Sq362Qwz(d@3 zII`#554hy><*)+K1J4v*XI zv1z+KGGcoh^M2HMPjA09G)72>L>pWP&V}_+8(aI1WJ8TL)^b{Rsm-ikwW+nswzVfA zSF&df)g7v*UHlwd2DnHFTtYn5J1cAa`sFw5#(NiRRn~aDya;xOFE1_Fr8i%(nW=GG zUYxT_*RK0GVSfcanOZS*r+DL7#qBP$a5F}RVV9EE~>CBi|JhcQQ9=MCk>80EJs4Z&W2 z`kYk`p0phq42N5rF5{3P$Tz}h#ceXkMc=)#J0`@fw6@OohwLvcTG`Z?mCa6C(Z-s* zC3&K1b5{z8h!N|=sRP*tY2ZJyI5+a~TSn|pmWQ0c&93%!P&k@Eb11{dg#e_V9nN?25 z270{R)FDjrbC@Dabf>20d^s{_ae*940|fv+OwOaUzz2BQKzQNORXy8ue8AN`5k2#H z2nj1ZA7H{u5|G{j;6oX_DexoAhxbMN(P7Hr6Cny}#}@JBRkx zmsV}?5zfbw0aH_CTa&W*Mk?)Ko1-`m{R|-lQn~mOL4^|Go*w1WlsuG)m33P?kntkJ za%;H4TB^zYskm{`m91VQ;?jr>;y2)AabL z6w1rCFgxvIW{0DYMBi!|t@O#Nln6(T&~GU%ZtU8S46ZMH`K$H^fAD#G>y@wB8{hnr zU3~o;u9Q*&w}cP4B{)gIN*If979JEdM$sgC@SF=HlRU@+!ghExD5Ju}y~B zL;Kd(zhpz#FWdTB7@7Ab`iaX8D7DGn4fc+(95~5fycgsi@(OPQnTsr~mJwQe;*?dL zf7nW703?bKLdR1f>U1c0ca~RdcXY(|C+{*?NT{p!0&=$iP zkJgW?SA8%X(I8~Chqe%OOibg2V5vg@tY?H8-@7DWIr0N#^0k-W@Ov;AiUG}Z_S7*K zws;sEe zrp+%bx|KkEC=facd{}PGZh2N*(W%g>r&Cs!eh1@mT4o%1&i5(70p8FH?Ts6V$HOrz zv>O5dh7=;g2N-A%yuk-=#l0|HbR+^CtC&?7gyVkex4vVGi`hPuAfczUdPg-oLn6H6 zBw#{Y`7l=O6M>KsjzT!65LhH?h=fAm;vTf1&JcXzBBw+N@bYk3u5>6KS1S5TFol7T zA@3$>)9IlQs7AXKJmsDT7yeM*d{SW-m+VZXMYCs`_AY$C^*AT1Ax< z#B`n2nFfM*;)eQ?@JM}WxpmdaY8M#qPA=Q31`ci1Rm#Fszq5jiu*tgaQ_lNVgKSSQ zHdL0`>GoQy*C#^m^2CZQX<#$=^y!~(wZU`cwj^U`>dvYy&FtFb+wHbGQ|5*jJPF-U z1}R*}uK5(&^0y^=Xfh5{WX}&g&F|RoDep*%;u9Zv!1}rgwG@dLn_XZqAxaUZ}JWzbYvSMPv5 z{o)VW7ysnz_WS?t^Y*cie9X?BJ8MNH2R5|y1=}l`w@*Fw-&jNWfXy#W+dGTDY$fs- z9`E>h>#UE19)aW4Z+^wT`1`+U6L&|grmM&XKU!{;ZF{!9ylvn4?G;b#`ZI z%Vt+Mt-|)CoJ*~)qQtIDt=i10j9&FI{XmEjWzShpy#5vC!uUba&^LH1r`zkSU42`k z`!{A)er?anE351mfBqNj=l{ZA)Ohc3Z-NjTN&^Lu=5hGW5??}JcqD}02=fufOOXl` zBIOBJ;f1h2CM_m_hd=*2zh>Y5##cNlQVl;*Mz5a@=-x_i`LVFcGz1H^p z3s$kQVh6XbS+V5g+WNM}$hvzP_5FQT`QW2gwzg~sH?G*$vOYVzt>U4_ZLgx*c4wx{ zhTgM^#ToGx-f(y%D6*1Y_zRzX31)K5B0yNy>ejH3Vg7^6cqlM|aP=2UflT}kfxOjp~+n2-+9#fOo#5*ciNor-%u|2*8T+3qgv7d+37@R~>rbefYkb3=x==_V6^k z4qea&MNyH#1FU#BC>ZKxA|9a$ZBV?FC#BN?@UB1=fk6E*4EQA4^68Ul8Z4}kpgm%w zMG{mf;f*!UE~=4dSm(+GI#4ePf$$C~JOv2jKlK3~zygfWEQL=(skv98gcVGGP%H#k zgjRqPj{>|R)Dnsz>I`?Ay6{Y*$@o813Z7il=WR#rUJuFXqx$?V-#w`$b@P|I7yVV+ zY*tYt!7dMEeOboBqVV34cU>jeHjCUF+1?aR)d*)P;dKdZhrP&VB)qnF0)A@U)_~j4 zZV$^~t<~4CGLjw4 zW!B$KEMA_o1jD9yfH0N!o8W`4vod^U7bK*`@AVpc7*h>R4c@z3G9C$Maq=v$YCSd3 zZ5=Ia#^pUet2QC8e_?6Kb`G|!wzt&A7OvRj!VM{`)d|7VWP3Zs z>IYe~hwLxGV=A?A)qiv7wvEr+lt3P}ja7MO6_O*ht9DqtV{6MhwluqE<2QC}V^Idc z?v70_t=OUziOT`;I`m(cbqw9<2SQlT*2j!~M}z>Lz=)zh*%@Bqb6tF2)A*TH->iu~ z2m8A+j@FHY)GqhD}Y3+2wcMkOw$y`+M7}HQ{f$ zA;jus#nFjlec1pvd+n{uPN?qAcDHcYOouQ>$a3x!ghVhi*$xsAf&(Buo~FcMU?>m{ zgv7hyo#;%qr-<16+DYk+3-5aP>)EFsb>%{0@*E{Z z=!o*v$&v7Q9&CmLpB1^DZ(g|Knw~il1{L>FD4g$wpvDs*Ka=fApaU~-0)q>2l||Wt zC;6Fd2X+z!jg=Ddvi)R*jZe7c6DlSg^(uU0eS8gEl$u46lgA z04O6o9Oz9yKs#W$eskEvVV!NQE^APDzy2Fvv+Fk|)x)glh%gD=jWCG`+YtDbvs#SWg09W}BvgSH?3^9^?9@oKyI`5jvw4+S;3EE-A>#c+&4utrEk1DE$u zBb=~c+v_TAOZS#!;bH9}tWrX`AdpfBrB>D@ilj#Qh|v>b;TiXtjHkYow%`jXse|=e zJJ=ma^5ns+u&)DePiXWr?k!K&V z4)H%_h|6ESb=Tg0_m*45t^K9;>`%(NKPLJglv?@3M{Htv*)H7v_qMb)X%zr}K!Cs1 z#nyYO(gvEIv(};)?2&WNT2cM94Q>8k_Q$_<$=>_Us@1fu+DBger2W7PzhH9}U$N`A zzHPU@xM?HTx80*ibS2Rz8=^HAiXGl+uMOT`+=ye)D>Uvhmh;5>(eXw|^a~yfeZ$CjcLlX)W{3c^OR6h@WD_0#82DDzW?La+!XuO@KEqH82@-0?6OCZFz!=gKL}wj z6bTCxm`nccU;F3w#;f1Vazw<$Um@=E%%w8Mmt0n~HaEEJTk$zz-aII}uM*Sn0CO#B|A2T9h!b&U{ z9E*UtlL!HEnBs;DQeL|6b0;%%E}VH~B!hx{2x9PQYiqK;-Y(x1NQcoF0w1_|gChCC zlea@6#QBbpAvrG6@`Ujk8ylol*r-*Wg}atKKk-uV#v7vDL{CBtOlqQJaBWdaC{AE+ zYi;rQ85oIoGSCL^7hvTKN5Ig*tn|VIB2e-T6(MTG_I?Dp~L1uU)~8yrKoHTKdebK~U07?hztE0HIJo zr6yAtt{9Z3RRV3WxyHKcD{~<&>L3J$5&>rBRS-}JK?E3|&}EaI{v|tBQn7E{XT>Mg zW*VZfBKmCzuqP_euiYkjfuCW zRBmx)!_J)Ov$KN(R<+w;dsDTxJ6U5zjSE&*BL#HO;<90Vd)+qH#ruaFwp%f7XO2H^ zb@kOYw|&`;cRy~=JoHIK6q ztG|8m9sAC!-}30pvB6_LwwOO*0-cZ*eZkxg7qml>4Br~E3vaw^7heCCUB2+Tl=B^p zy9m$v@_zBijuazf(Ro1f5G;{7C<=ZfGmwYmsjjZ@us7qJMK{RUO3915(bk{bM1<44qdaAt5>BEChTx~ z%jt#TO=1`Q%33VbmQ`VUQbfDTw=3nbEAOSaqEa4BmzA}3_z45$7?dYeKl@U|qs7Gg znS%fU)Wy=ra48)=+%nx~z@ZQj?1dc-KCH)fW`-WB%Ll6PsZ?IPGw!3r@Z1~^<>6D+dK)|s zh9CwH44eiK@l5I^4hyb9GvEv*jDlgs7kz^(?A{kJ=sCDJZPgBLIAJl`>FsT`vuFG5 zp@#>2f}U6^r+{K4;6!7=@I{TiFQ(;3wJq| zWXEO}wq>PDaqFT#@cLCG*PcX=3nqjRljA^(P*Ig`xl+bMCb|zVmMI^C3+2%&ub{EI z%!L>*lw$bM&(1I5fo#bV#u~;-rXG5BzgQMt*^ZS-kqA`VT`RHq+vT=4BgL^Fb0z7b zU#rwsZB2!>x7PXO`PoyQcIrf@b#=A*`#ZQAWdO10rMIh9UI_cDO8s@MC;|2mKr?6v zpTjqVl9!j+T*oaENwYn=^@P^`ETy{y}^6kw<-b?b7nB4c)$E^D-p& zHt9>Vs>VZW>OHWU7I_l2qNA>|^5~ngQhkc{gsq_=f9&0X#x9FQQ=XyZp*_l?rMAqP z)i-teUaE{9g3S7cx{?P%D3iV+Tn0~!j@_|0-+s&9c;hu+>BXKJWQfZ-8G_Ieny{pK zZEe+-78m?ln4htUyTf+l>Lt7S-UVA*mHf$!NX9iZX1vGdK#p8t>;%6%0{Rd6#dxL+ zp>v-KsH(DZT|^-&B*?2;TCMKXX)CF!aYg5fM8e&ws;yYcPL`(Qb|B-bM8Da=ekdGv zh1a(5*&eyA@1wT66sM0D3$J43L7^h^{MdSpS&2o#Bbh7s2s7?2%u67}PWIB)b}Mb~ zw6caqD{E=9aukacPtm{mr+@Dd&!SUS4Y7U@!SZH4fdsN3xg-W-K7rqacQ{`Cz3W51 zB8f?GmWsick3DkE1?zQLH5?~G7>V)-OXfxp^bm}W!F8jPE?v1U;m-R+#LQwIp7X{u z&e(@p`g^;5Zsgj~Z4dWQhWEoqCl%Y|RII`PevUlh)t1Kwdz}eL`z0Jm0q4HzVcsa< zObU^d>iphl6effi%T?i(CJDJdS=W%a{xx}xmsF>^wD#PF)yX62KG|$Fb#XxCAN^PDmWaME*^Z)S{Kvv3 zdBQUMTzT~kTHOmDv8CI?Hv8>w+1~oPH9ho*b$sNbwsZBeZHx|E@wtbsSVEo1L6zj< z_T4)+^Np`t{kikj`1q5yEn|KA`W4$Bx?-!62jJ7u*63amn-C8lc+6iUwt4X_D_UK$ z;^tP{KYmus&by*Qc9uy7Ro2(r-o-a;TWubmI&T$&@6Hss%$pz|e$q<*+F$y~ zmx%c@2oPde<%~a{@DcMfphNRx9mqA5WgHXC)xK;MucEEF(Fsgv*Gc%IgqW1~@Q%vk zrXj#td4!Td__0J64Tk{V6H|~lJQ7a@p~?xJSWo1|5~O43B-}jeMRCFKz`|>FQHIPb z5dNY)-~w)N05(Ev={vaU!*L}{=5rCcf$&Apv%-q9;L1D?UIB2SpjZKhcR|O;d1L8_ zg>5ez0-m+y@!osN(H@GE5FY{)7$^&&>&2Xm25_ZayazTA@schS6R?GXk8~|jS+izYf%IEhd9fWo)@1{I?KU$Tt45#!79(B=v3KeT1rl>y z^u33Z^he+F9R~B`=LIu@owC4#$CBiB&^YE;+>=q>xS#h@Vm>7EFbbbjKTx4y_ijk4sFYj%Cx1r=cu>Oz5V5en<5tMK;f2t5cyaHKw- zqvQ~L%bUA4v$o?)RkshNw2F4^+^KdueWFAC)NIEFTGW@-K8C1+v4W*buQ4vhrsi#U zY|2(7{8?B5z1Gz4gl&1Yx~Z`yxZoM+jv+HQzv4XG*V*Dm6CtqjE_o+q%QiByU^SI> z@@6}&t*zDhjdrMGw@6la`Giexj@#1uiu3u345Z~H88u=-#`7j&VESvjSo|&PTkVvT z9NO~ij*X6t+qEmVZAss^7E4UkU?o^(_qH{iEV72~3ahTKRNe!-d11?LU)-|YRg;ph z@V-O9bGbL7&QVeK0tqv=iPjBOFhWtTZ`ebEl1Jeb_6dSPAqKh*@V2Oo40S<;{2qoE=<|@*sx8FkJ!cQ z=4R|*e%7`LLovnB*kl!*-QM2%@UU$R-?H7sMJrM#r8m<0yo;3TUXu)kTFJgjDew9Q zJ8Y8IDG#GUZB#5wTj}z=l}f>stf)M2s?AdMDe|OL%B5Hy5IF3L|4RPWfBm1m#ByAY zQ)j;iRyYicP@(`#?3=Iz0D_WxOboG1n7IgE(b&}yZ##s+VRYsYU}j?aXnD@z!fNI{ z9*lmNlNBLYR@8^(ji6*-2y+sgT*-U|llv$Stg&5n7|5_$57;Pn#$@^DcXtD)%GiOCtCsAT>F%OBhkZcMm?6N(EOAl#WiXKx8G zv5E}Ez~nwmgD_`aXK``Gy&)793Xn6(P^efgTv(B;5F^Gxdu(LH8=`*ZOz=V|M=X|b z9k_r)>Kn?l$^#1~jx&gOF8#@z3Hx0-T3dvVghOw$J^aw14GwnLn{N)uOJc$@gc8<0 z^Ct-Ybc8v02d~)fI=TFaFajAayQbZ4S z;3JsGgBOCbOY=MgqELc|rE00-z~(ucWRm!`E?Ia8kizSDYmHm12%c>X{MBtX&=$$d zD78*03WOC(g|HQan*oAgsh6-h)?97PHPF7u7T0%eMaqLXyRQP0uu5|vTwu~7#dN%_ z);c8^Q7Yu!RKEikLX8zN_x!46P@+R z+wd5h9-flXcV*~~y?0|&LPCmPN@PW2YEFE|>l>CN*wb79AtJ`yj67Y&Q?>Z$fm8jy zy6dg?Zd=o%s}fpkcJsY8>u&9}b7zkE*n(GCHH6aGDPFbt>T5Q;F>ULs2aEuNe!lSi;>oAM${%J$^ZkJy!~S8RM}*Ou;<+T5_l)|L#+<^!ueziF+f zWeB#{%h)NkJJ)vX^*<6GclLbgHSBBdq zK<72yWZ;R9FdE@qPSwDmWc(u|5!z|46l0k&pOVWo^+~C4Kt3T0*@RhHU1K#*K5J!X z9`LZ_x@fmMJ>^QYOagvS3Zv@8DXZ)swB1|RZTIFi+n<`Wm7BLbq}BZ7Q&!U4VjI)b zwsP@;6v?o!%t8qf z$dh4?q`S{bVWUUP4BA3nAEI!knrQ1XvFIp#ceLv9|-O8_$P#gRq*59q1fkGBz<~7cO0M zuYyA(PoEsLsi`@eoWVU86Tm#G^Y}oIZ(vNP{$f?(Rd@_ro#8t~1s7#PVDGz^S<`TM_ZLpR6$dnko)X_Hd%`*=Gg zoI)I)LcBi%B@m$}R~FDm`IxUjNl>29mcLU)8IyAI&=!JE$(58oX@lp4uv~FSL7*t& zIXRf4NZ~H5(LE{4Qv1+zr)4}e_#ok!pQ*VeyCmVdwh>1~kcfdJB$zJQ^k^+(-r;iw4;R!?6XbXk#t+%f!UxoE|v{vZA=X?3x>ozjAU@NSKVmu0GVBwSVw?6*dBi1Xggc@Ic@3L)_E!gQ7Dy_XwM%8Yq zz43Wjx79^8&!` zye-(J(3f|%?d}S1lw<*^nQogerjvPehZHNyUvnYR}3>cw|L!PCTt=qfe_NqFofBZ?SJ8{zIM3|@8nVYqp>+jj# z#F!O{AM2lb*2~Sk_NwTyZq+@#*7C#?R<^!sd&5IkD#cTF@~oAp{LHt%Wh+BBtp5B1 zR@L2OhvK1~OK;ik@J)xc{Op5P-rH~ccW%o()Hv=xZWXQVRbk+T)@l=+q?K`Ar=tELJKZR8!~( zm|&U&6HMd6NQ0HhtQ|41Yk3VW@FCQO*MOq%mn$i6z$?pMpUhvd@{GEHDfbL`9TzMH z+~8;j#RANcFO-eL4Ne(8u0(}{d zNN@ooN{6^L_@FR?wn_QKxj0xx&?wz^I8{FuQcDXbAvaiCTfLn;(Pd{&_u9#m-9A8Q zKfDIPpn8+%;FIGn=%X)rmj3sS%cbmImf(;7e`D_%BUzT+`JJ#CnHlN5udFQF<=a-< z>F#NcA%||3nMlE7jiK)_-lK!5~&QGXC12ofX#3rJrU(g#5xNbPFHrMS~G7`8W4 z-PPr7W>tFcZA4^b82x|e=Ig2%PHTCqUq?o~_pUkj_;c>P)I~k~&A6hAN12OYwJ?t0 z_CugC4^Llu_3*ulwYJE*=xx;)WQj^^ZxZ8emT+xtthX*%vfX0Jonpu}8Z%5BM&nwn znt*}3gNur#xSb9 zo>jFT*hld6ku})U?y)PPBh8sz7K! zA6V&ZvWIJgj2bM`PAM)PMDJ{MO9lqUmM64Hdoa9=;DDdLKGk6LaS5!$}T|JW`+$h3p=8} zotPE&I3q^Cl|&OTO2MU|@g!@-#CJ=!I8n6CrF}cdl`UOOSY14AwNhAcWo28XX%EU0 zZxJjLf<-~|B3+RwU_Knyx_~uS1#{ytKb#wAlX*$&6ZjSMEJ^|?#>_c*Nl;$@X;2a- zvg%2R?P-@%s5z+<&DM!t>5KC!)dNj)@e(*2Hlq#q;X`<8;GkyLfBO21{Hq&qsTMpi?-rPZqN4rnHyv(nb46*o6SU|kFz)oXuk)pD~l zwl52&BA&*XBLu<|*#=9rb$C3*TG}k$)MCkoMxVdR_NJ93w90$CP@iXmsgq6tj(;hA zm$ibMO-x8aNn;XD#t7sei2vxlig44nk;huVI>4oZ#=N?=>4!;)zYVGvmCXm54K%H&Z9Ix~im;X(h-WR5VnBruHCw4o0~fxm%u$nnlgO{Q4kWIQs%<76u6ojFH$3))1~N zVnOr~?UnffVG)?uZr=0yn6KkUha7pC8-xn;NA5asfiW>2gb|r2|JT3%+kE26{wC&6|X4k`rW5e|Q!O&h}s{9yTDb%c{3!yG+be3kxT zUBCCkXYK6iK8+_VW@RS>gzeJ>m&^xW-M6)^-NRqZ1<28M&Cj9Wc)GCN35@@62wr^a z4KYaHe&gvIhlRKb42nXXXvGd+)dMqyp&`g<*9DrM{j=YD%LUz<@MTxlCPE@ulrS6S zui$e^nl7#ga0a(2iVQ(rEPC$eq%C5tg6mkQz;91@1MZQy!ttumA@F(cI#Tw4; z+1H=TvbYnoW-%QYIqs#iJ&l4%+-5fNwz`MHQ}sAgS7VK5RLyM4(rzl+nK#R}IvumA zTV@Sid%l3Mez(<<5?E2`yPUG#R}!|ly=K$5_ige@%2wuOJ!)PM@R3k|xl>C9PSA(F zjZIlSQfM`X!q>mB;^bpJEn#^2yd_VZw%Tmg(z6p58)IerrWoar)jt2SXKPhA)~tH- zD;IWl?6l=?U9-ad+umN{_kZ-=cWEFi(}h98yx12D9?jgIZo$bB2gS#a#sA z13Wf$ggLRl7SE7Uj8=>}2(#mT0L*<{Km3LOf`Jid@bxOHpI8do6zeTu@-R~f1V#xH zj55AFa1MZV4??1T>hiTANJjyQ>@5n`(nqL>xj|sCc7=sd z^qYEN*0>1W%2ON6S*Nt+=Pn(ymoJ~zct`HwYW$SGz9(!q&Pftv`;!Hi+@pk0$eDO5{B^0!GQEL76S!^ zrYNQt;D+^9br(nEEuaQp&m@|G!3Ap`ZBiEPq5G~yxWfJMxfOdfvt&z}Yv9B4)I~Zx z_nqDjBn)%HwM@~rSMxT1XWO<{_N-Af(%;l)&FvZM91#ri67JhEJJ?Rz!mQ|c3p@#y znfvnvKX#v8&j+SWL7=kg92l{9vRanFtZ3eLMS~U5e0E>&l%=RveOsHoc+uCFWCx{` zRtt9XvwfSmq495Nj1>egJ0Ax@fYnL=u`ZY|;wC*!8DD%zwjCBI^FoXZHzWPT!azYF z6RuZ+phwnWS4)GeS?DUPVT100GbO-3WJXdD`tT6Y72M-Flw1@XcXP>VM0h~ooFAV# zGGfV7XKh!wxVyUQI6$4?FqvDv0==!>b{|QZlVy<>?P8r2x3;W0K4vx}2A|utl*S6b zpdZXYqPYhmsn$y#Y;s?)?_Rpi^x`%to-1%?Jq7^d3VR+d&JdREY{j)Rg`KpYX}#V zi>wC_%sVPTz*Hepw7z9ARi5Fuo~{n}$wowvwZXnr&aA}n5hM%<1m!uHgl9Bp@&N$W z1e4A?oDC17gE{gn8k74GbwOZQEc6A&iys|gAvc`+VUc8DU})=+yUmYQRr?ee9TN>R zW-MH^2jjWN@{kY!Qd2+H ziziK}UWNkRL?B_+F&>yCL~wMt%iehXtiAo#1v~T1kPD>XS_(|wT~4|X zB2P~81M;{LB4Kjq2GhOhLKyf%hedZ?&|qcoe8|Fr#fEpov{CPqI{41m>5I>=ega1r z8_#=&jK;(K0UuHvkM?!iiJ=}F>F;#w4>!n)1jgd_zAbDQe(A!3z>@GRtiw7H0x%^k zj}ZF+7QwZYmbOi%P@A;tHZdyPWMp;mE{u~o;eGt>kQH%>!Jc-XV{i`z2$(Py{*QYz z+TsQm2krA4V?;Re8*>DHaJgGkI7B6(KS7B=u>*X(>-SaBP+y1B+sfvygvqi^FRXgv z$NmAk5A2I3ff;kBH+O2yR-43FQdSTXT@gMfG}n!?GLxH4*51%)Bj@X^zFByX(|G4) z`AC>BM*0XI11n+`>;izx3u}bJ|8p7-f}5>MiutM)=7oQ|HP$FTfiS=VT-97G?iOqv zA6C1p^V+;;A|72ZApMJ*$ zCZ0!JsJgad71p5aY+HGA-Kq;S?s`l14)_|D*#G?B{+CslpcARC3+GOGCn+#c5StRM zBkAqx)Hec-r64SXL2OL|fqz@UtVYm40G#tdoglq4F##HD2Er!;i*rzzluy36;mi_X z(KlRRtm%LWk^#0Mrig&xeG2X;GPN4S)FV@p05{u`0C?)e{S>)CSVw|D!)hRy3S(uw zQ5M*@jR!Y`3js|sRvHNep&w+Q;ZD#biO3Naxae>hjy;;P$CGnz(ST$WPGIER0W6*! zAqtug%phu)-+>G6xM++gjtv=Sm@qc7!GI@7OqwzC)6&%BFh!UmIM9yR{TNt(TLCU0 zHG-2fRu~hjdFczt3B#J7TerXZt82EodAK>`Q>AdQr!j}*27=?jBAr0EJ#lTJO>^vS z5C~Fs(+IhsabunQ>N=8dD<_Y2+xOo(D>#PqYz{WU#K)pU`C;6+RAIcp5dqJFSC}_* zUkI$89QuELblJ5fiA~Yw?s7O)I(dry5{$wKwwRS z6IiumA4YgX@plCqXez@F>Zhly+VsTjw>4F^$3KxUohL&xZKuziw4M06-Ce$EOXFf* zdv(@PU*kd-cU4nuTGp5twP5mib*F?y!2z1gi0@EkW^yMzeYOl&X0LS7W$s30(~B7q(Ahw=t(t!;3~ zRj^hlz&shj?mESpGKO*U(>i!WIzt+}~&#S;JIkALS~OgOeCM~fv+5*3h-!i#i-U><;jZanxa zf&uBUP!K9G)yQOa2B%5!c!r(@@c}5r4&f7jp*Yz{jLyG`rA-0p%lT}X@#$7<2yvKK#8|_ed7bb^=L;GBei@^jqN&6LC8IN01 zf-h|}$-<#+9)wxY7wUjv&}Ywj((fRzTVc9K_8m-$I1Y73%mp7V?n@uH`i030T!A;j z3s)VkFXA=KIsNJCYPO!9W?NrJ!3aKPw>S>RRDxI9;lP8uV-x)j4L|0U>fSSd4jtsOrA=6LZ3R)`fp8+RfY8>#x z`&rG`K{alR8+*1Y4R}xUK(Xi% zMu8Tni|@2a9sZJv?|+vO&ZJ_tzEre{`+GL`s9@WxWvk6ZzGL|v z!Mdz@(LDm&tk|c&xX$>SWCU8KFZ9XXf_k54fF1X6A@Mg*1WpJV?h{YpOqaasz^Z7d z7yas~twsGlTe0j&rE!qX3*3NZWI;fC5x(JJfd->e z-#=j4;Sm8s%{?nTMF@HPhE;*`p)g4r@!2QZ!@g2e`uC zTh--7D~ylX&K!$+4y{t}vuH_Uk9GB0Rr7c-KWp**py&pE5w5tNb$7h_mH5y9`JcUu zOQyTC&0Qh@kir0{FfyTtX`rc3&(1qSqq)Q2xELtE-+wsn8aRzGnAP=lw*uN)n_ZYh znlViD$UyJmg1f9ApoK}wxd1GpgYlxxQ!f+7CuSRM`E2SxG-vwA1yLc8Skdi8&yZ3K zBj(-k9EcpAMOa{o@Y~Yry1xs8*+!%d6Vm~?@qq(ZV94OZ z+=v0|o5!KlZ{~)zCTQQl6lTl3(LY>ToGs(#HZWAdtw$V)c|}+)f*bqvVPk<=!_-eSu!qo!Vb`A=AougV9?+*;|9i9 zi~Nm3l&Px|zPH=#FWB;S-h-`C*3YkA)Wc##Tq7)0o0SG0rS{gkrYlWcpCf%8 zc1#w;$)R5FC-<4#ATVU5>2DZNv}HIcmXUBL9z|>oMn=pMmjrH$RS9m~UOWdZ7&B?- zK}jh%4yb#s!4g}6Rzea&(U}o=ic*16g4L2qW-Og=wy|qD`{ZZycK1sXR4R7*yJ}Mv z?JSgSb8W{~m-lRIP2(;G_gu8)3)6)g(1m~)HgSsJ)(iNHAaRD~eI*e?^QW=vL;Vnr z=~>{pT`1X{;K;&3u!2}qyb!nLM+devCTnIoVH-;clfrG=dDeQAt);JOXQYS^U#MEP zy=n_HQt&q5-9f0~qGW9jbwhZ>YYSjDTMV5^#t)bfK+Jexu!}G+%t)T4g093OS4IZ2NO~N}$PHzG!lrfx#dIB}DddMM?BNEl4;&q_D7HN#R7><(I8a_h9VFo_;@|sx1Cp zoSU%<2U7`0oR8GiThp^ISj!79S@z^JzV-wqv~>TDfF-=mHdy7sZQH(c%a#{bETR6^ zAxLDI90_-pIy?XZ`gKW`J0^8$Q0+$mxb2rV=#k^o?+8TD^;eA0ys1*yp3Fg?k< zg3;4|Vi5SFVU_?9VF01hF5`jFh<(7o(3A3kU?kBS;`z{w52I zHn{JBIn@v2#*Ouht2gbn%a;VV275d?s~#Q()YV4>70;0+rNOydkllY2v_8hfgaBY8GAf!Lxa7>#(a!nLrfkk zlDUa2A_NFW0w8RFKf>jw?|)VSEXy5u9BBcE;k_glFl-2sq+?xAz&skYcN_j!-R+sBfx|)IpGM9TrQ3DG|#~l7$`uZc#J?mamlUsBH@9y z2=nE4BtHZ}d%R0#4ik#IE0uUcD4IW?ESQ?U`h@z?k6fx76CFeefJSo*YXxA|Fk$b< z;dm%K2NMBNqVe!sBt&?gL6ZT+c(7c^9*bb$b?I*im+|mPpLmY;z0azX^8jG{eij4c zIc%GYar$nZ`o}(Ez=*mTGzc2BbzB3XK8SWkMzhA?DaJ5{@zYII?R!;{WhY{!GTU2&^3s^Uw!d5Kt7*cjhwnQXb-{@$d8rW z1=HLuOZoT_>+bKiw(d@=>FBa*O-9U2%w4dk%VzC&e*6#Zo$vif+Ea}zjYid&lujo_ zL{?BWo|ZDhYW)B=#zf=57$(IU64sn_9R^yvTbuORXq{p@+(RyT%!By_Cc2o9tj5qN z!PFp}=R%-xL0n-Rw8cCG?Gok<9Dy-#U1HaXL+Wku4;`PeCipY;nreV+P&~!LL#ihS0BW{ zxuVSesb2o50h z0&JiMEIzCeAEPcFVxA*j!FYX+poNxJOExxJTr|#hK?yP3OlOzHHGjn|Y3ZVS)_t({ zBHiBM%seiojCCC~V&DnR_COhxg_572_e`kj`kKY_IUh)@KI>Ui!JWnUnpByco)7Tjn_&WQuuRw0Z2mRYF1Af6^G1E+DKsoA$xF8 z+kj}mFmK#F4Xg#@M`&cOaMxXHK|v#CjK)7yE6& z80j|xfa7{WDi{V^gfNb=@hP`%@c%QO$RdG3V=?r}+F`>*&NsoeLqVwcgb1Y<7T27h z84E5iVm!UlAOqtMS!0ZY!dMs^;|a{4V^D|Or8M?<$~d0@SmWO4QM;_0x%=R;6Czd@ zeW%VwX(Ib#_Uu!J2F*MCwy?D9sk|_47!8HAUfKi>Y&*|buid`yguq^8xL3G`fF@Ya z4zRe~u#nJry1Uyg95^OTOM-=YfT-vP<6$=e`u`XI_j{g-P5Ebk`Um#hg=bsnQ()dQ{G|T zgBusuS*@+79@|{}j(z&qd0TlLw_2Ew=s7A+uZKZkv}J2#!IeEm#5N*WA{5+xob655 z5dY=u8;sl{G+QVo^qycWr(v z?^Y03R2pSj9O-Ja9$6xc6-y0%gy3D5#U3rx{k8&(So?v3$Xu{a1m^ATRLyrnjI{Z? zziD~R&C-V-xC^L$aL9Up@I%|1p0+hv1lbFhtoG=L*T-gxRayUwKmVD>McQ9})ehAD z_QQv^bN#9nSC+kAw);oGZ*J$T_3huVwD5QJFVocI z+n}tg&HA(Ftm)i&KYN7t_9iE+`|WouRob`R>t9*@h37oA_u%@MW*lmzwl+3*EphaO zwZ8JY9Xz~k2ls9{4y9#X#g3k|%DtPOdYm6TX60<7a8=3>nW*!V79StA%E&1z_6%BH zw-)~6ERcj;bLcFOj*WRCw(0qpDp(i@w2d+3Fnuf=ei5L4>s^ zOepo!Hg2#;)1z?KIs%G-J!4_4WTdesgys^wdf!H1U~RU+TeNm)F@=5uLuj~&|@U(KlRXm zeq(I3NzKGwKK|@$PwQqYeh%T{J~+Tx79A4!2szs4$`@Gh80PiYm21}@8hbO*)(4+l zwHvn|sxMeg(pbf;j=%Gkb&L%A*)hIhpZHaLn$)4BRXe&Z&IWVRmiF1>CzF+>Ds4>o zbMyK&J9+Yy<~VN+jg5Bi?p-^f?+@=@we#f0RKEG;A z6tN`)48jM&K-w*5z_8wiJ`0t+;J(_BAi*t$1wrAHf4z<3A!?6;u%SN3NqwhZr@OP> zCpODm+}iiP@H^{2`r5&XkoW*oCSFBBn5gTn5Mlu{{-`iFSnR+kD#3arwLZ9(p%<)W zKknh^F-!ChS-hv;b|$B6?H8Y0YsBp>6I#>o2`Rbdq^!|a zSq#G6-A9jXcT6}hA>u301*2x+CNxQ$tKro*tnSFLuM62{^}701H!vt0TMFIWjOE#+ z69q^Dj}+W;Op0tFXX%y}t3Pqd4#YDG3v-q@5bvI!vz)A+n$B*kALzFXO7yCf8P$Ez z-fh*sAxpNl+s;>CSZVaGc%We1(`(k&>2Vg^ym|E@A^h^)N(7s@a15_NG21L&D+Nq_ zO8h5(_J{AX&lN!BBqH{V0+Df31x+{Ri}ymnsNgBJJj-`J2@vuLL z>jaJwGPr!!q(vi$m|%|^a2*m9fTT^2o#=Oj6P=%$SqM^F6GmI00{8JFBOIugNn^7` zVj?g;hz%_St&YGpZ9sHr)SUA{|8X&3Rk+(teWGrxEs%|jB@ieu-g@spu?Z3cuts3g z6f|@C76fI=+u;f;xN!rKO3PL(9Q#|ZwhF$MBfv){uG))s^(Fp5`;3J(C@?6}r6a#2 z0s^EbxC)GUj=AA?=7#>!57L1V0@Mvm=>zZZokH7TJax{jiRB;w*hh)D65D^{W{Kto zc>eWIKeR{V)1H?64}bgvJAGnUT7Nh#4u*;F=J_C$a8-W$HGHJko;fvaXHE~>=;KMd zKl)hx-*e5qQ<~(F<5l+KwM{q-Wb~4$qOq@a-Sc$4*(g|A-yTOj#jQYk&Lc zm-fX6@7vPcoISXI&mN79+TA<1Z9xQd=k_f(*#~+~Bs33?)&FpC7a5r4Q zxEKlGhAoO9P~WicrPnRf*=ecGWe=!Q2SSdtRG17xhyFD*kVuhm{A64(V=PSEWQ+lP zp?;J(o@bu0W>MtUq=|ldb4-fMsx8lzJ@W~-5*7lML3AM~5Eva2?i@QzP#l3lY=Fgn z?4FC;D#S>L7YJ@HF=E!=!e)vYzef@S8(k7BVNqb%Ofd)&E-VqUu7=y|J&l(&IUyU2 z3^57l!};Otb;dHip7(lyJ@58NsGl6{wno8~`DMP~OUy6XNx%;Ul*8qK6-puW10Db) zS0WAzbu#zxz~~wHMva(forFC5RIwM<-rT&H^sMhm#jY}BOl5leoRRO0KD7M9`GZFkY!bS>P&DY=Jq_k zlIR=o46W@)V|K8-w`xR5eXVUSx_*spMP}487Nsv7tfw@js4O1j885X#E7-P zBE@w{LkQ9*OdZG6W-?$j9&plk*RJ&)0%MY3E)d$<`i4)S6X4;b!%P7%R)ohcq-{Z* zff)dikV4Aj!_a2umpy>oEXj%njq7XVNWZ(t`un=<_T4dOh@34#V3{$FX)LTEq0l$3 zv!}(xq@CbW!WG9@Tu_Lh7?UrK6oT_N?b1H(Bl^uV9G6S_AY*|UL&&(;fDPlpQUQT+ zBf6HV=fZe`rsSDEg3;rNS%(=yb##2n<1qBSue;L)$Im|aTyMmDK_!8IkpJP>q%#nH zXKt`Ch6Z|^u!4q5o56<)Q85nSPoWEF<7}Y$!6#qp_nccmzxln_{ZvX^UkD27#%1ty zxq0WI-MTmC0udNQ+utC>IKKw``qkpDH4!OrS;{onf_5TYm(j0eHVeB#=` z^@&g*5rp{x_dV_S1r@mZ)quBoFNfgS+tt5JHCS}iicRCv~7a@oOco2 zSfmNlclw6)hk}8Splz5bv;~bYX8H{M@Gf}D`#i(n^!<}-4{c_7+2FOoEfMAwAr0QGu5USvDfAWo0=$3+f)~pUI^bTT1Tu<% z3t8O*hV;82>x;y%=GWh{#xrNEMsvd)7dJL+|HfC+!l!*sn%;azNZf3T@BiF#Gc%UV zHdxR1f8cy-_v$aK{`6U^JAcVzB&%P3>6A ze5;lS4uW(4fHl8x*&2q2rML(dntL{KtZ=06)`p*cSoi!ZmfYR4vXnP>S@jKC=Hl~~ zoS$~Qv@@4{+Z6h{_r=F{u(58bXD(XecYpZWyR74Y&>(oUPuIMqZNfBQTrgvZ1}zJV z1V%{uTQCXn9|nIv6M$w9<0E|$tl>A%4}@iK)WKx)8|yk4D8V$|gZY8rkrodl_SNS? zXzGcyWSFB8t-Roxy@g+~Zv)3Sy8dF`?63m5ucX;bv+Hgind%A!z^6x*2l@`P;Bgcj za2VVK2WSgCf^kRgEf1LLnY?gbeBZ55e9p!qPR&QEJ}V{^7Er2V{;URW#x@iUjh0X! zlWHrepTP&1BZWTGCq~4)@H_YEcfiXi`62}4Vanhe&-zgHzr2Jkg08tiG^D4k ze~bn9B3q2$=0bo(f%9mODhl-?5FD<;V_(ru1L_F$g5`nL6Xq~vWpT0cAA!XCSShT0 z=Uv9nT9l~hQEQiS*df8emM`sxDZKCj?lB%tlTvT04XmoSV_um48>S951mx?H!1KXSw5w;RX;DD_Q>!`y!QO@cef;s zIy*bWpxWF7M3aPp!1O^VTrm;xI|EaNXqvcGSlmUh8wL^1RTg^Sn)41xpz zgbd?(G&$>E%M5oazn3Lw>tt0NX>YROfo?HHEYn~S04HF~e5G@{(wd|#iHONy!79ld z8MgG%;}#n@V*9P#w%^!h3HBahr&JLb_{CVM2ONzAK6pgGBSG?X!4<-9z|q|=YM(d> zOb_qv?!Yc5Ly`T-vJDMtQx+30)(y>}h&KiCo4(N={Q;)TH#qM7kix5|rE8vUF>^HJmtUiOwENN-(8GFWX~dwl_Ix$?bIsnWUAa7;$2v zkj`CN4breWj~=ns*Wa|p7ca|d8L<5QI}%c>mO1~d^PtU%Nf%VaZk>0tjXk_1w{0m| zO&nqc9VF@-tY&ybv~$8@9o>Eo{yqYa9fZYie7(x*qQxaFD!qf2zjw>>Uth6<$;X!3 z&r67PT54d(V*m2L`A@3=m|zm;0yEJWN#Sf`i(4Wf+OZ=8K{|_v5U6!+P~Xu?Vc?vJ z0g*6~epb3B2gV8WW>TkS7knZ?o`L>u5nafznv)R08ag>LWFe}rd;2m74y!Q@y_ zhh~rK455a$jKB*FThEGl1+6>g+B8h@)bU}j4=aOrutFFQYi1B~XoN6e7&8ZOQ5X-w z_U-KuCt{o+7-PX@gxEDebm@O==`k0s-&f{S0?y^!p*+Ccu z0QexNfwdEh#!SB;BCIa1fBo-%Cb%rA{R3YQg!KloAESmEa&r zfVoElMxasnJDP{65Qk!pc-9$%#>M8>1k8szrEmyV z+~7Fh_U7PPU0dH4t%jW@oF8eN2o3(`cN86F8TTZ0GGE*y7C`|P;A2fj%2(fjrH`Mo z^@pRj`S76~h{oV$zz!O$(f#JjueckhxV&U-&pj`TqQ{Dbyj4fGxG*Q&E_+&XLPCcv=kxkKFY5+; zajWc*C)J$2sQw+d@{EL^=(X)IqO1-U8^R-@>(p~En|1YC<p)@-)$Co30@VU?6d1eW1np`VoCb7xnuY>#7q1Ak~#;p?#2s^$!dJSBz^_ zst;nts-bI=-8zv%-h!Q2Z0x4?YqCv8G35R$6$XMhWc#JCtMzG|37QBsDHu12bnVv`_Hb-6GP^vbbr)yqN&K8sMSvkb%W`AaY(#^pOJX{#I_EcpA>*Mg#sgeJe~2#y-@4bQcB!9$ITz`?8}5<{Cpltyan?PqEQALz zgP~9-ZY$D_fgw8$hh2nO%o%n*AZdX<02AO5UBou{bcQLIz&wEmNfKMC6Tu48WsI;Y zk4LE<;7Fz!`-gEMpkT1R-UKsV&#|dpRm2@%U$*Mbrd4F6RE5Lw{H`U0&t!IiHv+g! z`Fe|GnCE=Vrr+H2KCODhG8TL||a_r$g2|+nca^fR9PfyAV>pojL0}IL_Z(&@%2R#tz+pUnn5D7?(xB+6?+a{~>(GNm(JdjY_ggiel;qiwn~H*KA*Nv#-ypa4wDj(F>t{ zS#iQ!E*b=nxPn_(^sWBvOBfXw=B>K7OM0iT)o?{XbHP}W&COQR-Q(wmsFPNO_o#hv zFxAlLTb+owt)ll3Yz0=eb1sOKC^l(iT(v!YvTnpX)wc5h33BkJnBb^g@nCRkbtxnR zXbh#zO~fUhr5Czvb>OawnZ8d&rWrq+q0PplBu zrT{=nSa(rz%K_vFu7gcyFu2=5o?lmZ9|Q_QZr|5}(3VS7F(C>Jj0`LSk!+!YwLpLv zrWpi_d6EHXx=RwGSUx+NK>7&+QaFy7ctDiWOc|7wMMfEYqYW$$`U3(p9#Ww>Qnx5( zfQ1Ev=8O_dYx?->iW9sL87lxLjuqn8hQ@=yLfd7$xQJL!fR%Oi#ywkK-*Pxdu)T0r zX0zsNO@ar3fdKe-|Necilk#8ui+}2yVMcHTIf#`YB%*aOJp1Lf+deM(`<+*w_co%! zyWk24_NxV#Cc-u_&VYajQ(RUQ&Q`&?Vk{&JTz>w%zeD>7OJMM;C4c6k6{HF6eej-@ zA%w#MGi7~*U3|&PU47yHiZpqZx_5rdVm!BjOJXy^!I z@PdAWQ_F%IF%PU1+M%$4D9izx!>tI82jM`LPo3ZuVrDR{`sbxlo;h#ZfBT-hLBNfC z;lLMu_5c2lt!7t(@Ltd~(ViEU)`jyaYv^dTdi6b3*ppdy)Am**G+Wv&^U9l6uFYCe znr!9DN0!=H^3+&&FNuDjU$?f@C;G=YD2&B3|FB-wFA7#B3K<1BfL~Ga1qviMiW)Wgk=C<;_Nh5+NDjsadDiiSAn(BQk6OtzA zM^}4`;}2^<$SA^Mj0!Ze<=dD@V2PF*bul)!C}OUnf;JAV?P=_#Qq>xo+1xZ(&KZ=J z;Soz-eBPF?UbWp@H?1X`aeUm`&0FVh{2qaBctUFRUT!bRt? zJK=xVTW?!+dBO5GzqW+<5yBcCzPuus)i+tE?kD%QZ2#8RR?X!sIds%A&%R_OS#A~4 zQmw4x^1`h1IruZU?e5Y){L$<0dhZSk0E#qVm~OB*q|r-TS|>jmiF?REnFtsx>7*sJ zKUEC#Mbmb(UjU;aG+ne-7zr^07RtG1t^$JNcjh^?Q0iu~KzNAKHGDD8U=fk-y6o#m zK#b^p4vXRpcYwk>t}zP9h?9_djDMecV5ATi^}F_tdra>K2^+?Pka72h#*7eSlGKU| zS?Wb7QC|RHS^_pKOr&1=;ueH1v_lVy>Ur9L7=w$9-^o)am9b)zQ*+K#=o1A5BP-5f zt8s&T-Zzbl%q(1Fz!R+k7(qa)-uuZFo)5x_Pj(^3wRh#~+rE7ZLizNGqju)hG5)+%1!7L$e~7=qNyO*HS|ZfS4F5-n{O z6U?i*JxdLZc+i@73g=L#_qMGfLIR(qma0dZJK=C7xR_t&C*TM1tB~;qbLV$p4c|0r|&k{)kCd(tHe(i~2M(u!$ zSThxkhyHQYXFrg$K2KQ}cc%R`of;0C;& z)UO$)&eqm&N~O>#P0XO7$#JbbKkKec0^hvDYV_2=5qEvDR)kF+GX&nnU$HO z`b_us`#P42`eSRWZZ(3Z8iG%}Z(x}ee&{pa)M}}i3UyvZ>IQ(T-fLxX4x45`ueSQ7Lp;7>o0&=n)I_4(5@t~;?5dve&6PV_p zw0wjCE-BJLVFVy_w#ri5fe3xuh{Oj2V02#iRG@D8i(*_oFBI>^oYiz{oMkpz?B zIW%{EC(DQ!28{+zquQo+?F zX4lu<<(3E9Kk))G+Q^PW;9(6Sydohn~BUAl1EQ-~2F^o{xAa^jFy&nNxh;&)(4fw&nfzejM4+$#b88BaGS z$$`FcmJ104{LQ+X9>Es@hVTY&xLU;b+pKJznqSveH^OFhxMo=NhuL1;-n5!aFIk-J zRF)SlDaH^9lGKKXNP?s!oFO*}_W|xLg7V-&q-9~1&|k(&Opf_-_=-08{)CyBwaDUV zy7atlj6JrJ=7zb@t6qFwB}BHTXDlPDr0&!+zAJ0J7(%AI+lnIo>guv3w$^P^LZ5oE zGM#a%d#s)DEVNT+Jjp;Jz=^k<5JNl^B)B%dVd7%kxb<+e0ef7h&?5}gl@o-5`UH)` zM46YUFefNNj??;wTNio)*OOu<4eD28W20RkU$F6|O}8vqTk^C3i7v+P*@Eg1N8!$I z%hJq;x8|R1-Py(@+DsA4l66JkKgt#TBr_3VMw}9i1-G~t2}9-$TnxhH z$(XVu$F231?^sf>iU}`3ckqU6J5Sb;f|;A2bHR~4cfo35?t?+dOFmj&@F$as1%AIO zNQ$_(ggY(IK49 z!RpjTos^bTYnz7#$`Vj<;To18;{oTHZ!E_YuDZ5%U-6!nU=!Ok>+JEQ0@ju!L_5SK zBcWYxXtv7mi6^cteAP?{rcp%jta1e5$cK-9BjbnP_`9!9l2sCv{Ca}4Y-w_Dblj1T zLPI=<8A+g;XXr5ZSq&eA1S^S&Po&*FK;1AITpRq2xyyn{7=FJ@z_Ia3&&9uR_Jjif zhJ%#?vv$jbwl(;dU%2250O0a23l;z0pMI$KPT850BhJ7XQ^XJvbO@X%2E=wIFpjC& zd2dI<_=d@Fk*O91w_*G+buzfZxWn2F_dlyI1dW+sm@6yMIfSaOr(0uA`7y%ezYp|w zyAUQ;K{nLJ#LR!4~zlk&&H7V$0qD|fAE&zRkF!xA&15aqX0Qr4|Gdo zq|dCCdF4eRl;FTvS(y&Jqk=1tH8&4Nu|UGckid*Zk@O!y2P0uVD2#)8f&i7wJ!F_@ zcM!2Z6(04%eemGv!gt_Lol(7f2X@@!f*CL-#>_S>%nt?lU?rivAZ(cjk|%Kg-5(uu ztLq>pY4g$>mdfv0dScXy`JB6iYF>KHcRnRBy7%*c?;2qG;tQUCe=z-6z{q(L1%!!T znFI%z7^Xj4l%QZRl4v}2{e#x~gCBXu4a^$cC`~@L!mY2ZyuGdWIlD#-K{&3#*x*0< z6DemR`0HP}f1RvH@D|~~;=KsxiCgmCzTRu77oL$-Ba0{Y;I`S)ytt^8wDZqe>ewl- zH#RG)Gg-MeA&_AZO*d->`o7F(Qg;>T@P(AWcv!#EIFB*{<^o(LG+v2Im~ zhM@<3i{>jlN5DQX)79k_+tpaP&lV^M3j_&PLbUY>|NQe14Muu8+>J$b(Xqm~dcYg{ z104f@Vl-G(WW#ky*dRz&*R}$l=~?;@9+EJDG6DR_8ZC)omul*){_-1AA_g6opbHlD zm2O_Of&>H03s_S^-)O)2jki6Hh1+LmV#2)$O;VEM8przT`e8b4XfqlId@bAGZ`IT1 z{DeUp7ygNs5`)9m_R`CiZf^Ef=D4QVsIle3MOhm+Kz8f;&YNz1tbKLGl@DmL9);=h zD<0F^{rZZm*Iug~IpJAZczjqySgmh#SR#bk_%VOymL?<|2Mi8E8x=A5jv$ns)9ySuwSfxZEv z>H^siO4Ne}#{|Qe(9R(&5F;<b`*y%US43`3*>XtKO zU;{G^aAC1s<2RNW>6I{F-`ZQxL3p%H(~JiOOC}9WiRXYL_vkNhAd3wmM{w{i@bIk% zR2RRau@h4Po{W!95vyTdh9o2ivYfW8q&eqZ0?CZq*TK})TSfRAssv|&nd(m9RuJ*CT?La6hfWR`cVZ7#*c=cDh~6kzFGaN%6rznglS!8 zho!oEtlHG7{%FkVR|S01yd(5tQlhKyF3lT@8Z+WG72y;cJOX1s1reIlT$8C)6^}@_ zv{_QLim-`^QNug()03EBzTcK4ns2VixL6&}T9A0Q(XDTADMs=@YrB*wDJ-(4N=pk? z+1;|3-h)y~SaA~4tb<93Ckr9Ow{@vc6}@{Pr6Rw*WqVUntTdkb-hQjaN+GjLeemQI z^^J8Uu3YGQ;`e{>>bq$3NHUlJDRgKESO<}L2!bH3KtLv&iN@`!vZEpkMye#tnVn=;6S%)#ni!gcou667XZJ(wDU3tS%VTXcS67&3kv2A zoMC*pho)v&_$NzCFu+w+wPCYMm zYQ%6dC(k(1u{A{Uh1YG5ZL`-&M-Pb_;68to+aDK`ic<%I|2x&Ra?XX>V%M8dZPSci)kw9QRC{%JPEk$Vvu=-Lm9aSA;t>_0sEppipsn(NdKI z%SfnI&s?-hSHCktwk%Jme{9!LSy{Bg&1+UniJ`Q0T4G53o*B1C z4hx^f`(f%%|6*u*j{0$TLA&5*^IPAy#PBIwotU=Gr4`@Gr18`vt8 zw08J5JGIA7T22B3!QJ|uxBTAj%8G4`J+i{OtP2&aBd0mhXyc`4t@ZgALmKe;Vj>)9I(f=6C0T+G?pov7vzF=YwcOWVTBbvm znd&5&0yh~}SqWFH7<=~8i?*xZ7C-n~+nHamr236ZG(P>v%3}}2@TKeuA6Vm2|IAsp zen>vao<3vAqsQ$2Pv5i6TQ{s#Fe+?s$P(GMS}8iX8u#^X!wWBaOo+vgC@3-EZDr)N zZK?hB&)&D<%90eH_6FBD#6_^Z&2oX>hLXU}uv4CJ$K_Fy= z(O5Cjb}L9z5SD;BW+TjsoqGzI?dtpV%)G}S*rAtxu^13d9;S>C35bsisoRAQ zRs~~Aqf1wETW?Sj0X*jegj)93fiF1=AZwY zpLo_A8r-F`C%rz}Mu2y9wmJh~t`LCuM}f;%*YCJR#+=Qs^@T9tj@C`gC2)DbE6H{(ic^nDo-&x4&DQv1x7tj*yy8n;}@tm%#>q*`O^o|F;I*2wRA-l^2xN+pz{Nkiq#@Z$KWmDX1*bLy;FPWL9p-1qO+pkRtH zjugJaME7B+oFp~4Lw<_#PSyF2hMzwc-atlp1O>Tyqj+dRik#aJ%z5(EHkk{t$0 z5JU%eq5^$FA5WtTxBwo~p3}5St%N}B5eZN<^{zh4t*qMWCm;G5<7of&{rzH=y}m=h z&g`rNz?#Mb|H2ZL)rAGv+~zCGcgIF;@9~%mdIH?^r@5)#ad~GaXPFDnT2_K7CJO*p z)PZ2vTdcITVR3b};oJpFsXt}4zk#44=CZeCbuBHv zCMB+ZY|YQx`t93NOu`u>#KqRXzGhq3uUe`qC8@1Vf~V7i^lTfyK0fXnMAAV#Rz}ivIqN z6a*<`SR;a8?a;8V<}a_V1Y8o#D{Ns8y+A(*0*D*Lz~$iDrhW^P7|c`h<0F$Eq=GrY zNL{1*-{oMgjn#!?-D!wv2~< z(MJR${YS7d78oQ}3G?E@+zAuQ5MmG4)byN9>RMP>_OxZvecb|SA+sxN?E&!vXD^3v zUJ}90%`d4BvV7EE#>)JD+r@q0L|=hFjN4ryD!{}U(BTF1h;WCCaf2t|)YDhQw7{ir zyKt3K2LhZJ9O>EM!ou>Z3qtPEm&n3_$#B(6m~|(r)*mnXRkyxuvCVZqCjus%5))0x z)K7?^q$FI(pRY=jPs&2^y!z=$OGw*G_6@n)pmuQ3nogau`r%`~8rcaKhJofjGiB1o zEGfc_NdQ!3DX@J+L3Oa^fUPW8D0U#6fl2uqky1tY7Vr{R9h(#G9mvWPaiTf1(mBpS zN%~CG$eI_kui09&l!QZaMOyUyv?Un37*M(_wxIFA;Hv6tMc09}$?AqIV?9%rl~ra{ zwU|&GH(5iIk1Hli?ZAQpz}zy=;5zsP{X(-8rwxsh`%wu(CQ=ME&#qxqtxd|@@qsQI z>F=}wSslHd&DI5dHfKd^H7abk zGQB1%#Znq_&5>hP#iN1SO8rU+2iSQR?Y=C89r)hwiXfZtE??sadyfIQX~rFk6c-) zWgj)*$`OuI0Ad;OIaw8X;l%Ew6b|NEbHsX%gcx{A3>z0Hf-k9gr`@t}6u76wt4P<~ z7p?(&Yi#nhE&DUmuGHivCafr4!?C@bA5y}?05|n4UK98L$s~K~S586@*VVd&=E~TZ zZD`zhVCH8RYtY;w83go7KK93z8a7~oObo9-czAo3OM3@L67!AHtga~dd+KdpC zH6So|5EbUlbH0s-7%C-Xa_oN-yo(T;F(VLQeh>ib9{?`q{><#6t*YKr$B(#%j5YAd z7uTF&_w{xjo;=v*YgU+03S*%^r!`LEKxm^b)DSFcH~6EaBuf}UeDnkBjG+2o{@eFl zNb%c0`_q5m#}@l)eSQCR1wr%C=T~icd0o%M?bXYdTzLF_3k-w)xjXk37=LfXno=&p)*NN268|v&cMi z&gw2aXT>i+^*xSC$InTADYMKP7!m!DZ# z!V>0-G6lYZ|E>gfN?4w`XfQFm|Y6J>*4B_f4~^*Y&X zSO^VXp?ENkA{#>P%c6Pl6>B8JN?JI5CZ19F;v*|hjr;ozFTLtp=FI=>r?&OrzW+Ax zyT5M@eSNm0=V01dS)?RhY~8FlU%}@>| zADfMwv^480B*+R^KDFJux7>XVZ-@#?F5_-{`!_7pH(N`3-;e&1J(}ELYL0}x*x#3nNeQbQ=yRHx}efYkw^I#oG<162>?YTM6@ak0mS}#58 zb#8z9q2(tYTkVDCZDwN99tuAbvP?NAKNTx`OpDzHIMan~X~^E{YiqQQhFVMeeUzM( zbqH4)Wm!cfA*H46#aAsQd}S?Go-K%~Wcbxs;z#eiq;68 z2#c>i3aZi$43>j{U_7qLpc$md)(HFPfMg5`#D;iC9fjHPJnkIo&?BCy0Z|}4007LK zv&F;WH?*UWp@fjZa-j|g1Ivf&L(=c`fvrs%gj^6jTc1Dx2t5QcZL!5R zL1Pfk(;IbpW{c{=4aUlM>Wl;@1dXMGKqc-mJ~8Wo@qTIL$0U5Y5V$N3#NQnWI~JIc zeT8sdSX%KQI!poLCymx!L5D&ItA+8<*QYOFg(gUyZjQMy3&NUvzw|uga^Vng;6HeY zaexE#f%ik4l5)!V6D3kP z^?VgPS3Qo0dIp&CJB9UP&>1vB0hgnD6lk5kLMPBEpVR}6F;_IoCo~SDE)L~lu(Wi!W;s_>IXbrEQ;kyad2UwnNKI4H*Fntf-tmE%d0*VY+*uHjNl9Z*~|$) zRKJ?{^Iq7g8EcX?J*+E9f&aP*e7IQSR4aj;85|Cqqzd1wYCkT^2^>ub*PzYB?|kp_ zyJ!S3AP^5h!VP!dD^(UcKBWIzSqe!Xilw2!rdHGwt`pg}~05KJIq zhHPJg21Q&30wQS0*78^f4j>UZlS?81niKtgG%;-pi%3@?_+gzq7Z_N=if)FZ8HdF_ zP7ne&vq@EM&5NqeLL(`T31P~W}$8AABVCMh9%jYH3&7!`*aGuoX=d) z1z!xvUQ3m@V5Z+2kB(TQm_&Bum}exhW+lF|;8|MieYH0;b9kcNWm~&((^h}+g$VnB z?Mr)O^4gz!!QB@*DNXFTl+6M z*Kqc{+3b|%Z(Ozf_+#6UHL@`;OJ#D(<|ITG*S4hWNx>3~7PdG#Ashq1mN$Ev3sSUE z%h-S*L##>ym^cbCuS9pBwY~a=WzSx)xbSgbLdq4TQ)h!~c#9ZK%>F-Cu`|+;4y`Z% o000hUSV?A0O#mtY000O800000007cclK=n!07*qoM6N<$g2Y06Hvj+t literal 0 HcmV?d00001 diff --git a/docs/plugins/stonesense.rst b/docs/plugins/stonesense.rst index 69b305261d..b6fa3e5219 100644 --- a/docs/plugins/stonesense.rst +++ b/docs/plugins/stonesense.rst @@ -78,6 +78,17 @@ line containing that folder, or :dffd:`use these smaller sprites <6096>`. Stonesense requires working graphics acceleration, and we recommend at least a dual core CPU to avoid slowing down your game of DF. +Yellow Cubes and Missing Sprites +-------------------------------- +If you are seeing yellow cubes in Stonesense, that is simply things we don't have sprites for. + +.. figure:: ../images/stonesense-yellowcubes.png + :align: center + + An example of the yellow cubes. + +If you would like to help us in fixing this, please see the wiki page on `stonesense-art-guide` + Useful links ------------ - Report issues on `Github `_ From 0abb501b81cc9cbe6d2830afd9830312e8fa265b Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Sun, 19 Jan 2025 18:33:04 -0600 Subject: [PATCH 03/24] fix wording --- docs/plugins/stonesense.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/plugins/stonesense.rst b/docs/plugins/stonesense.rst index b6fa3e5219..0f95d4cf71 100644 --- a/docs/plugins/stonesense.rst +++ b/docs/plugins/stonesense.rst @@ -87,7 +87,7 @@ If you are seeing yellow cubes in Stonesense, that is simply things we don't hav An example of the yellow cubes. -If you would like to help us in fixing this, please see the wiki page on `stonesense-art-guide` +If you would like to help us in fixing this, please see the `stonesense-art-guide` Useful links ------------ From 7a0e1579ba7825364d2b0f4141d8b85e46a17ba4 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Sun, 19 Jan 2025 18:37:39 -0600 Subject: [PATCH 04/24] Update the Stonesense docs. --- docs/plugins/stonesense.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/plugins/stonesense.rst b/docs/plugins/stonesense.rst index 0f95d4cf71..f0e5d2baea 100644 --- a/docs/plugins/stonesense.rst +++ b/docs/plugins/stonesense.rst @@ -87,7 +87,9 @@ If you are seeing yellow cubes in Stonesense, that is simply things we don't hav An example of the yellow cubes. -If you would like to help us in fixing this, please see the `stonesense-art-guide` +If you would like to help us in fixing this, there are 2 things you can do: +- Make an issue on Github with what item is missing and pictures of what it looks like in DF +- Create the art yourself. For help with this, please see the `stonesense-art-guide` Useful links ------------ From 3d3e118796ad0addab31a66d25920191accc2b66 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Sun, 19 Jan 2025 19:22:51 -0600 Subject: [PATCH 05/24] Write the basic guide and add the needed images --- docs/guides/stonesense-art-guide.rst | 53 +++++++++++++++++++++ docs/images/Stonesene_sprite_sample.png | Bin 0 -> 694 bytes docs/images/Stonesene_sprite_template.png | Bin 0 -> 515 bytes docs/images/Stonesense_indexed_sprites.png | Bin 0 -> 10256 bytes 4 files changed, 53 insertions(+) create mode 100644 docs/images/Stonesene_sprite_sample.png create mode 100644 docs/images/Stonesene_sprite_template.png create mode 100644 docs/images/Stonesense_indexed_sprites.png diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index 48428e44e6..1259a41265 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -2,3 +2,56 @@ Stonesense art creation guide ============================= + +Understanding Sprites +--------------------- +Understanding how Stonesense deals with sprites is central to anyone who wishes to modify the content. +The scheme is not very complicated, and this guide will give a short introduction to how they work. +The way sprites are loaded is fairly generalized. With the exception of floors, which we will discuss later, +all sprites are 32x32 pixels big and come in groups known as Sprite Sheets. All sprites are loaded and +rendered in 32-bit full-color PNGs. + +Here's an example of a typical Stonesense sprite: +.. figure:: ../images/Stonesene_sprite_sample.png + :align: left + +Note that, in order not to conflict with neighboring sprites, a sprite must actually be within a smaller +area than its 32x32 block. A template for the area used by most sprites is: +.. figure:: ../images/Stonesene_sprite_template.png + :align: left + +The solid area is the floor space taken up by a sprite, while the dotted box indicates the volume above this +area corresponding to one z-level. + +Sprite Sheets +------------- +There can be an arbitrary number of sprite sheets configured for Stonesense, yet some are always present as +they contain default sprites (see further down). Most of the content XML files allow users to specify sprite +sheets, and this is done by adding a file attribute to the content nodes. By convention sprite sheets should +be placed in their appropriate folder, with creature sprite sheets in the creatures folder etc. + +Sprite Index +------------ +Sprite Index (sometimes referred to as Sheet Index) is a concept for referring to a specific sprite on a sheet. +The index starts with the upper left sprite which has index zero. It then increments to the right. Stonesense +is hardcoded to 20 sprites wide sheets, this means that the last sprite to the right in the first row has Sprite +Index 19. The first sprite on the second row has index 20. This boundary is hardcoded and changing the size of +the sheet will not affect it. + +This image shows how sprites are indexed. Note: Grid added for readability. +.. figure:: ../images/Stonesense_indexed_sprites.png + :align: left + +Specific Sprite Sheets +---------------------- +**objects.png** is the default sheet for buildings and vegetation. Also used for all hard-coded content, like default +plants, the cursor, default walls and liquid. + +**creatures.png** is the default sprite sheet for creatures. If no file is specified in a creature node, this is the +sheet it will use. + +**floors.png** holds all the Stonesense floors. Unlike the other sprite sheet, this sheet is hard-coded with sprite +dimensions of 32x20 pixels. + +Stonesense is fully configurable in the way it renders creatures. No information is hardcoded, but rather loaded +from the creature databases found in the creatures directory. diff --git a/docs/images/Stonesene_sprite_sample.png b/docs/images/Stonesene_sprite_sample.png new file mode 100644 index 0000000000000000000000000000000000000000..35dcbefd55151f27e30aa656df873d0681d2b253 GIT binary patch literal 694 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCil&0(?ST8O&t`t2nauOECHJd(Bf=5zA0u#~7r?biB#Br15j!LI|B<)rGb&L0pkLQsURC!7eGv!0%U^# z6VO~Hu*x7y3m^-s%h138BrCW67yHpxt!7}bs(QLOhFJKwPHNoNtia=(xpL9}|A+NG zxt+`JMV7m@-bo9*{%-B8Rc4{Tx6R!B^`DE~>}z)po!xaidDXAGcWiZbl^WmnDO1oW z>wfW$JMu1%)pOQGUNd<=PGET6IDgT3o=LqwOW92X1Sij6V4umzl&4yLspw!|@-p^` zvP+Ug8iI{xEYVT6+r(-R<;S`Bbk9s~zm;iTv&#E*otgJNn{@c{DGttx2meaXw0z!e zy+EL8eV1HOvZqKZW0#|R%%S;znID9HZaMr*QEK7y4Ggm$xE$5{KkI5&mP63=A76I` znk@YB=e+GY#jlTLww}G!P$>H&=D7U<332ZueLe{ZzibrevtQ%YOh|ELK2|DN?eQ}v xeN*WtCJ!6qeT)M33`>myuy_`b4FaB$j0`V;o`TV6mNEdP zCa^QG096_o85=MzfS3xhk#zyYq$xl)2rvQ7Wdf@Vva|rQpt=kV3_!B_m-4?!{`z+k z$eiTq;uvD#-#al{s6l~;`RTvu+cY)5vF?z+mBRhF=RAkUnzQWA*Behu^j)>feBisd zac3{v26o;D^>;Qz2D)BfGsAFdSlHWNXJ7ai@lEA#I&x>p98Gf$8P7j#hd62$ghp^? zFN<7r>z=5wH1CUgTe~DWM4fSd50` literal 0 HcmV?d00001 diff --git a/docs/images/Stonesense_indexed_sprites.png b/docs/images/Stonesense_indexed_sprites.png new file mode 100644 index 0000000000000000000000000000000000000000..dc749a21965f0472cf189ecfe1083ec0892ccb87 GIT binary patch literal 10256 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 literal 0 HcmV?d00001 From 79f217d98f26a9c2b14723ffa01fe705cb25f76c Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Sun, 19 Jan 2025 19:25:44 -0600 Subject: [PATCH 06/24] missed a whitespace --- docs/guides/stonesense-art-guide.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index 1259a41265..e86bd989d0 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -21,7 +21,7 @@ area than its 32x32 block. A template for the area used by most sprites is: :align: left The solid area is the floor space taken up by a sprite, while the dotted box indicates the volume above this -area corresponding to one z-level. +area corresponding to one z-level. Sprite Sheets ------------- From 7d6fe7d1479a9819034c56901e7c234b2ce13122 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Sun, 19 Jan 2025 19:29:22 -0600 Subject: [PATCH 07/24] Fix my broken RST fromatting --- docs/guides/stonesense-art-guide.rst | 8 +++++--- docs/plugins/stonesense.rst | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index e86bd989d0..618e0daff0 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -11,14 +11,16 @@ The way sprites are loaded is fairly generalized. With the exception of floors, all sprites are 32x32 pixels big and come in groups known as Sprite Sheets. All sprites are loaded and rendered in 32-bit full-color PNGs. -Here's an example of a typical Stonesense sprite: +Here's an example of a typical Stonesense sprite: + .. figure:: ../images/Stonesene_sprite_sample.png - :align: left + :align: left Note that, in order not to conflict with neighboring sprites, a sprite must actually be within a smaller area than its 32x32 block. A template for the area used by most sprites is: + .. figure:: ../images/Stonesene_sprite_template.png - :align: left + :align: left The solid area is the floor space taken up by a sprite, while the dotted box indicates the volume above this area corresponding to one z-level. diff --git a/docs/plugins/stonesense.rst b/docs/plugins/stonesense.rst index f0e5d2baea..9e1815c3bd 100644 --- a/docs/plugins/stonesense.rst +++ b/docs/plugins/stonesense.rst @@ -88,8 +88,8 @@ If you are seeing yellow cubes in Stonesense, that is simply things we don't hav An example of the yellow cubes. If you would like to help us in fixing this, there are 2 things you can do: -- Make an issue on Github with what item is missing and pictures of what it looks like in DF -- Create the art yourself. For help with this, please see the `stonesense-art-guide` +* Make an issue on Github with what item is missing and pictures of what it looks like in DF +* Create the art yourself. For help with this, please see the `stonesense-art-guide` Useful links ------------ From 95b25360506f2c2486f0772977d95b0677fa2440 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Sun, 19 Jan 2025 19:35:55 -0600 Subject: [PATCH 08/24] fix the text around the images --- docs/guides/stonesense-art-guide.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index 618e0daff0..8edced8323 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -11,11 +11,12 @@ The way sprites are loaded is fairly generalized. With the exception of floors, all sprites are 32x32 pixels big and come in groups known as Sprite Sheets. All sprites are loaded and rendered in 32-bit full-color PNGs. -Here's an example of a typical Stonesense sprite: .. figure:: ../images/Stonesene_sprite_sample.png :align: left +Here's an example of a typical Stonesense sprite. + Note that, in order not to conflict with neighboring sprites, a sprite must actually be within a smaller area than its 32x32 block. A template for the area used by most sprites is: @@ -42,7 +43,8 @@ the sheet will not affect it. This image shows how sprites are indexed. Note: Grid added for readability. .. figure:: ../images/Stonesense_indexed_sprites.png - :align: left + :align: left + Specific Sprite Sheets ---------------------- From 7a00d9da3ddc661cf06aa2929489410bd050f667 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Sun, 19 Jan 2025 19:39:32 -0600 Subject: [PATCH 09/24] RST is finicky --- docs/guides/stonesense-art-guide.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index 8edced8323..ad85b07213 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -17,8 +17,11 @@ rendered in 32-bit full-color PNGs. Here's an example of a typical Stonesense sprite. + + Note that, in order not to conflict with neighboring sprites, a sprite must actually be within a smaller -area than its 32x32 block. A template for the area used by most sprites is: +area than its 32x32 block. +A template for the area used by most sprites is: .. figure:: ../images/Stonesene_sprite_template.png :align: left @@ -42,6 +45,7 @@ Index 19. The first sprite on the second row has index 20. This boundary is hard the sheet will not affect it. This image shows how sprites are indexed. Note: Grid added for readability. + .. figure:: ../images/Stonesense_indexed_sprites.png :align: left From 37281df838258e25c279c119ee0e9516e2767280 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Sun, 19 Jan 2025 19:47:13 -0600 Subject: [PATCH 10/24] Fix the list in stonesense docs i hope --- docs/guides/stonesense-art-guide.rst | 6 ++---- docs/plugins/stonesense.rst | 1 + 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index ad85b07213..f901ce85c9 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -12,18 +12,16 @@ all sprites are 32x32 pixels big and come in groups known as Sprite Sheets. All rendered in 32-bit full-color PNGs. -.. figure:: ../images/Stonesene_sprite_sample.png +.. image:: ../images/Stonesene_sprite_sample.png :align: left Here's an example of a typical Stonesense sprite. - - Note that, in order not to conflict with neighboring sprites, a sprite must actually be within a smaller area than its 32x32 block. A template for the area used by most sprites is: -.. figure:: ../images/Stonesene_sprite_template.png +.. image:: ../images/Stonesene_sprite_template.png :align: left The solid area is the floor space taken up by a sprite, while the dotted box indicates the volume above this diff --git a/docs/plugins/stonesense.rst b/docs/plugins/stonesense.rst index 9e1815c3bd..9ebb1ce739 100644 --- a/docs/plugins/stonesense.rst +++ b/docs/plugins/stonesense.rst @@ -88,6 +88,7 @@ If you are seeing yellow cubes in Stonesense, that is simply things we don't hav An example of the yellow cubes. If you would like to help us in fixing this, there are 2 things you can do: +--- * Make an issue on Github with what item is missing and pictures of what it looks like in DF * Create the art yourself. For help with this, please see the `stonesense-art-guide` From ebc6b3c1f3d0085da70c683488a170827f107218 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Sun, 19 Jan 2025 19:51:32 -0600 Subject: [PATCH 11/24] I really dislike making this list in RST --- docs/plugins/stonesense.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/plugins/stonesense.rst b/docs/plugins/stonesense.rst index 9ebb1ce739..33d314df97 100644 --- a/docs/plugins/stonesense.rst +++ b/docs/plugins/stonesense.rst @@ -88,7 +88,7 @@ If you are seeing yellow cubes in Stonesense, that is simply things we don't hav An example of the yellow cubes. If you would like to help us in fixing this, there are 2 things you can do: ---- + * Make an issue on Github with what item is missing and pictures of what it looks like in DF * Create the art yourself. For help with this, please see the `stonesense-art-guide` From 8910edb49c76f68d0890ac0624834bad97049ff1 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Sun, 19 Jan 2025 20:59:15 -0600 Subject: [PATCH 12/24] Add missing link to Stonesense subreddit --- docs/plugins/stonesense.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/plugins/stonesense.rst b/docs/plugins/stonesense.rst index 33d314df97..0039543756 100644 --- a/docs/plugins/stonesense.rst +++ b/docs/plugins/stonesense.rst @@ -96,6 +96,7 @@ Useful links ------------ - Report issues on `Github `_ - `support` +- `Stonesense Subreddit `_ - :forums:`Official Stonesense thread <106497>` - :forums:`Screenshots thread <48172>` - :wiki:`Main wiki page ` From a3477927eab8e60cf8a354c033d7524a27635628 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Mon, 20 Jan 2025 13:22:44 -0600 Subject: [PATCH 13/24] Update things based on code review --- docs/guides/stonesense-art-guide.rst | 14 +++++++------- ...sprites.png => stonesense-indexed-sprites.png} | Bin ...te_sample.png => stonesense-sprite-sample.png} | Bin ...emplate.png => stonesense-sprite-template.png} | Bin docs/plugins/stonesense.rst | 7 ++++--- 5 files changed, 11 insertions(+), 10 deletions(-) rename docs/images/{Stonesense_indexed_sprites.png => stonesense-indexed-sprites.png} (100%) rename docs/images/{Stonesene_sprite_sample.png => stonesense-sprite-sample.png} (100%) rename docs/images/{Stonesene_sprite_template.png => stonesense-sprite-template.png} (100%) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index f901ce85c9..6ed29efecf 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -3,7 +3,7 @@ Stonesense art creation guide ============================= -Understanding Sprites +Understanding sprites --------------------- Understanding how Stonesense deals with sprites is central to anyone who wishes to modify the content. The scheme is not very complicated, and this guide will give a short introduction to how they work. @@ -12,7 +12,7 @@ all sprites are 32x32 pixels big and come in groups known as Sprite Sheets. All rendered in 32-bit full-color PNGs. -.. image:: ../images/Stonesene_sprite_sample.png +.. image:: ../images/stonesense-sprite-sample.png :align: left Here's an example of a typical Stonesense sprite. @@ -21,20 +21,20 @@ Note that, in order not to conflict with neighboring sprites, a sprite must actu area than its 32x32 block. A template for the area used by most sprites is: -.. image:: ../images/Stonesene_sprite_template.png +.. image:: ../images/stonesense-sprite-template.png :align: left The solid area is the floor space taken up by a sprite, while the dotted box indicates the volume above this area corresponding to one z-level. -Sprite Sheets +Sprite sheets ------------- There can be an arbitrary number of sprite sheets configured for Stonesense, yet some are always present as they contain default sprites (see further down). Most of the content XML files allow users to specify sprite sheets, and this is done by adding a file attribute to the content nodes. By convention sprite sheets should be placed in their appropriate folder, with creature sprite sheets in the creatures folder etc. -Sprite Index +Sprite index ------------ Sprite Index (sometimes referred to as Sheet Index) is a concept for referring to a specific sprite on a sheet. The index starts with the upper left sprite which has index zero. It then increments to the right. Stonesense @@ -44,11 +44,11 @@ the sheet will not affect it. This image shows how sprites are indexed. Note: Grid added for readability. -.. figure:: ../images/Stonesense_indexed_sprites.png +.. figure:: ../images/stonesense-indexed-sprites.png :align: left -Specific Sprite Sheets +Specific sprite sheets ---------------------- **objects.png** is the default sheet for buildings and vegetation. Also used for all hard-coded content, like default plants, the cursor, default walls and liquid. diff --git a/docs/images/Stonesense_indexed_sprites.png b/docs/images/stonesense-indexed-sprites.png similarity index 100% rename from docs/images/Stonesense_indexed_sprites.png rename to docs/images/stonesense-indexed-sprites.png diff --git a/docs/images/Stonesene_sprite_sample.png b/docs/images/stonesense-sprite-sample.png similarity index 100% rename from docs/images/Stonesene_sprite_sample.png rename to docs/images/stonesense-sprite-sample.png diff --git a/docs/images/Stonesene_sprite_template.png b/docs/images/stonesense-sprite-template.png similarity index 100% rename from docs/images/Stonesene_sprite_template.png rename to docs/images/stonesense-sprite-template.png diff --git a/docs/plugins/stonesense.rst b/docs/plugins/stonesense.rst index 0039543756..46ac21993c 100644 --- a/docs/plugins/stonesense.rst +++ b/docs/plugins/stonesense.rst @@ -80,7 +80,8 @@ at least a dual core CPU to avoid slowing down your game of DF. Yellow Cubes and Missing Sprites -------------------------------- -If you are seeing yellow cubes in Stonesense, that is simply things we don't have sprites for. +If you are seeing yellow cubes in Stonesense, then there is something on the map that +Stonesense does not have a sprite for. .. figure:: ../images/stonesense-yellowcubes.png :align: center @@ -89,8 +90,8 @@ If you are seeing yellow cubes in Stonesense, that is simply things we don't hav If you would like to help us in fixing this, there are 2 things you can do: -* Make an issue on Github with what item is missing and pictures of what it looks like in DF -* Create the art yourself. For help with this, please see the `stonesense-art-guide` +* Make an issue on `Github `_ with what item is missing and pictures of what it looks like in DF +* Create the art yourself. For help with this, please see the `stonesense-art-guide`. Useful links ------------ From e25c7ba6336c9fed8eab7ac080995dc38766c4e8 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Mon, 20 Jan 2025 18:09:35 -0600 Subject: [PATCH 14/24] Apply suggestions from code review Co-authored-by: Myk --- docs/guides/stonesense-art-guide.rst | 4 ++-- docs/plugins/stonesense.rst | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index 6ed29efecf..c8cb645b0b 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -48,8 +48,8 @@ This image shows how sprites are indexed. Note: Grid added for readability. :align: left -Specific sprite sheets ----------------------- +Important sprite sheets +----------------------- **objects.png** is the default sheet for buildings and vegetation. Also used for all hard-coded content, like default plants, the cursor, default walls and liquid. diff --git a/docs/plugins/stonesense.rst b/docs/plugins/stonesense.rst index a4bfabf5b5..9b0a7c2792 100644 --- a/docs/plugins/stonesense.rst +++ b/docs/plugins/stonesense.rst @@ -78,7 +78,7 @@ line containing that folder, or :dffd:`use these smaller sprites <6096>`. Stonesense requires working graphics acceleration, and we recommend at least a dual core CPU to avoid slowing down your game of DF. -Yellow Cubes and Missing Sprites +Yellow cubes and missing sprites -------------------------------- If you are seeing yellow cubes in Stonesense, then there is something on the map that Stonesense does not have a sprite for. @@ -88,9 +88,10 @@ Stonesense does not have a sprite for. An example of the yellow cubes. -If you would like to help us in fixing this, there are 2 things you can do: +If you would like to help us in fixing this, there are two things you can do: -* Make an issue on `Github `_ with what item is missing and pictures of what it looks like in DF +* Make an issue on `GitHub `_ with what + item is missing and pictures of what it looks like in DF. * Create the art yourself. For help with this, please see the `stonesense-art-guide`. Useful links From 336289d40d9e9fc877b279d685fed7354707125b Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Mon, 20 Jan 2025 19:08:07 -0600 Subject: [PATCH 15/24] Update stonesense-art-guide.rst --- docs/guides/stonesense-art-guide.rst | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index 6ed29efecf..2d93435673 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -50,14 +50,11 @@ This image shows how sprites are indexed. Note: Grid added for readability. Specific sprite sheets ---------------------- -**objects.png** is the default sheet for buildings and vegetation. Also used for all hard-coded content, like default +`objects.png `_ is the default sheet for buildings and vegetation. Also used for all hard-coded content, like default plants, the cursor, default walls and liquid. -**creatures.png** is the default sprite sheet for creatures. If no file is specified in a creature node, this is the +`creatures.png `_ is the default sprite sheet for creatures. If no file is specified in a creature node, this is the sheet it will use. -**floors.png** holds all the Stonesense floors. Unlike the other sprite sheet, this sheet is hard-coded with sprite +`floors.png `_ holds all the Stonesense floors. Unlike the other sprite sheet, this sheet is hard-coded with sprite dimensions of 32x20 pixels. - -Stonesense is fully configurable in the way it renders creatures. No information is hardcoded, but rather loaded -from the creature databases found in the creatures directory. From 68faca83e10d3e13c7ebfe8d456c0aa297038226 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Mon, 20 Jan 2025 19:11:27 -0600 Subject: [PATCH 16/24] merged wrong --- docs/guides/stonesense-art-guide.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index 18273f5b81..08599ccb39 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -48,7 +48,7 @@ This image shows how sprites are indexed. Note: Grid added for readability. :align: left -Specific sprite sheets +Important sprite sheets ---------------------- `objects.png `_ is the default sheet for buildings and vegetation. Also used for all hard-coded content, like default plants, the cursor, default From 508b4ee93fd2422c74b2575f2ffb10fa330147ad Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Mon, 20 Jan 2025 19:22:19 -0600 Subject: [PATCH 17/24] Clean up based on feedback --- docs/guides/stonesense-art-guide.rst | 29 ++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index 08599ccb39..56c14f6740 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -5,12 +5,6 @@ Stonesense art creation guide Understanding sprites --------------------- -Understanding how Stonesense deals with sprites is central to anyone who wishes to modify the content. -The scheme is not very complicated, and this guide will give a short introduction to how they work. -The way sprites are loaded is fairly generalized. With the exception of floors, which we will discuss later, -all sprites are 32x32 pixels big and come in groups known as Sprite Sheets. All sprites are loaded and -rendered in 32-bit full-color PNGs. - .. image:: ../images/stonesense-sprite-sample.png :align: left @@ -19,7 +13,7 @@ Here's an example of a typical Stonesense sprite. Note that, in order not to conflict with neighboring sprites, a sprite must actually be within a smaller area than its 32x32 block. -A template for the area used by most sprites is: +A template for the area used by sprites is: .. image:: ../images/stonesense-sprite-template.png :align: left @@ -27,20 +21,27 @@ A template for the area used by most sprites is: The solid area is the floor space taken up by a sprite, while the dotted box indicates the volume above this area corresponding to one z-level. +Understanding how Stonesense deals with sprites is central to anyone who wishes to modify the content. +The scheme is not very complicated, and this guide will give a short introduction to how they work. +The way sprites are loaded is fairly generalized. With the exception of floors, which we will discuss later, +all sprites are 32x32 pixels big and come in groups known as Sprite Sheets. All sprites are loaded and +rendered in 32-bit full-color PNGs. The image files should have a transparent background but pure magenta +(RGB: 255,0,255) is also treated as transparent. + Sprite sheets ------------- -There can be an arbitrary number of sprite sheets configured for Stonesense, yet some are always present as -they contain default sprites (see further down). Most of the content XML files allow users to specify sprite -sheets, and this is done by adding a file attribute to the content nodes. By convention sprite sheets should -be placed in their appropriate folder, with creature sprite sheets in the creatures folder etc. +There can be an arbitrary number of sprite sheets configured for Stonesense, though there are 3 sheets that are +always present as they contain default sprites (see further down). Most of the content XML files allow users to +specify sprite sheets, and this is done by adding a file attribute to the content nodes. By convention sprite +sheets should be placed in their appropriate folder, with creature sprite sheets in the creatures folder etc. Sprite index ------------ Sprite Index (sometimes referred to as Sheet Index) is a concept for referring to a specific sprite on a sheet. The index starts with the upper left sprite which has index zero. It then increments to the right. Stonesense -is hardcoded to 20 sprites wide sheets, this means that the last sprite to the right in the first row has Sprite -Index 19. The first sprite on the second row has index 20. This boundary is hardcoded and changing the size of -the sheet will not affect it. +is hardcoded to 20 sprites wide sheets, this means that anything past 20 "sprite slots" is ignored, though less +than 20 slots is fine. The first sprite on the second row has index 20, the next row is 40, and so on. This +boundary is hardcoded and changing the size of the sheet will not affect it. This image shows how sprites are indexed. Note: Grid added for readability. From 6c61637efc3e7dfb45d30a279247ca6c666956f9 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Mon, 20 Jan 2025 19:27:13 -0600 Subject: [PATCH 18/24] clean up --- docs/guides/stonesense-art-guide.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index 56c14f6740..cf798c7e56 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -26,7 +26,7 @@ The scheme is not very complicated, and this guide will give a short introductio The way sprites are loaded is fairly generalized. With the exception of floors, which we will discuss later, all sprites are 32x32 pixels big and come in groups known as Sprite Sheets. All sprites are loaded and rendered in 32-bit full-color PNGs. The image files should have a transparent background but pure magenta -(RGB: 255,0,255) is also treated as transparent. +(RGB: 255,0,255) is also treated as transparent. Sprite sheets ------------- @@ -50,7 +50,7 @@ This image shows how sprites are indexed. Note: Grid added for readability. Important sprite sheets ----------------------- +----------------------- `objects.png `_ is the default sheet for buildings and vegetation. Also used for all hard-coded content, like default plants, the cursor, default walls and liquid. From 2d0458ab84df6abaf086243ed48144c9f6055805 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Tue, 21 Jan 2025 15:32:58 -0600 Subject: [PATCH 19/24] Update stonesense-art-guide.rst --- docs/guides/stonesense-art-guide.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index cf798c7e56..ac9f23baf9 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -12,8 +12,8 @@ Understanding sprites Here's an example of a typical Stonesense sprite. Note that, in order not to conflict with neighboring sprites, a sprite must actually be within a smaller -area than its 32x32 block. -A template for the area used by sprites is: +area than its 32x32 block, typically 30x30. +To illustrate this, here is a template for the area used by sprites: .. image:: ../images/stonesense-sprite-template.png :align: left From 44702b53f34d7c47fcc8f751ec066ae1e6331cf7 Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Mon, 27 Jan 2025 13:43:43 -0600 Subject: [PATCH 20/24] Update stonesense-art-guide.rst --- docs/guides/stonesense-art-guide.rst | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index ac9f23baf9..3045d060a1 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -6,6 +6,13 @@ Stonesense art creation guide Understanding sprites --------------------- +Understanding how Stonesense deals with sprites is central to anyone who wishes to modify the content. The +scheme is not very complicated, and this guide will give a short introduction to how they work. With the +exception of floors, which we will discuss later, all sprites are 32x32 pixels big and come in groups known +as Sprite Sheets. All sprites are loaded and rendered in 32-bit full-color PNGs. The image files should have +a transparent background but pure magenta (RGB: 255,0,255) is also treated as transparent. + + .. image:: ../images/stonesense-sprite-sample.png :align: left @@ -21,12 +28,7 @@ To illustrate this, here is a template for the area used by sprites: The solid area is the floor space taken up by a sprite, while the dotted box indicates the volume above this area corresponding to one z-level. -Understanding how Stonesense deals with sprites is central to anyone who wishes to modify the content. -The scheme is not very complicated, and this guide will give a short introduction to how they work. -The way sprites are loaded is fairly generalized. With the exception of floors, which we will discuss later, -all sprites are 32x32 pixels big and come in groups known as Sprite Sheets. All sprites are loaded and -rendered in 32-bit full-color PNGs. The image files should have a transparent background but pure magenta -(RGB: 255,0,255) is also treated as transparent. +The way sprites are loaded is fairly generalized: Sprite sheets, and the index of a sprite within that sheet. Sprite sheets ------------- From 15cc11655ff68f55bc82a2c6246f18d135dae90a Mon Sep 17 00:00:00 2001 From: Squid Coder <92821989+realSquidCoder@users.noreply.github.com> Date: Tue, 4 Feb 2025 01:01:45 -0600 Subject: [PATCH 21/24] Update docs/guides/stonesense-art-guide.rst Edit from code review Co-authored-by: Myk --- docs/guides/stonesense-art-guide.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index 3045d060a1..237532e7ad 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -39,7 +39,7 @@ sheets should be placed in their appropriate folder, with creature sprite sheets Sprite index ------------ -Sprite Index (sometimes referred to as Sheet Index) is a concept for referring to a specific sprite on a sheet. +The sprite index, or sheet index, is the zero-indexed offset of a sprite on its sprite sheet. The index starts with the upper left sprite which has index zero. It then increments to the right. Stonesense is hardcoded to 20 sprites wide sheets, this means that anything past 20 "sprite slots" is ignored, though less than 20 slots is fine. The first sprite on the second row has index 20, the next row is 40, and so on. This From f3ff1635e29aac042d123a82727547769c6c86bb Mon Sep 17 00:00:00 2001 From: Squid Coder Date: Tue, 4 Feb 2025 01:40:14 -0600 Subject: [PATCH 22/24] Cleaned up the wording for the doc. Added a section about isometric perspective. --- docs/guides/stonesense-art-guide.rst | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index 237532e7ad..6c67dd831a 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -3,6 +3,14 @@ Stonesense art creation guide ============================= +Understanding isometric perspective +----------------------------------- + +Stonesense uses an isometric perspective, a form of pseudo-3D projection where objects are displayed at an +angle, typically with a 2:1 pixel ratio for diagonal lines. This perspective allows for a detailed and visually +appealing representation of a 3D world using 2D sprites. Unlike traditional top-down views, isometric projection +simulates depth while maintaining a consistent scale without vanishing points. + Understanding sprites --------------------- @@ -18,8 +26,8 @@ a transparent background but pure magenta (RGB: 255,0,255) is also treated as tr Here's an example of a typical Stonesense sprite. -Note that, in order not to conflict with neighboring sprites, a sprite must actually be within a smaller -area than its 32x32 block, typically 30x30. +When working with Stonesense sprites, it is important to understand how they fit into the isometric grid. +Each sprite is designed to align with the isometric perspective and must fit within a specific bounding area. To illustrate this, here is a template for the area used by sprites: .. image:: ../images/stonesense-sprite-template.png @@ -32,10 +40,9 @@ The way sprites are loaded is fairly generalized: Sprite sheets, and the index o Sprite sheets ------------- -There can be an arbitrary number of sprite sheets configured for Stonesense, though there are 3 sheets that are -always present as they contain default sprites (see further down). Most of the content XML files allow users to -specify sprite sheets, and this is done by adding a file attribute to the content nodes. By convention sprite -sheets should be placed in their appropriate folder, with creature sprite sheets in the creatures folder etc. +There can be an arbitrary number of sprite sheets for Stonesense, though there are 3 sheets that are +always present as they contain default sprites (see further down). Configuring the XML to use new sheets is +outside the scope of this guide but there may be a guide for such added in the future. Sprite index ------------ From df9120b31c5f139cee82d3960c7a71d1ebafe056 Mon Sep 17 00:00:00 2001 From: Squid Coder Date: Tue, 4 Feb 2025 01:43:04 -0600 Subject: [PATCH 23/24] Update changelog.txt --- docs/changelog.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.txt b/docs/changelog.txt index e747e8aacc..5dbd384744 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -34,6 +34,7 @@ Template for new versions: ## Documentation + ## API ## Lua @@ -61,6 +62,7 @@ Template for new versions: ## Misc Improvements ## Documentation +- Added a guide for making new sprite art for Stonesense ## API From 7d35804c52df86eabdb2218a8f43a8271abc6f22 Mon Sep 17 00:00:00 2001 From: Myk Date: Fri, 7 Feb 2025 00:37:15 -0800 Subject: [PATCH 24/24] Apply suggestions from code review --- docs/changelog.txt | 3 +-- docs/guides/stonesense-art-guide.rst | 14 +++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index 96c3d86675..360d59ee3b 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -34,7 +34,6 @@ Template for new versions: ## Documentation - ## API ## Lua @@ -67,7 +66,7 @@ Template for new versions: - `spectate`: player-set configuration is now stored globally instead of per-fort ## Documentation -- Added a guide for making new sprite art for Stonesense +- `stonesense-art-guide`: new guide for making sprite art for Stonesense ## API diff --git a/docs/guides/stonesense-art-guide.rst b/docs/guides/stonesense-art-guide.rst index 6c67dd831a..c9e966dba3 100644 --- a/docs/guides/stonesense-art-guide.rst +++ b/docs/guides/stonesense-art-guide.rst @@ -16,8 +16,8 @@ Understanding sprites Understanding how Stonesense deals with sprites is central to anyone who wishes to modify the content. The scheme is not very complicated, and this guide will give a short introduction to how they work. With the -exception of floors, which we will discuss later, all sprites are 32x32 pixels big and come in groups known -as Sprite Sheets. All sprites are loaded and rendered in 32-bit full-color PNGs. The image files should have +exception of floors, which we will discuss later, all sprites are 32x32 pixels and come in groups known +as sprite sheets. All sprites are loaded and rendered in 32-bit full-color PNGs. The image files should have a transparent background but pure magenta (RGB: 255,0,255) is also treated as transparent. @@ -28,7 +28,7 @@ Here's an example of a typical Stonesense sprite. When working with Stonesense sprites, it is important to understand how they fit into the isometric grid. Each sprite is designed to align with the isometric perspective and must fit within a specific bounding area. -To illustrate this, here is a template for the area used by sprites: +To illustrate this, here is a template for the area that should be used by Stonesense sprites: .. image:: ../images/stonesense-sprite-template.png :align: left @@ -36,7 +36,7 @@ To illustrate this, here is a template for the area used by sprites: The solid area is the floor space taken up by a sprite, while the dotted box indicates the volume above this area corresponding to one z-level. -The way sprites are loaded is fairly generalized: Sprite sheets, and the index of a sprite within that sheet. +The way sprites are loaded is fairly generalized: the name of the sprite sheet, and the index of a sprite within that sheet. Sprite sheets ------------- @@ -48,11 +48,11 @@ Sprite index ------------ The sprite index, or sheet index, is the zero-indexed offset of a sprite on its sprite sheet. The index starts with the upper left sprite which has index zero. It then increments to the right. Stonesense -is hardcoded to 20 sprites wide sheets, this means that anything past 20 "sprite slots" is ignored, though less -than 20 slots is fine. The first sprite on the second row has index 20, the next row is 40, and so on. This +is hardcoded to 20 sprite-wide sheets, this means that anything past 20 "sprite slots" is ignored, though less +than 20 slots is fine. The first sprite on the second row always has index 20 (even if there are fewer sprites per row in the sheet), the next row is 40, and so on. This boundary is hardcoded and changing the size of the sheet will not affect it. -This image shows how sprites are indexed. Note: Grid added for readability. +This image shows how sprites are indexed. Grid added for readability. .. figure:: ../images/stonesense-indexed-sprites.png :align: left