From 610f30fae9e2e4ed90e995893d06872c7e6fcc3e Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 20 Oct 2020 00:34:53 -0400 Subject: [PATCH] generate a built-in kernel font --- Rsconscript | 27 ++++- font/Hack-Regular.ttf | Bin 0 -> 305316 bytes fontgen/fontgen.c | 224 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 250 insertions(+), 1 deletion(-) create mode 100644 font/Hack-Regular.ttf create mode 100644 fontgen/fontgen.c diff --git a/Rsconscript b/Rsconscript index a8e6338..13a01ab 100644 --- a/Rsconscript +++ b/Rsconscript @@ -4,6 +4,7 @@ configure do check_program "grub-mkstandalone" check_program "mformat", on_fail: "Install the mtools package" check_program "xorriso" + check_cfg package: "freetype2", on_fail: "Install libfreetype-dev", use: "freetype" end build do @@ -13,6 +14,8 @@ build do EFI_PART_SIZE = 8 # HOS partition size (MiB) HOS_PART_SIZE = 4 + # Kernel default font size + KFONT_SIZE = 12 class BiosImage < Builder def run(options) @@ -94,14 +97,36 @@ EOF end end + class FontGen < Builder + def run(options) + if @command + finalize_command + else + @sources += ["build/fontgen"] + command = %W[build/fontgen #{@sources.first} #{KFONT_SIZE} #{@target}] + standard_command("FontGen #{@target}", command, {}) + end + end + end + + # FontGen Environment + Environment.new(use: "freetype") do |env| + env["CC"] = "gcc" + env.Program("build/fontgen", glob("fontgen/**/*.c")) + end + + # Kernel Environment Environment.new do |env| env.add_builder(EfiImage) env.add_builder(BiosImage) + env.add_builder(FontGen) env["CCFLAGS"] += %w[-ffreestanding -Wall] env["LDFLAGS"] += %w[-ffreestanding -nostdlib -T src/link.ld] env["LIBS"] += %w[gcc] env["OBJDUMP"] = "i686-elf-objdump" - env.Program("^/hos.elf", glob("src/**/*.{S,c}")) + env.FontGen("^/fontgen/fontgen.c", "font/Hack-Regular.ttf") + env["CPPPATH"] += ["#{env.build_root}/fontgen"] + env.Program("^/hos.elf", glob("src/**/*.{S,c}") + ["^/fontgen/fontgen.c"]) env.depends("#{env.build_root}/hos.elf", "src/link.ld") env.Disassemble("^/hos.elf.txt", "^/hos.elf") env.EfiImage("build/hos-efi.img", %w[^/hos.elf]) diff --git a/font/Hack-Regular.ttf b/font/Hack-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..097db18146eb8c6c91a7f3b6694b444694edfa44 GIT binary patch literal 305316 zcmc${2VhiH_CJ2_eecao`b>J8$&^ecJs|-?Ai&TAgx-SG(7PZYDxfHWq5>8WL@etf zDr-Sk5qm+`f(@0mE9&a5W!JKz5|Z)%IrqJp%!B|z_y7F`QfB79Th2ZA^m8ubj4>O2 zsLa}T)W89F#hH5NPW-kE7&WH%MQc|*g1536Q_dYWs;r{upZUkocndzCI(l^fUY>tH zna|WecVtYPGksyh;+wCZ*M!f1Vl4KR>E|wU9xSmhX6kjt=p%O4;@JzYcrM$D$Gb2V zpEA2)>04)QQ8<{hN!=nYsAc>*rdSdK+G|e*hAUMYHp`n~A>t z>qfKq1r5s4ZRoF(6C?`8$RothUu(c{+x=nEnu_c&jn|nGh-1uNB+EE>D)!L*c$os@}~LbMz3h) z0_%;EuPj)zo7J&B`1iE&?=|)s`<{Kz9~Tw;Yf&Lb<#nseU|m=b)|U-p!&)P7|`__crHXD{tv_}N?g z3h#fd9mCIWv_|~=Ry&TL|JIuD^FLZMetxF~Li3Wyk2=M^h)qSEL!_j z_(d<#TRWyTYR9!Etr@-0`sEzigXkv_bDG80vuoL%cool5nFDh!Wt~M0Q^Yt?seLbh zmy53QcbWE+{M|uxk-tktmHb_T+2DEY2l=X8RO_DtA_U=d(Otf-)P6KR?@y$k!?89gk zf!|EYfn>hJypVtHWc-#--a)5RwZmxQ#QX_|LD2A>ELTIn)!6-*SXWHX%(~)}I9A50 z*@gTfel7nK-^KUxfAZf%mUuyYq;N%1q7;v^Ub#ZKO4*|PNx4het30MWuDqnYru?M* ztY)enwX51kouW=xm#R0ax2u0uA5))GUsPXFk7+i|u8q~kYg4q#v@7C!S{toRj&+VF z9RGD3b4ELT&JNBhXIE!W=RoIR=M?8+=lRYHotvC@J0EgB;!1V7U3sn%t|_jYTz9(e zb?tXO;yU2^$n}-$dv}sM#qD%^+$HYr?ppU0_gweI?kn9}+}qr{+z+|;yZ`1s-(GU zL*EhKH@;sAE-%<#@J+$-LRMH-IKL>aD6=%ZG^f;CT6*NRBYzG22AW7;ae#6;pm-}_ zcPn6bAODgEM7sE!cvoQt>@HO<2kbT}Ta`a6dzAYDyC;;FCG41*rRJ*L)V}I8^&ItT z^)_{n`l$M}`ht2;eOv&Pxi zfZa0Z1s}}K5W2lxNDT_YS+!KyIl7Hc8|KAa~*MgJs{^ zJfZvt5KmW!s>9Wh>Kt{Ex<WAvb>c7;l)o=04w^}BB z2E23z+h}gBP{ST+wV`+VYJjb_On9+|oiToak-+S@>B}f(V>aZ^})^YML^Ir4Q^r`u|ur`XQ6Qjj2@q(ghOT`$mT%0TV zC>BvGt`@_=!v=`4;+Xi4_)(0|&H;6f#pzB2r^{hZ=4C#d^A4;MJh~e6doUZqhJt5| zV-vs^XR`%tAv;H$E&7VZ+6AIsy8;ycVs;6;j9tmDXWQ6Lb~C#Rvcui%e)a%(!{6A8 z>?QUpdyBopK4YJ=f3dIFf5bv~i)ndz?MO9%aw5$Hdp{S@r>Ym%Yc{XJ4}y*tg8gR*7fXdEn`*AuFskMVX?R z4bnpbyA=Fq15067Fgs+4>(~~S#jb`dv6ZE>jiwk=EOW8#kUMW=9=5|2XNqTe>?ZK1 zJ6Q?a#cpT2A#>cpir6itOjDLA!DNNh^cRzpb!7KI4!w_cV)vS|O?Fnr_JS(^mDR9^ zSU2{d$<4a6eXKuwiapJqVg1;Xkg}dTT)t=Ix);`kytnJcn z=l5yPXwPb&YyZ%`&_2+PXdh~yXrF2yYoD=Z7T{iXj61lUJGqOyc^1#+9N+pVZXBDtcm>w(T{V%Rc_@rp2QP*GEdyM9G=V5_;5Y~RAdw%%g6Dv_yj(Y zPvTSfe7=A$;tToNd@*0fm-D6k0!Rku@OnO;ui>Nl`TRV-lCR>c`MG=rzmQMmlleTp zgy->#xsPAM8u=KW&)4z-ekm{H>v$1g&x`qGyo6uQ|HAL)rF;V~<5%!Ic@V#y59Ygh9lwJQ;dk<({4PF> z?-73yg={|iCz}HeXde60lwnF|OW40nX{Ja#;CD`B?dn@}2U%@`Lh;@_`zy#;CEX zRgF{Q)dba|MnTrdR_$t`GgfdbzivKF3l+nrP@(u%bb^+~N%E7Qs$cU5SWT1WLMt&`SStJ1n?)mm4roBFs`qjlGMXgxK*)=TTH zKB4u|`fB~O{@MVoRvQS(_bo_oAAoDVu0AiN;P=({)Yl--y{x_jiTG9ZP4!vzfciJ} z9ra!Hka}4CyZQz=>__U`kO1eY^VJ3FLU81>)y3)(^#b*L^*nWjdak-$U8b&7FH|N!_Ym zuWnPfYiU}tmZ~0Ae^!4{f7MdddUd>dmO4qDs7_F)LUWj`_E&pB3hu2AfF{vTtyKp? z68?*Nw|bBIxmYTei6!D3XfksG*Q;~1UC?CAY~J9#(ZlQg87hZP2F#dET8=UfLN}Nh z{vMV!cy9_CB+2(du7%)J(3sB=L$glt*!b~&7zfNIO~r$XO^Zn@;x?B}bJ<+#oF=Ah zYWhOS(sup&qd9)*F(_L!mKU@sV^WK_yHlr*m6a7KDaoG7u)npIx$;R4$7YA) zn8UHj;RvjZn6c?>`Y8B+N94>~_6N2G%s!q~`8&pOli+o7Q=qoP>D5yJ;@!(xox$zKs18v`>w zyL}_OQe0vC#=DEL&3o>T9NMzwmWYv|Ffngnxq1k;fDA~0=lhegxJgxjUxb}XT`Z7s z@Zh~JoDru5>lcbi==&zukKF@&8X!b0@ z2$v9VF|iDu5kb?jVKDRB=_G?`M8V}v>*r!1$q!u8Lx?yAH<{t}io zxjg@o!-oUkCnT(kwcOKTc7H-e?QmmJuQBd=@B@jGp>wwovSU7E!k+$`!bD*LO3Jxn zi{~&+gRn*?$c%F~X9#eW&*ei43NkYaiVBK6u8jQ5e48!P7ZsCP#PfW4m}2M3iqy2! z)Rbhi$!r{zimJ|?I{NbRJZ>{)oeK2ehq^jlgI3jbo$2)yJ9BFI-TDC%ef-76#c9>{ zo<+s=Jo)fpZH23*+n`~q1{QfeGrHGytIliOAXjssxVWdkI4z~9xL42mrWxYbW=j|? ziHE*X2HAFqe^3V=ZQ^wTyP@Kc&1F1B!&Y%+UM!Dh7IU;^4&?ngL!!9ZJl8z5yqvM} zit>uG(vsq$!h(GClUD#;KQ}HWtB7L*u)MU?H2hDktmxdSQ>Dp_ox$3C^sTQjB^=js z(z7ea+PzsFtCN#$2|4+zMP=m}yF1>SQyr5M6`$ZvN*)=3iKfc(;m&RrbG9SSWa^l2 zn$fMsq9#~f<|tLm$SgKZZiS}OLdDdbz|#b1Cf)sA@eULmWp*@=VkR}pG~0r0BdX5k z3<1_@Qw+jlwOW&`z&8EM8WWRK#Bow=p>I$*n@8b0#CL&vd1c^LKC}7Lz^ya)i`DaA z)(-Cp^xxC``5t~z;9}uZ)F$Ysz^UDU^AgM@8C0&2_3(F#0axR7CY)AH6&l!#WH6Wt zp%kBj0|Jb4Ia5;#e9l5wp(8sbCp9NI(P;taNOA$#DanAb$qa}SPPts%KqrsKmelg+ zZvN;Ot5&&loYVSj88vF%`aol#Ki{{--^<@?%QxTMJ7n;%;dgwe9iBdYU;p`ed6m(r zvuEG-^6WXv!s;&PFYizh=+Ru=qsLX(_UqgH5!S)kmA`$ic7Rnjhv;1_h+I~jP((IP zzEVfLkWThuVl1oylpA92P|ng*6Rpt}mcw&2oLkKegs^o?%%ua7Vjzdj>cX6Hp3Nrl zBWH}=4^X?(-jaia$g8#dfNWA>|j;ZJ-yV3i z`DUlH`|AZM$wZsv{J=96VCdic2{x`Oo=A{Ue=HuXNh8W_)F%r<{ zg(}toifRKO0C<{AN`o0hZHW?;LvqnfMYA<{fB@BYTmR|%1E3NuW{)c~-Iic3v=rJB z!Adg#sWfncb^(iDbJgv;uX^i=OHK=~2ObFgeC+NwEX zc<9RRB%!D-E))$QldRDM2xtv}0070g1lbZgHlhKiXd%gxcAylF*37nAszb;7lQ`>C zSq%E`$j0HS;WcI{@|aCFYdBU&3L!~^B*?x_Kp4q&e7UVrN_>H%)`BakW$8tUF$p#H z`W{8arG@=Qu1d9}Sp&`2MBtZJM`th$d9*0eF)yvsF}f@@&18yQ>zwE;vieeOkF>%$ zoRzTi8pE9IW`9C5&Z{E@=QYPTuXGG^7zYp_V$5xIw9KK?N~h38kdg%Ggfkdyc-pRj zSZO3y+Osm!l5DZgIHxX7T3U&dij&!_42LlV?As}+SBgo@b2zSXIFbTK0taABaPHkc z@Qz7=3;6nnuip+~5+7aTIJOK1hea@g+%WR>nqJK}HQ&7Y^^t(X2JnZG;15x-V&#FL zgxGG>8sXkOsBgwuJ_rv_H~@ zY}Sl4Yo;wT*Ci=XR#B2pfiwvUhMlR9U?3oTr4t;83vz=3kLw%smlwy5dvVWHa}Cj% zNdUkl0Kt~s3z|RpFfgAsh`h!6{=~wn*^d2*kAp6hmYN)w6`zHPwc4M^Nww_E7~apA zQkgNOR=X0Kl(8WkmQHM-YY8&QB7!0zXRtAzHzbM^AMv-lcc5ylvC2fC z1LWBtnzo3we1d_W+aeaLqh)Zp!F>s?l~lgq3Cx!e*NqXu>7R0~A)`d7^{Lj{-rif* zDh(90R%xIxhwo~(ZlSm|a;efl5nL+vLB~PeHsK-51oXTZ5v|)Ku-j&f$xJj-QW)qE z7E9C=78Nx&YACS~kJ}~b6Hn!g)D&HXkBilLs#M~`%`#z&7ab%k4JfUa zEqUmU(1L^b`2T=TBzeN=1iunio4~m6*`AC}kj*B6Rr;Y(>$aL8z)AW$fj&hLCjclM zjrlMEgUuBYgTh`Df({*-=OL34Z@04x{Lx_R0!l9<`yol81)-A{PLsrxC<|gk<_@6= zHh`W>OHE#=Ep;pHG%aK-_=td93ST-#v&)I6sR@9#r;Z5;G-7gy9gNS>L4G0MyecmYY`x|%CxL{iwKBm_H;Em@jKARSfNJe^!NQg|QV z{Lzq`crTtlZEXF}qA_{J6H5+EpI%-*<%Qmr>7^;}@f{;)%(Bm!@hW_1OZnE!>`t#2 zbg?DbAb20V`P0GITP!FKu+)3`}X=TW9YZnl(h)l6y| z@zYX}Gsu>UnTUq2BH*fug5f91G8^nsGgK3^S#5}c?6(BAWPb@g0DjuO_T&9IG3b~K zMg_hcdunoYMNEao3|paKQ9Mc-Xq~=F(qAi0ieVH0Twq9Q1ukk50@l@mkJDCU{N>M% z6=}Z^+=dOW`*`#7JHo(Lan1BK!*!sUI{kR|**_k;SHg}I-iG<}BVaeQ*53lT7T6Jg z^RS=&sU%|Bpz|hji)QC0vm0tJ>2PF5D5R65!j2&IUJH!-7M&f0>Az7S{g)J(0(v5- zD4*^DQfZ3OTq?|v0cH2-;6%kaILI0FPo{=ci3iPrtZ&1Yo~QmuHXNPuk8=K5>7i&aV%x z4ZI$B5xU|#I?T6AcsC!A=PsK$*$Ds8XdoC_#$XIpvm#F(_^ru2z10CECM6Fbv04&) zQ<4(mU?a}v*~DHnXh{6<+X1FuVx+vHHvTqolq9WAU0(hfjt8hjfX<7Kk_UR_%E`(|PK?cu%h%a)bQ>z}NnvNGx;;+@y-0QUqzJ&JPFD*$9>ZLI z2k0<73F>UfDlmi^P5{YBtWtM?ifOB~L7%jFHXIZM2M;#C12W#cQ_N^A5-&7YV=v&X zQ(r@WN$@9i^LNn{0Xw&VM~Kai({?53SYkLvX`6x{<8R~`S0q8T}SY>>-c>%17*pPBa)xIgn5|c zy1<`6H@U&u$tbE#X{{9zKSbw}E55|511~7u126FErUQG_i}&m~ei6l82}JgwPeUh~ ztkdvZ0vY4#8Z=lWA!Z1pWXNpMhFrwr)}b9=M^J5}O&fX;51W+uE9pTWginp+o5pia zoS&{6T=!78Zs3;VL*Uo=I&w`)2#|WND6KRgFKGoDMKYwrRsni7^0?Z}HfoTfZ=A0p9DEXsWKsewd9F)yt!>1Xk z1vGYRnQjPIbUonepf#I_1o=}>f&+#I;0_}=Cu`|35H&#b7ykCS@;GoKl~wr5G_WBY zSuV&`7u4QBZ(Ce-4FeVs0!fV7_ zF*GSL(W;USxzdJ^J?`OV$=+A|yZJFO_NPF`4&w21#P;T!n>LDXcQqs6820k!BSyao zWPJ?vOv<#XO^+DBW}_ht2_iHEiGPqH!iM4RK;&yRmM-LR#M3f$Db}H}41X$4Gt4~z z=2XBDE5ONBAUI?A_wF#9ZD?Qx0b6vNx9DbsI&A;o?7)BE zdk6dw0j{2p^~bV&zc<<};7>uCB}eR0&26vpJj&0q%~$!&l0m;98<>+ z&y`r=uLpi(0m}jH@bOCZ)y5+A)#H^|GiE0HleiMchVP3p;jEBxm2~yY2%MpVL&RM7 zYxvVz5GLZ2@%|{x06RjcPxzvR<{>^Hd2V^jY$WPLOei=XlIN_5^NAr{I6ew)^kDc| zI!;;8x~)Q#qp&k+?l%O9EP{56t0l6D|D;cY#zxC|C&K+r0cO&v+cNi%rFv4>^mRLR z_yRD0;HHFl_N3PD??`zL~1MaUbrU3{y=;Fb{xkvY3AFjno3ys`{d|Bw|J zLmOtphGl^~D4?qZ6(SO3Op{XYLJjN|=ZD@m9KTTiTD8E=<+^Q2UZ=iuh^Vo3g!*bq z0eV)Zb*^;UK!-gZk$%Tn8f54&$tmE&a~Zb%q@V z4ed}aZ9^@wL@{R&OB99cFFc z$FAOpO;z;yNt%&@SjssqT47i`il!+f=q;9^MJ+KdewRTvD7>ZZHsk#%X{m6=+f%)1 z-nbYwMN1(e)rd(!eAj6f_ynlT;*&0tXwI>}v}dKkbrLP2sJxd#+9es{JXi zZ=r=50Voy_qwok6vcQGZ##6Q=)010Ey>`+);RPD-1FUTlpZ{+Riml>h&29BO|t&z&_v1RRBa}bZnU-W-` zUXnaXr`=(5*X6DTo*-Vu*c|)F@wG{??kp1#z?wW^RUe z-Oc6>-kVNGo=j?N3Nac4`-BiRN+K%RV5Gysh0oCt=A_vtX#>|}a#EBfJ2T0h?1tqy z5fT#wrf6C>_&q~)KA{R1`QU_i*$jkXapcZSuG8RM9 zHrOT*th!5=+UnZkLZ_pMk{~Lp$TQZdW1{r@fK#SbrI}OlJ2iz^ric7OJ~P*Yh~X@w zKxurKM$zBF2qPcITb2iMlA@x!_w+xys%Coen66jOxHAO~sF;;CkFBqsReo0Y&Ef;3 zTXz{hdal#$BuP!UZ6NzNbf(xCqoEa={K z>)61`rzcNKO3fc}Q2n;BM{;3ZZQU;~6jeFnb3K8*gZlP9@=(X|Zdd2bX3x-)5-eF| z5>ApYr?XtdT(5%R9fQWlLZ~k-$)zM2HI2iiSeMR~fjZmvLIJzm@`$g@wQV_U{V-!Suxw#>{ql9nm~vdmpDKI=VT~N0Ox%n`*gbr((Gc zFdGs0?e@S0fs1bgw1(E#^&c5%dh|MfVDF|rA3Zta@{(rHod6LqUCLI7=kgKnVGo^X z?IBSUHexs?qs$FB!Hb8)a*M?TkEF@8#1v-j2{ml7_MGgQ2y0L1xwZ#@oa*S-718dj zPp_^6yAAA6mS0^^jrpE=?0Y+ie>>#ZS5C?sPAAnKyQDoFQs7K8^%>~2DWJ8;e84WL z$i13P?gSZy2)~J0Xd0VBM&h|_Xlg2FsqR!)2IwdmkK*HEqge`1A#ai^%&7~)WCYNA zZ6yEd=eSbLxcP-{tNh(+UcOO`4D8^wf&F|*^UK}u@8{0-c>3KxZunjN#*cXFh>@d> zum)HPmsWqg|G|&DE+w7$Zp?Qg<{JkMtkCa+eHG>{1!R*99>6kP`w~MF;?q;(GZHdv zKIl|1)leL@jEY5Mo<|ZB3W~*xyZM8^uI$zsw&TydZbz(7MfEYloL~yKCNu zOO`a>DFXTKLF?8J9N7Fi#wVZ5MvR|;T$oaS5l*nCat-i;+ZHhiv-K&+xJjEeE5n*? z%eMJkIF-`gRp~V1_+4@qu(1V0CSQ6vz|~c&dUjtGXbNB=HxC<{m!Es?D9j}AQ;5PLE=qsr#k1T%4!~kLKV`4oZBAGm?E)<@R z=J1@Rry<-tFFh~Q>nFHqZe$~iqzJVI=_*7UA~cuHnnO7jPz>dzuWQZ#KJVMWZDHIm zOPG*;dtr+X^Wj7FYjOjd_!n*HF#=iOOy(42;dEi%@B<^^MnaJj6ba)bD2eYQF~Xjm zmz(Xg`)qj*r-UW#r_6|;goxC%B#)wpT!i2XE`#0O%y0eWlC}By!?uj*nBA-R;Cm1F z`Z;n&l|6Hi-+9e|0fTcF4nC|MK6~-2!&a0{PD!q^&#e#4;pdNUHVb ze$L!xlsZuKIZGO!0qt@+J!x2cEfMD7ze{Kss zZ)s~bM>a!PO;)DUk?G2E*>W>wP-oDjQ=!tj9fHV1OlhWLJ<^#5Jy<$We(zOgu)r-Wpd!P1mEVPsk8`%THS?LrIl6U|+6XnCDzysqVX&d3@GF=Qb zKw_^Ey3iVl(^8H23wxR!lXuEMYS$^I3^on~KIv}qcxj?K`D~lArOk?RWCnpobRjv@ z1z(XHhDJze5ICVCC_&j=J4o#0U}vAT6&sSr;ZRIC=twv zcp{4xiEA=1OrB0rJOAzZOXkj;bHms%U7Zbs7tGvNG5Iq8U(Xpgxok$K@(CrACT+gM zo>_hEyw|5S^zXjbURwN4t;gNB@5S@Gx(aO>X?-gv|LNe0>K;ka_T*P{iV_^_msj@7 z=(XplUY1#GE5ArtXCSr+78U|S%bw#Zsx+I>qV3avkw1r(CC z$Xd{56Pd8%$j(TE6kebegeB~N_fe{ar04*Uo&ku+CIcpt`>28pBqJBSx!~i2H{7-K zx&?1OdcntA{_^G{k8Rq$_}Y1IKNUZdD#mKhrYVv(v{;E zIMd7je&0KvO4~8*sf>-U4d&{UAnvO)PN*ih1Jz&NrRW>jZAZP zy=Gp+jh%pDy$=KpVb8f*P zN0lo*b#S%Bxauk*;FSAAXX-3=jz4_>Fs{}IjLS2_&z1&95u_v@%>Bt}g-Vd|k@`cY z4J=|I153z8hxk9UjfNCqnJ~1jPp^_9w=*+6NtzmYko6H5DH{-all0sLQ+?>A?#Vk- zC@Wt9NRxM_x}#fV0;R_%o-x41J_)g5>6smpTV)8@ys2lt0d&@zKa+6xB6730zbE3x zL|Pa%)4hSMh*~IWvmoD>mzkcDWY(CMdxKG%r$4qba%|A4j&0yUkYf9(kL{g${1}IJ z$kf}wKg=x4pH3zXL(;~yAt8`Gf}BWPj}Y<*HBh834U`!!V{=%d5p7HyagQC|S;oq~T`RP5)PXW$y3`t+&*+mgK z4%tD9g6zMr@CFc!xgixT2R+C*MxB_P*vx;*UO+;k<>VtgLW%(p-d!gEu?Af9106Uf zp+o1W3}=(zo6aWq6QXb$$>IoZW@<| z&K^!$Cn9Ae$RkjVg1W@(N!1;{A2U8@n0Jk@LvMYSJ!e(jm%i4Pa8}N!zO<1v&+9+}%ZfNmClq0GHR$&}#iUNd%FO^+O_W_sBgn>D~S!snfAx5t;*v+JrWwyjjQH^nX} zE6wcYa5$XR_QJCH%Fj)6F1@a#!S5)JkF$bO34Okj&z7;Xbhe6AJqUPQStF%g0vOgn zhKvwP&8C&ElexDiek|E(t|u!4C|{5kU@hikKoPvrm1H+!UD=SqbquR}LFL zW8r-@x#jWk380J}y48#wvnJaVqnKXK%dU5rGNijACcb&iglz=E&hlw^bfi#^uj_8BK$$mMjNgC z*{A9RCTiP68SoaJ28z!*Sm!fYLO_ z036^Fq@U#HD3JCt5KZt485bGJDKypPgo7hKOs$g6jrPpn@N=AI^5pSo=e#M-W2WTI zomq{)+KL^rL3$8%s7}KNn_#Ba`J8T5lc8axL?e%1$5>xZZf?4?#0NnPWNnoa)ry8i z?2Ou70=(DY;@n`SRAJY#S5<wc6nzz|++3!<|O{RN0JPmTn~{Mci8BI>!wHxvS-_@oK<%zFZJbR z_p?q))PMzfJSz29`>CS)cl#n(x%vzq7 z?8vAnG)+4{DczM(QDQoFNxQ%dtiigsLq;~~x>8HX9gZ7CVkR1qm>hAQp6WxWB01$y zVDM3jWz>oqi-72W9Qq)8T`cSOFaaDC7gixc_C$g!fX(@Q>9mvv+LWM7tA9w&OuRq- zVT6q7frGZnq$K(eU$NqOe)FEU?%w?TCr=%G`6-0>^;O(WAF59_7AY&5HULND*ivS; zvP&P1k1{D54D>C+v$Pqb(V`aSH$N<_jwTtD9}pj^XR_evwX{KOnJ!>c_^2YVJZ+8M z%m~gSWs0T_&Y*|aAucd{0fNNmfH!;{(oEcHDWSEHES$vt>W@{4D#k{^)*ZABheTpT z7=?uW`3OS_*A1me+=k8&-j0@in$G;rp!_YX^(ZDqHLcMHHO8YboEW)sDKt~EzZ9Ay zS8qtgftMlxpck)e4FYg6eLwX)i(Gc#VYfX~F>ArFI%4LbDs~}Ze?BOwUZy~2`A*q{ z@djf3i)8IS;Gm|3w<8Fgt~bAntnaF3UUTBG#)t$1J4Ns0dZg_+E3#_dsl@CEF!9Mb zIU93wj_2fDm6Ox7DI8X&bLhR`|C>&LS?~;yY-DA3g`EM?qE3z6I=o0Y{=YaUtq%%P zzQYd+C-Jy>SNPgVAez!@#Z=Lsp#mu7xaIh>apI8x+bRS;5yw&5cqlqu#=vurFa?ms zTFZyN7wE-5c`tBnVEOw>ns~DLRZ-d8yXh;jws|$7A4e<(>O`V{3$yz(5#JNmzfKj= zJB3iot}79REJVQb4w8xIzZY;F6gMkX%?rhKO)oW1qyA9ekNT6cYb;yvaI_hb-ZBuG z_6KpB!QgZ~))<_s#lMpgu`>}3PWI$@5K_!fMqpE%LXr*wOp@r3FKnU&+@^UElWm!+ z2~x|sIt_}8HiM`JX^DK*sR;YDUNF8Or4JN6h)aOh=jyHNW7Go5H!ph*)wFF1s|o8TP4l2R3~te_@y~V zd8z3qaQ>Jb>NR_I96wvn-<18za}~#~@<&59RuC%?;+8?iP5i4RJ;z9vL=l}}dLHJ} zg0OA33<&`z>x(cLQx9P<;)6m95F1GV*d4wM0#oCxw$?(q0bBg>vVVC)f!(33-xv^KEZk z_1T(Vu30vm|sIh%WbHFRskCHBYeyXMcm?VA^Oso3u> zu39~J(AF;||D)bFzHsKW9g82DQ{b64dEQ){AqfZ52K?2H4dSK#=ya}X2+ETuk^;+1 z4Q7X|Wi+yw6%<9qd29dH>14sg{yx0rEl-+rc9kSzHnB@ z@sl^qC>>=_$uwI9g3jVJbE0@8E*=#I?GuV8joCJ?{;OL?jqGk8W!ez9yz$M3($)2k zHZ<7R^{C0p>bT$Pj7cg??w)V==M1?1i>~!~g@clEsx(J+YKgUCXj=J>dGq%dbm?-= zj4qiD(Doocl;MVp-fRTl=#S1p#SaHg1<4YG50$t%3BENdm7=leC@p$6cr-^OH5Ntj zi9iY@%M6L*QBi6`tPzE*oBqm9`>6hu1p%TmczN(%!i?WJBB96c7}5KCNAy<$5TtOn zhR>-WLpV0x@9o*IDb--VtU8+Mp7W8I2O&L-GdF`UHtK+Rc8SQ zGeMhz1#IDr1%-iJY68er7KLjVC`8WG0B{2bp<50?$#jc?l#O8dRbt4new^Yl{Rwk4 z>>+x^R>HsEF%se48I5$tgGju|_V=`y`}gfR#6P4{r3;QxRD$hc=>dr*mQ)>GwWp}t z{{?|^U-$Es4?TG0;Xi;RM52x!{ewhGHF%a))^{7mCiCI`=weW*qA)5|5hPBrA_fKu z-K=l|k&2f@DlURZm7eZN{UHm2io$5r?;DTM-wC&*lF%R*sKwHl`lStzXWi9<*XI;||E{BKAN&-@$D*fIGJ;Klz? z7Si55m29j_#Iq@K&4{#b4?djYsaE@>OF*TDiDtM(kZ}R`J)~p@ zs5)GMsC28y@@7H$Kw1)1$tBW*%I3NI=d(l2DVWBX|}>6S`J8=(NIPHJbPAZ2MyOoE|rtZd&V^eOXAFw~N+ z&`<*ZH7Zz6@1Nb(&^+3=8~)L*dc|)jD9}}~4+j4?leIIOjb_vN41aV7@P9;5gtU~- zfF!DED08tny1Ftq$k&0);fhLIG5}pTeA=hmlmmYMxO8HF&$#~IIixNVj2+{!lOuZK zS!1S;oj!PARi~07pVvOxF&YkO-|0Ji;BsmeOdeP?<9(H zP*xa&e2|H3KEKx=UCk{~T~J*#s3%vGr&L9t8*<25Y>YW}cARvxk~K`avZET1o(D}O zI(qJq1RfJ(YKRY|^pU30shu6@&ql|i!j+y6NIJ_O8l6z_caKi`^B)-9U)8c~P7p(3 z&v`)z!m@Bus1ZJo_vcQYln2+%jA@hRPo6(&M9=P>DiKOIF>fL^DmUMgu;E6 zjJtXeDjK}2r{$_1^Z$x@xp`&fSrD|n)u~o%d|qNAGK_=o#3h*$67ZIo{s(Ye>$Yz2 zp!fu5RZ?`cH*dJ{A~s%)@_I)!-uXum9T7^flkNr2>xElcC$bs-2HZ>`lw?>sdUVDW zC{?h3s&#QuvSKNm>vJs#cF}9TEFBUb4V+{R=2+caI&5g~-Y7~mdg#Pq6MGNoJ!BBB zY^v;#=cOW?*7%qx){FNdN+V->sX($csY#1km`N>78rE#6xt5HuH$4+t#{0^`%82-f zZH*f#gcQZ0r}TylZG6^_5k zCM7y2`A%Dw#hR1T>!Ned4ZM1m#cEOF(xxqS=eaU7D(@~TC@2^@tRP?9+i~aurz7|B zn~Ivh?c-cFtG1+c(S-62Z~#05Sl6495lP@<^Y@u?HMw-6({Z#zaFEps6x|R_)eBey z?%^^F(XLjXgUHO4rA`>4jtwhxS_(2DbL`2!6kkjfF5y#H5>KK_JpgbsYUAP;KpI?=nTs6Ob+wTkP|McHxx%~>$wV%19nnqVsYo$GU2XBq{XeW+_2XYB zT|acd<_VYmX+Z6*>+84o-fZ8>qwl$wM{O-CdZuU1vggiQ@%*x`J)c5#EWljON!q^) zSs%aOiWL4_8|u}1<=rdNSR~`Lq30Q(hmk21$}P*nB%>%yp;j0S)FzWKD((hJOz?Im ziK#SE*oJ|sX56_^Mke0}0)h93^xqPgFks-wy8d-%-8*SgQN@(|Dn@xqdgZu>=Xngn zE^cg1+WhXI8&i@?p6QciU%dGBsk>^HSmSLa_NS8FNb<*W!q#I##3gE(kWVTJej8sh z4r{)=uLx3V$RlOsa{=gK7Zu4GEorFGQer7-ov75Vh4C3zKKRg;KVP?~9ZNfUl&se6 zSsd_(YCHmedeYrO-5_k&BnY|;Qsv%MxDj*V!wKdWISK27Qgl1-76KH4EseW{x^ylp z&Che?pc-IL-ZOZ&(1|-K^KIM8If67Ei3#Gh*87`WkmgHkl~xuK6`Yxd0u>_1jlyN2pOOIRv61YF$UapSVF?8T{lkR=w(R&`fXsg!OakT^g8*jm- z#L4*ArJ&@QUR^&q^v03%ktQ01L#K(jYOysHgh` z)9*G2;W&dZ+UMN+)_fEp?J{bd=yUAbjeB;ET)VAb-|ImT*Gj@TO5d9eSYIvH=S3#! z9Df|$;fZkWB(PD6fyf8x&(=x1k-1JmZbTrdim7x#QdK-E7(Gumi}(q$sb8 zuSg-9;wn?~(%@snf6Z6rt4#Bv@JJdWPJ^YobVjNNM8Zua=KkZN)xZ9n z7^9?WR#QAG@$Y>fT*O_j#^)!LmaO(au;hw?gSuAOO5*c<+in~*(7t6Wk3vE7 zd@M;=x}~KRrB0kS{Kab~PaFQ$Q&XQ=5NO(3SG#lG!Y7u!)ZZK0DW z_PORn{T>C;Lz(RSeYRMEdm|0+tOtjcp^PhIz+1D~AkI|$Ml@)2cLTW=DFwZaRv_VX zQ3{oslDvYJ@X;nGQ8k&Q%;ZdRH6xcbQG+2p+9>qJgH?YFY@qwD@U5POB9YC-mk18}oan74KZM=`3xPFhZO zrY#|s{Oc&+D$lX3eh+~mF(t(%sgh*BNgZh&SeDowXb!x${GWS{{L=LK{s-qAm@wtQ z)-Ee&&e|{}+K&6u7oMpQ2joxJs`^v=qldi8HfBi&YrJSpj9X#N+!~Au2 za9Rh5D#gjb%OnK{%JN4zB5EHHi|Hb4zkd3iC745^ZoUdo)iF>mW(c z>`7z@&L3x!gx#PBkwj-#x||h-go($nnD^`Y418|M2S=MepIW+h!o*1(W_9kgprCx} ztD?YFd--K!#@KZ0D0pt-#>0b043n$dH?zEBc6?Fx!>R75m}qhT*p+#s>+5&Qa~NDF z)j#mCG5(PxRb(K_B@>9MP$Ao(KoQL?xLwDB3z+HB3}CMzSs1r7*zFdx-GfpEIXGyE zxNsrck_`zXMmnpEYYVYplJ7#>MZyx6iOn+eA-Y^Kjkw9$uXld@bJOQf-+k}9^Pag` z*?jrsf5E~GaiS}ae~3q28~FJ6S*C|yT=H;Hk+}b+d+)i0Xl~2CnNT03oYq7BMJLvS zIsjOY+&efHk?UtxkDiRy?hO>Bx_^x? zZ1*0LE3JLIs2aGc`^>6XFV^6n+<}`-6}SsU)WPizYb9=jmDSu^yk!uxpLN#^Amm4F0izA2(=G9A)Fxi zxL7_L>mP-f2YCUbsDnvfKf%&KOG*l8a^zt)E}?L{Nmg>_yYusM?OEw*xLU#$=h7vn z)?vjG3@5{MQ7Xlz%#$H{nB;U)RByp^1*i73^og!I{{N9a@jUYBbZyrr{x13?{WKZO zNpv_BdzU8Za0~Ut5jQ+EZLTvjQ&TgYC@+(pl4MPYjaD->B;ZQ!4@U++fs2Hbr3P|O z@V+PAEOI{ZlkQXS{;qzAwM=0b58j&zp|4n8FoZhc^AH6g?^vTK8${7TW23tqbqk_# z(^{6lI2d{YW*`1go6Ql_q=(e$rK)10TP`G$NE*73DEx9S5q9TLb7J^)Tc%NTztDxD z8@GaZ*8%qVQb@Ho_@fIzY2Yo9^>RE|U1{k0q}U+kq2=LNMN*v5txNKnCJL>=`skLX z&|_^sFy8MeL*g{D-n*1_=~Rj9VeOge)>2z3Nd}0gL5@`% z$wc{(6)*QEL1EKSYFmM-!j(h_id5G`zsk&v07YijX6rQ|b^Z&EM`DL8uOY|*C2!Wv z16Jv6A*q0$&ur@vWca|%RlrzDaY0#O877eL&C4zDM3W6QsN#_+qg5K8$rE;7I5@XA zFOSy{t1hiCDhpk7me(P-AarN~rC{Jk2?zx5E zbT6iU2aN17(q@J@Wh_(B?Q!$ME_s+QgA`3DA(7;QWF^ymNVM$;>tc$`^TPQ?`Lj0z zhk4OmfBoptw4wasz(xC&Lz{>0zxRd_v!`!vLIe=WrrQFwYAN=?#mab;KOs9-;0jJy zLJ z73;@wgK`I#h>8XiFu~Lj3K;7Y3d{@98f;W_wBZb-&_fwKhK(Y#7)d+0Hqh88m}iZs zN8@37j`E3?%1FnyAEbTz-J{Yr{;pAp!2Zrr{hfk*BpBjpv9tq5y6eST-GxYQuby4{ zRrjl`C@n^Hx=d@8t*V9ShJqNwi7q9x5(4S(5e}JwM8UG!&_oG~a5n;>k<>mV9-Tme zANLI{95$}QguJ@JSNC&yitFkYJimPT@^hb`TQ{gYarcUI-@0UdAJ5Dl>o;8;L5GiZ zHk;$J_ocaGQb*>moV0FoY3WTjBdE}F(@jN%6M%BZ*IojYd+pG?>WaS~diDJfzEOOl zixu+$`mOMG8&r6dht{C$$VyWbEZYG`Ug}0BRGKoI0ZRkPmdfBnDP05KV0N2EVT#M; zE%D_1D+zy)o}v7`Q$0ku_Pa(SJUheDe#bzPh-7=*7Bgbbiao`2rkHtE3~mpRNizcKl`LO#`o4KlYt<2j+0aKs;YgZ#kb$H?$J$L-Mg17oAzQ?156Bj_YJ=L@EeETZJ{Cau)7Xc zz$;NPEnb){C*ZLFOso1v!>>KVb3GG`4RMrR?xg)nOrq$M= z>Soy1m4rXovU?|gNS?#+huS-uJcr>Ao_;j{nJ-IjqbuJ>dMYA4I^=gi5^PRJ8f^P{ zae2C?DsLqXQ{EBWq4W1so=AZ*Nw}kI>8Z9gsJ0$cPk$sK+Z}*xmj&4_nc?OV$f#7s zRhoN|txjtAQkfr)jQ3d(6_xL{Y{*#m)Y z`YiU{jY;6jvfqAH`(nK@sN;)@Fp%>@IBVpCf#yJ*oI;KnESolw3~31W&WOus+cAS8 z2A$-+v2e&#rid8ww>X}@{h_1$o{9DEXhn{D9Qfb(>fvWZ@2i_jFIYn+KfqSbMV*Sw zHrySA*HW&=@bEoIqdUqTbCwWCw-&(z2jCm#V`DHd^U4%u!tjgACt#$~()xES6cLkT49hfc1|umk`TI*HmKJuo(dAvgm=uoSH0? z(b6oi*hW^KYBd!hbeoGb{AZFKo`2eT{`1spJBP9qf%(*d`c zLRV2B>sU9&`Mi|Mo}QnPA8v+gZF7n+!?lJRuMM-dDPa?CWm9{g)x-sRU*hc_*vBN~ zQJt`l?~}oZ*Mv=^&20?gk@mR6qe;5c%t^|YVee@ZnX-_1h^Y6k z=mfyUlKm%QkG03QG`?{Hobmy>D}Pos1^ z&GLJLOE6mFWXUX81D}m{SOKXKId)uRoN9I2oGt2uyq%YFpu*G#S)?WW_=`!cZ8HnQ zP$)w5Z~U^=77;E5)<}PB3@b){a(p^0R}du35GVu*fpqUiQMesAoJ8n%&BC#0mM#Q^Z zSGZifqY=Sd&~e?cAR*qF?+%jvV{hnjxn-05u@l3nb9J4wK6tK78ho!stk&O8ugpU? zPl7P&m3bsrl=n$u6QQO|p<4;S8nd$)E6m4z@UE<)>>_lK>2W88Rop?~ondy9x2hOs zwKh)H%*g}#R;S~R2@0E&FY+DuTkyBSHdXy*?Y8b!X;uWkU9!Dr<8%Ek{l-RA-T^5BD5>HO)r$bHqstoQt$AVh zL4Nim|NKZ`0EfSB+J+}h$xSQyp}<+q{YCGK13k$;^%-h#>wPCM+|$+4yHNqQ^&ls| z6Eborel-fYwi+*ZC**^m{SK@rE?iE)S|a3x*l082%~%`)I(0e0fSVK&I^F(I;645c zq!G*EXOy3>K7N5Nga~#k`i?f&gRWcIw84AJarWT#M*uii*8pO$h8v_E1KPxsiobwJLsQOZgB z9M@s}v6y2Q*j-3cqEbV~c*dUu4MI05HR<665+boY)~LAKGO9u~lw83<2P3|~5*pK# zO*c`}Uf+tnjyA@v^p^uDbmgZUUYAzSWJs#z+cISHKe62{V?HJ8rPtA3V7zpakI8XB zlAi?>9VKLS;js0lQ<>J7XqL{?!-PZ4hpQ`5b(gNNL_7%zi7q1Jym*kV zrXYViy;!)-+IQXNE`6`PymQr^aq$_0>g=}oJL40w1`W!x#^0e%ow{=4##wU%A2qKK z7hiaVtE$Gcer5AT;^Ol+xw>?7UwK~hMYNZOo`bd6SYN6tENfxWQWEJDH9(NT#0il= z7qX~?3|``sNEK-O!=#QFN)Q%++Y!T5kll$h|G~#SGI!D1jr-N9cZL*?NA4o+hww?) zwJ7&3g-v(}V3J{0G>dGSBII&PZ6;ebQ79ddRP)B~G(Og=Y+z=_Jv~b$tkDD|DRfQA zD7D2=L8$cv6${Difwy-jwrEM@1-!pys=AI8nkU_XH(kGpA5VEaP z6)nBqjo%gg9EF+zLrmAWDi7$Ow*fZj)1?yaR3A%PrB0kOx9b+Dz~0D7Qv^cmX%l>L zUbEyLr?4>*yPSc<6q9C}-qvQ@gP*m%=Ts3|ZaaB3B;H1BJ00r-;j`n@ak9hrpMa|0 z;duaec+&jRaffFD_Bwc+TJG=!tbl?i-rJE85$Y9#(~bzZ2>B#vJe?1d zn|_NYGP7k%d8<;GBqJ>~#wAE(pp&h~`_mcgTHUF#ysR)EsRh9_0$Dr|kvTF}DpYg2 zjWhzYBqtDAK{2FF0tqv4H|2zK08Wt=@Gj2nmuFpAF#3^s=Um*k|9;JMib((6cOK~4 zdGQyzMPb4OGARJ>WPBm^H3m9v*xj8=Bk%4cO9BMWw74{+mBsKF{q9a7V+5h&A|AY@ z`lOim^)J8v>tDb8{MCl*uG?_MbzAJbjAwH@FAp4oX!3dBt(`{>z46H>ZyY)TYNE$C z5?x6K?5dHiq*D_j7a>YPk(;5I>eLhjQDvv(rsg6VN~-$$Wt+iL8}eQr{WeiqLjz8M zU__euiO9&tf3EIXvvTEE-(0YA<@w)kti{*HtLUd5S8)B%kFMhOZTJfOBk-8YC zg$oz{{q04lP82q0vJ3d=ez!==07(@gszLs}(6td6=@v6$n|v8Q!~*H&fvEqFy7z#O zs!IRH@40tcdYws~WF|9{-g_W{p?3%Zp+i8rbVNWzv49jQOK&17B1TkJfeo+=tEeD| z*wFRebrs9*+IJOPO6K~0pL6fDWD;=q_x?Wrzin4@bMHCNdCt?n&*KH+D?J<9T7Ifp z0@Sgs9Z=QJ&Gw*C>F$mtR0@5ZJ)1=n)PaGNRPbp)ot>ow6p9P8Dzht5+0!hf&^$Qk z8&bIG2K_r{U1@EX%>oXOw!Pc`WgcU36qg8XZSA+lW1?U|og-mMX`;~NJ_n1SyDVTm zL5tCp;4X2TUV|D|B`eG|J;nx7zajMzx-ndNiQ^!1{U1ZwZweYkrdenp5I&HcW_OhF z2FSdXEOm!QfiDuW{C;El7W^2Dv2<6o?xw!b5$15?&tHFY`RA`#%7QGU;az`YX58&B zG;^|@j@frf+WNcX&*b+QiYQnLE4UPcp1e)ro&s0gBR3Dy-PZ%tl0-305w)C%tx?p) z!+%QUf!YDu7#n239JM545++f`1jSH%wUtSfVure8F|Og$m15{iS065<6@T^bpTAZX zONYT0a)5!lPKc<_Xx+QKD^>YN`ytjDfg4XU3RZ#|JPItM(5g>^I-$5Int2nUjR-h- z(z8Cb6?2aN;uRE{GpOoq-|M-)Fd~HjpPm%v(ToB?@EA*SzWQTun>YcX59=NsOmpz&-n%@hkM*$`V zvjw8jA_~Sz0T4fuXhC(5)He!kg<$l029Z+EMD-mYQHlx+I~H}!D#+48O~qAEHF24H z?i~{E91K8M0FoK$85ou6_I}{I#c5GDr3}783wi`}3L4@PgN=(9|Dy;P%pR#5NAJxx znHDeprebJ%ZRH+upS7g4)9T*#480)?Nm!_3(O{5^Oj+>><*{e7YYWECV<}s=hJ}Y^ zn-BIo)n)A1yGcDqhMTL8NtX)a;_fKjGP$CnU5|@1XTDQeVXU;f-bqdk2?^t}hSP%A zV#k3V*+O4uFVC#etV}DPHHyJFm^F#n|8g;@bxhv{jN9P|~T3WU(+mY#+9g6sL z1xQ1s@kABB(V-}70WHWt!Vp%)1d#_f)c*X<>G_~R-IZ_NoP*ulC)TXl5+077uMZ8C zixgwz&u2D$4cjSi7B>9w75T67#Rb@Faqh)es^;~)_~*B(XSQ>_GsesRWcQW{-GqM5 z-U0e#;{tfhSHB^l73Bnq?O0RZt)d&?ux06Gc#i^y4f}O)*ftpb)=b*-tulXGw(a$g z+rA8#7z}-S4Ei)zAf)PWXI(hcLp5onOe;DoN`0wfP|^fRlc{LO9RUc@p@|Q$G%BE? zbLad#CJ;2WR}TQ;JLPxEa3m+fa7UgSg&w(7GpJxBJm@|pNZ z;tLq4N|hX46IQC&((nU}Y|icXXVv9p4*A2#4xRG*9Dc4R0I0>qa~!>`oeEMqC05tI zQlCSE=wa`ZJJcg0z?OsiME1@Uvtye&526T3QPB;EyY>e{pT(?8Z@>M?r*B`lgfGDkLM4i(2Y4ew=-~`O-dO;&N+pGmFsObxE#1n{5U|BFR zl^({-M&7#b;-qr&D1Uf5I`8<(Ph83unu|wx6b&o&YwSu< zDc{wyfoe?Z?|uvBsF>gSEE%8r0`Vy2Tw{b`0ZumF9Z_z1z{&0(1w3aO2S!J&P}F~Y zaR^A!aeIjw%L7v0r739z9O*^KbHe(j3BZcSBKu~P2oZ-2Jpej1pOU*hWT=CZ9N@;& zHBmZ^kjB!Kh%?GoAd^Wiqi&E2eif#J{4~YI(ZpD>-=06cyLbL0^OyG9z40&S4m|$o zvp;6vHLo`_eQWN1V%qrIdJIj9v~0ZZ@#i}q8ue6p$DFwEimUrhQe1_v&x;#xHeXX^ zN{SSC&yiM5DGI<12{+E?Wj4c&Qz4|XL(?J(rbjR(z*L3M#Q&sb%8weH!eAx+$Ei^2=II+9E`_M!& zJfb+W*U~5I^0Oih2~md%OmUf6gVW10tg+$Aefuu0yDzU0A`kqhV$JI?JvE^_@FW9z zWJuCYhFO9vDr??kn5EBye3)h5-kqKKx&Og1%U?lQ>5m{y?VWMfkY;G}`0&tQM`JO9 z6RKluVo87zmcNeXoCh(#lJ0ss?Dm_^uLSAn(o;4K_-D9k7+^{5QW3aJXX$D-?G~;P zpI_Oh&08e@1=7iUlUu|mSTf=FkXK8PAL}mMsdSGHEwSjJj8Hy?5lKl-&%ffo^&PG} z5(gQ^Yd~SI(4K&9<(o=!Ci(n?Q0x51c$Lyl8a`cNes-3_2D7v~>#hWAA>y!WvO@Va zqkpBpxfFp}s(Nlb2(3n~b&7!lSxD|1A0#XOxmTyS-j1Fa_RXnKD(}F=TLZRDNo^0k@kgN~`CXL$%T2ds8AK3KP5L)fC#= znKPi)(z@kUPtO@*yQ8YAQ|Hw;HfrWvoIH8vtUrZythv1?Gu{#FC?1$QXm;;=3x;uf zLwN9)CXE4o=VJt9HG^Pm^hWR%2}X}z_erEiM^c87CsF~k_DiHzL=mck*Stv?Z#_%c zjz;!`JZ8-N3!10TiWAl`N3FbioommCRR?#F8jZ06ziUoy$sqG_gkU)ffRcf$E`@XU2tw zFTeDx>B}!^Rr}6;xAv=bte`uV_0`(%?io+(5|wr7Ho*Q#5IQ=m!^21gl8wu#bjfdJ zG%uY{#k^E5-bBj+d4d!qTab!lr>;gyu304!I0h>!MVh(tt-2weMHS@VbwRfQp|j5h z-S(z0y^4#lFwje0#?Q$i%!Y~2B!;9BP}*r$QQKPyRH4=z-jx=4Z(c!%Um6QGRtls^ zdvh34DmI4Sn;7_62D698Y&rx-OjLp$)6Iiuu(_H!ZZT_=)C$io)7HdEw1rm+bJeM% zw(N(U?(IqM;NY>5%F!k20MgzaB0Bo)6W_!hPvK4{X~w{Iul3}_s7yCT0!xAwU>c3r zc$ab{_f|a&{ z{4Fvr>d&cxDD<~DUTyG!9{Xs0KpCnCuuHNQqse?zF77E~Bw5te>UBz-qy4jk2RD`{ z4yb;hTQ{t{XmFiwI(X)XIdeXz9c=B9<`^}qfp215aWV0;dmlRB`)4|XDYKFc?Mmi6 zkrqXHSgZoRCZ7nqfw4RuZPk>H%+9oy4^XRT{uD}+sBQCbXRJYwJ{s}pv>&QZHKgJu z_@rT!8^CA9a$)J+lA3<`F5sq+c4>86I2C1IO1`B~xaTkp9(SLR)pxehG@fY2z7TgD zZ$Lj2C0OeS_zZPY=MSn#$l*?_lAg)UA^D$TjxS6o^sV^3S$ZbmS^B4Co@}xG=J}Y` zPS^K*|Cjlc!mxq&#?v+3TkNTAK4n4%?tX)2j$jqGI>VEgPC}qrhf@&9p(9RBhPx+d zbiy=h(XL)QHl8X=rXo|LRCiihJi`SbT|Gz$-k`+pc?5B(JCK#-uWI%f8rzW=vceJ=9!i^56obDhSbz=^HuL%gPgq%fSDIsOkiQ~2+pX>FiqA&PO>=&zKFj9yGs z1f;Q6z}yq+%i>qUY6H~EpCFjTXpGgk%U26(x_LQRD$JDssrHkd*xjFlZ#>ayNE$3j zHxGY=xK$E*A3SuJoLaX$c7TQyO_&O-4-hxd;8T5h*&~y)T7AyL(_Xo(4D^Ip&UDx; zsmXcfJl~O?id^Q#csU2C#PYE&-r$`7_KD{g1{mLI^fu5fh@Ofu$fLD7SrM{;?(CNm9 zA_a%erQnrhUN;Pf&YqT!}>(X$l^}Q6mWzCBBuz0j?9qat1CPUhGT5uUb?N zU%wuJeoUAEVLwAt4{4p`jHf7xGQAG+j~m)MaMkGbe+=Dgo1uR!w3Z6%Ol$KAz#JW*yz-@DcLH$Ny zQhlB>%aeZ;t^vYLt}p#QPDqTct$v?oVYYKtkZtFlh3U51sO(3BCOhg}O3!@DHbzqN zRfwu>CV$vs9apY2UkTlRP7Cdiyza?P)i3U$lO{7kB*HGYfMW_l(T;QyRyM#lf4b0kQO--}`qnETgaR-;Cq^(M<=85iVPtns4UC?CBj_Jm(^2ixrWhpUmjOjYW{2vd-6 zx*zY47t)-m28dr&8&C@efQqg(ulEE0N4aa+EQyv|W7egA+CpgIu|C?V8_Gd-lw4-+tBl%svA_L4KC%Ju4HsIyw1FIZRO9EakbDhz~X$Z;%`t_c#4z3+gF!x1KNhev{@Y0!u+!HdHUt z7*l8xo;*{sW4r?rKCI%$kR5At=AoKMkPrBOo(i>n7XWOI{G(-I6r_kSMwX36Ac^?@>Q+Xp9L{l-awM>4F4H`1^;K%QjcZ$y7U1W|88M@sV zlR4!&rjaRh)&30GY7}am?a=H78m-<~>O*gd zg|my&%i4d!k0=((g%Qr7v54WtAlhm{MLp7N8ZDHi0J{M>PDzBdjNTULE(8>d9)kc4 zw}ZWO;~;qM)AgqThe+;}V8~&yqc|1aVtLzU82cfiF!sqir`Z8~L>|&vdL3ruL55NS z2vo~}^yIa?YMX9^qxFd2inb;F`ivfP;7GM?SYA!Fvvb$3X&uuK4jX!Zc(Jo%yD6PJ z-S?ZC4)L+M?}@uy6U1X(yUu%{dw0#qyu{e37|VU;FulHR@KM=0yOY(rpl6SH<}_PB zdr?%zrNyKNB;hjl|1tI-%QFu^0OKxkzW{MDoCq3eO$80KnxQI-YqSGQaAzpvU`a8i zo6f2vcDs%-+i+H&n6Z>+U02>k#26_QUrV*#$kzzo~NO$%(7!1J%00yAQ42gVnp=3om z7T)3aSJ)fx%yeCu{*DxX@gl~==dfk+VlhK(a%t!r`ygND;2Ytnjx2QM;lIG!)Ov=| z6m#o|Gi`~~KQh7;8xa>7mky1o$A@Al5MQE!*$#)!YIP_T3AU(x(sEa~Z`k6A$qDEI z^^@G49Xq(?(Pw_pUPJ?rh?8Z@JH7YzzQvDhTTU3l^W$f6OSLN#) z_Pc(-s*bE*cHfq7eo)u;`ce5`nWne)%2TBov+llgqTIn%r7n^QAA(NvKqsw`0GN&% zKq#ggT_U3YRHS5phd|`8eJJg66`a#vY`A_A)a1X%XW|A4vy_%0iK;ci2iPkz2rtrT zN_a;iBit}Em{l?B1)+lH9jWt`=OJesZ@{=|umNP40d2gHlIMNiY~nv?I4UYG zGRR=gsVFJ#AR+!w@pSqIfM!v#;V^j6oXpxU#%4B!N`n_QG`-d!^^rS=L`Gp^MnS_J zhcA6QoxOYgq8!UQ%O}{kn)~GsM_hdWrP;c$Ai`Q?Xq^F`dIda%Sr1N_6KFlIlQ8F;93eRJ#r+^*`JIXZ5;!`FIEsWg zc$+*So1_PiXFz&)lrLRi$;Vmp1^E&yeC@Bpj}QOrYtmwIgzGtR5dV8$(=u_@F}aYv zeav;2!q0@ssesi9{l5R&4;ILmH|>ykzr=mD~0$x^vc|^z366%k3{Ml)GiTzU} zcHKd{AR)zxMu^}p^6BKa+azPT{AFEHXs}wjj{32*C-YC(W$292kH%gQ{ z$ls@LkN3q0zvW%V`2hNGlCla(lxlnGtVu3cF@m5vT?y*8+^GO6L#LmTs;xi}-~XAo zo4?4JOdlfAslLhY9q8IaTSwXq0;W#pOI0tb2JSiOY!Z2KzmFL6--?@&9 zb(iIY9Z3w|iZUB#Zfb!3QLZ=Q)GuP9jx9ank>nq`*==q<}8=S+IDV zH1bBjWpjEoTRELkIA~G}nivHulBl@J znBTVWu`|mI*shd+PM#88+HR6-Z_V~qHHY4w#2T*WXmjL#4f1<`@3H{js>8Py;af@^ z6Iz+%7D)_P&r6kysD2V#i{_t^hN$)-@XJ`OqS+&R~WbiTX93DavatHV+Qc0fRm&Qo%q(MPeMn zicst&enPgD(n)1cbQ0WVB%5SD=wpDjluz6oGcB6jjDRJ(d)PnvG;QOK=j^I$tOV0;^LkCRY%sKZ(THlvI|gI&+v_rpRcv}XkOiGO?KQtj^bEaLa$b`I!OH?;25`0;FI-O$0kFbK{(Ve)x4 z<1!n0G(Go1hg8e9ZSr~7Zi}VnLY6U>cm?fQHBW#RoR-8RZsvFM38y8GMt}!Jjhv&I zC+D5h<}{Fr%Y=LI`#_e!FmWZB_7GIk3{iE7`N%sCJP-2%uJu?pBndjbH;5W z()1xA^01FEGobXMJRzl%HUFW>n+}ZW8)-Ic%9>u0I^1}_|05;cad}AA@NaURlOnu) zBsPi%%@jdn_0>6uj!vWK8P=jk&lJm#q_4#f{#3!EY|Wn|-E#{sbXt7$Prz@gIw&RC zWQ>Up_30VyuY>%9qbhmCdwd!U<+VmDMLAu+Jpjohp)<~C9nOfnzYOB|jMNkpd|jV5 zZBxOE*uGXvhB$cHAp zpF4NxRPO<&UN|>%Vp7t?ndfFsNKT$GbDLowi+Q$z1@G40eYfsO`CrexDF3)qzfJSI zsF}x>EjuFUk41&?D#9o78 zk9*@yQ|WvatA>gV-0`N+5DXBB35_A(CdHdb%s2lgTAJNp7gq7_9$m7PU1V|ZVoP*m4S~u zJMMILl-(oo=5?=eGhC=c2E1qADoBHh)Ysm zL=l=z)FT$D#I+C!p&3^aW&M{vS^IaYy9zLZa6a$Cg3FbD|yn?1^d>nSiYH# z3M@f>KXRhnSXGQ)5@D$tXvY3Ki> z(*~o`pp^_$aS*LN1#bdEJt-kJ*_a#^<*?#b2O}E9<4j;aMEX!_f!*Te(r~mcb_Gjj8 zoc`{yyZ^fB*>{f~U%PMihH3AgkguBa@;+Si@WT`5rzI4g-1YG38U4>McxdtP>6ZAy z4_^5263BEvY_$xmGl}{~q8b>ZwnV5PQFIU zH?$giz#5gpZ|@r2v4`>s+Mo< zN;=A?%(q?W*kSp1I~yARF=NSv+vLgedZ^uLq(|NWU+W+XFf)(aMoN#XVxXrX?WsYW zpKhu^oUcp`kGbyWfzg%hVKFghTI7* z*kQjwGI-qy8qSB21JNwndzH8qqZE8c>e%%O$7YQ>IeYYsLis_l$2;b%qHhNdbnaL# zb!}*hmcRa9V88qYXF3ag9{DIXC^T;!(MAso_@pIc;7; zgX^b+q;P{a%n{7kU_+E<_7`$IduzvPQ*4MaDs%NftgKW16`9Kh-a}bY--ard69ho-ZkC7c=p*ZdUWf# zW{vzixp56VX!gsyayCE9O6p9B*rgskghVlEN=YwHC1t~}DfR>D#5V=BuX z@{NkX_`6E6k~=YJ>9!0UEE&gYqbkqAQVV4S^8>H|w2QdGRBDj=>%${POfT>`>d&NU z0hnPlmM$KSV$8YyVYbKj&|6`R?k7G&^%-=n1^i1sKUpWpk3(=k8UbZ68FnVBkfA2Y z0U{l$qk0eoC^M=i5O!m1W|=VutR(GOHb-9PZz^d9?)~)Bz3=;3 zX(Z3QF_kFP@^o;v2Of}LCm;1fV$7poVxj@y6->tH_?Y;Rs1Q_yDq$9)zE&Nu2>kgpr^a#{X2NCr8B zScql`Xck8P0C)uCf}r(JsDM!19{1dK_$^B2Cdzi{fd?ofCfZydpOZQ?uy5qAJ5TOS;g;X&3fyLzW?0v3QJ=(t}329T5#9b@>}xdpZOXh;Ezxq zA&xR;F_B?_LrEfr96_`px1!VE&Jzj6{dih|{4=^LbvOLRjWZMZv8;2XzEx(C@I9G{EnQQV0Y+ zz*9_*m?}*y$^g|MeqoOwQZNqEhli0wGN#%ocNUv0Ctu3$c@meH2@?bS0wF0w9CoYS z9&69wNvl|$o^lT8Gr&_5gajs#9NloLylpK@p{cm^R$h*Z8%jxk`E={~3bv#13sd>1 zVg*K&+`U5Et+n(8cEV|NLURV^6+ymxh(SW#JR-~x!qmP~37|vqaZeh-(-xQj-U?T@`NMy2j%RBVOW>^D0}wcqOjzI_++En48M@ znA>%4qR1n8r57)fQLI?Wssj(Z7-vqgK|9T4wn7}G>F`qI;8|1<%GDyF*jvtI=7usy zKH`*Br%fW5Ep4RqtJ?h%MX7tC1d>Xg;B%517Ln_YqS^s9T7)-=vh71Qo!#+~Y&|FLmMUB`#EngFxW+3y z=6+u!MGAuTFs;F2UfHK`nW7-jPyjFIRt{GT6pSiiq#gKIu0o=EzQls%pU<(q4Yls? z)i%hZh$hjX3B|i2gj{D<2nssMm`7h&f%U<8Y9!6=h`=bx2vq{bP)G`FjfjNuMb6e= zYkAO%UG@otEt>Q`1-`t2FxN&dYxaO38>YAyP$lKSMPubWT$h=CD`K2l>`JP zLsXFcR)Gj~VB>AiIa_gI`l9l}A$MoBu-ZO!4N1qyngmhI%TO$~Q1*X(lsAf@{vY@Z z7*&UTzQW_gX5o}GG$}F81St=H+MSk4#n$0CAwvnlN;ya!=#La7u(R$e0Wus@JU_?t z$WgX@iXz1~eVH?bK1X@Vz+a;%F{TRw@d0FPbW}t*V2^s>9z`LD1%>d-no$DzTY>J| zIC)j3dGwH9-tv%-^6})hl_0UJxb+M->7hxQM(|@I^(qdB&PNM&@-0*iP367H&GOaG z4iwHt`)g;LN9s}-0d*Zv&l#kiw=PhHZ~T!jyz2Qr7e2~m@UE}ES2VP;7K#_f&|M@M zEW&uFz)i~)pt}cJXZY9$WF07Sn18xAKCOyk<)h+Qk2u~a|9F|}mj`ecYj7{@6u-i? zQ+ymINQ~lVIze|k-3)wO^i@DGtQm6*dW^NDg25IjtMS*Y7x4V_uBqQtkIP0SU!r~ zeLYKwWlD&lK;ChljzZ4mgTpb*;9+MzB!IIsY7L2=zLVJ8jF$95bZj(ck&t)lo0j)ybS+Bp)lxf^zm?{A zxBHddsi}GY+B=O(E2V}e71D0+VXI0l8WTpD9S&rGBQO=y!2?o?iiB*QANt}RP(|ZQ z)LVER_HDITsBFfPW&ud&SC-9qDd874kQe)tVou6BUQ@&Wxyzp<@Pl3h|MchlV-&tq za%OpSYQ9p?T{Hwf4_H}5GBMX9#oSM;+|$bM5F7o<58ZS!D{i8<;z^aB?w$f|GL_py z!T*YP`=r-0{R)tjdJj+Gkv9)+M7*|((}^B=QYev*)U{TFKrAc{X&j8QD#W{eT(>wA z6A}|l$#Ka5i5pNBY-C1*>bB7|O?YfdsgDKb1oaE9u*Sl5Yx-G=S-Ge0^F8|S9mIrd z|Gv6$NwDj+N6hSAwqlUsM`r5W{z7)9{D8a=uKv=!zsT3*Cdes`;#;b*vOHu2&O3u0 z@F?tRuWw@h9Gn)9hyjB*6~Y~rAVEHkL>L-4D`Onnd5R|U+>iN3(!9=u|1bTjPvB}~ z6y&SjbBppz3re#x(1SHOJ})897vd03TCkP6G6pBORciWQnaiz^)<5cYZEl;Crb-vG zFBJKb1FUl>@QZe9N|I_}5S^3UbS5Fw(r)0zsQ&b9{!p8*0Nr>UUQRX@R#;Na$%zTR z^lGaPFOUu4M<&;s0gVVh0pkj8)tFFv!&a#D=_tJGG!>!ccp=jp+JPIBz>SIUZ^^?U zN@cq#1>HeK@;a?vH<|ADI8-#km4RI0b49%jnd^SapMb6W&ae3Z$ZAuVv8*IN7p==} zspj~O2_1b&8`dT(-h!u$dOp_Ir~FYq-F9(bbLPBxtzY6VUucfNelk;>k8%Z=#G@l= zg^@Z;TnfQ00i4fs1r(L%R+Tbkm*+F6SRpDh9I<2c-Y_#W7g-j2S&0Ib=Rp8+e2k2{ z1yr9n8EuZ=KKuHKlc$gEeV)yArATMx6;r<+kmHcwO8)WV^_w@ZS+!vwJKC^c?lEO@ z)q(1xO9^h$IDwmM>i*q;@niQQ^8Buyajfx{2Gqc zw|EZHU+*oRs}V7X>P4U8x#~^t`PI%zo^?`9u2p#WNNS>paI(t33E*E2+@hOK>-4R3 zq}3+*!n&FlIyzhbb*!2XH?msDV(_oCrPy(6@{p?G$O>jw|63jJ-J?HC?eg1hGd+?9 zoXb<*tP9@@;(@rSdNtVKZH4Z=q7MH(xArj4y4>uQbSdrXwam@772At(Dbo_td@p62 z^3EG1ZC;D!M!i4>d6akUCrx)=+~6{?7?vkrl)pio$j??t zLl3bc;f!+1xo&w(ryR!gFcI|JL{N`AJb;Oi?|H77NY?2B{ua0J_@lS-5imebZjMc5 zfr9*;qTC`|wkNZ~2MhADVcXc!KvBF zb%CTu;)VG~RA{n7RhnRg1Phz&31GO3q*Npb&1z9~Ny|r^t^Ydd6qGj-#F=mg&?)|? zVYP~n4J7rlthMqzef6g6nt-)?O0A<}W9AAQkEjq~Wmi-!;t`vHDjiAhr25O?mXGnG zlh$A3)<3z~0U*b1T{9m4a6`S_beQ9F>_8j0Qu^tC=GWT?APr90O&jX9lPoMb5*?vd zf^y3np>&W3aVvCsYgq%zEpPlBhfaa~Kn0-Aq&8jws)X=!S401V1ylZ}s86$9i$y3# z7d2FoZf$ML1OcKP-1UV4HY*AD!PjV~%8vr!31@H)nzF<*4eU9E7cAHek56!|tP?aa z+jva`_mWEtZb(oX%s&1z|6m3cM0lQb-t=YIzL_E!1^IcfkJGHliM}#{$8cJ4(_#V_ zQ?fxmjG=2$Sn1CYP1e9=mhi(rL=2B`gh2x8k-;MrL5ExJu4?wA75USmSw85Y?*?eIPLzC)h%CUlR zAwJ7;Kf-@UVB?7IDtL^b`7bzc_0>24M|Kt+L1BJYQFakVUpnk*aR2;pSZ(>sun#>2 zZdSjdJ2unjESla5Sc2z&AiG+r$3qMkde4KGqTyKRcL;#6MslF8DjjhXj+bh)uF7UL zCnZutx)3j3%1+Ze=^y3T1M0xYAW|Acs{aSK5Jgs7ugTx++$3LK@WI;tzh5-{WZyL# zc0RIW$F>(=e5U@@$?uuJKELhtjBZT}4^6OGj%BAWnsw)*ecM*9*j!TnMsH{g_$G7Z zCp0f2M`uDkA*yX+NvKe@u(%xIKQ<0pgJ2L;zK_S@HpRzTQsUC%(-R#|s^LUR&!!V& z+;bt2Eh4)Oy~Ue>A=YVAq-(Nt&ywqlPdFEMwNB~5rhO|v;RB6G0@cdVL<8?qEpMpM?RV~WIeiW$gBvjblxN2nE9LVnJm6EPM`@|@ zLsEhG@56tGxV{2HiBkL8NYqT{wRH{e9a#6;CnwLHJqbuyS1GOOFPanAbEE}LD?ytT zIP-DnNn3%AuGgKxZe%=3Dgzc^$2FzWP*1q5JxAxFYKzM0s413GibGP|((+m5F%6&w z>T}eH=~myVl>WE)ezSMp+UpQ;9PUi0s$`fBQQ5t!dwwn<_W|6fU=>PL2BiW@-Ozn1 z;~_vF{++jO=7}_v)yFA+*(h<4L2A+$&5s|7?1c%1<@erm`QKeTZyZ}cet7nz(&1xP zPRJi*HYV!PxL>Oc)9RzeqhaCNAkjQBcl400Lx+9!*r3~L%!AD1@|O%dHg24GS%>PR zq|(MnOGr$1Y)z)wnc8E^m+gk7XZMattojsVcg$-{`cQm5=NYT zZf5B$Bsnfb8y56*<#1!NY3zx|in5XnqBdl$!63$Kd0i;s%W zvAA*fRF2E@^i(CSmSK3I_dl>TllD)jAHRJ1g;VnFY}b&%gX=#3VeG`AQ-9Lb*W6n_ zY-MQt>gi8BEp8vurAwWB!R4A&*Jrd$t#WZVfOBeWSgRlYzSJLoPu49|Wr_Gt*BOk$ z+|pD|zbo?JtQ<9D=UZgKoP=S->I7+uh>kl zWvmA4$=B|HWfvGXk5_UL)f_kP{_kGgJc1x460N&NtUSv2%2_)(yos77qf3SSnPv+1 z9S}EP+B$CDWN8&Q54I!Vys2br7gI`Xh(`Q&(H2+U7V*6NP*8A)Rv&8GGHliMhcnrp zrgD_>r^uhNLsF^yW6DdbHiV-b&_L_Dhx|pzP&L;O4Xqgi-6Qsep@uRK1--!a52PpE zH=T0dFe61UC7Y5H<9UlnohR3Tir&&_x(Y^AC{P3s`cW6d6{lW&3T-6*{NUHS{`zy% z=YKr#{GX=1yjxngV#TvjX4Z~{A7()t!nes)NQ$)*gr85<<*u%3#Jyv zpyzV1(s4PMI!%B_V%l2ub?N~$skN0WZTwqbKH^)-`olQJp7JEyox$0dS)Rk7T%fCH zN>(21IYFln(oOb_Xh4z~3_PNN%^=$E2~2yF9!fw%{oTM%Bj=H?<~;IC^Gh)`FvD)M zr2Lwkhtw8**!@0c+>fo%N!!J@quTX7ZBUF3wLR|TR@|4s*!$8z*n6oY1}1h)iNrj$ z3arBqr+?Z1%jqAO^wP;G`=^|INqm!Sl55#P{`YiOsTlcN`EfS(x2}JZjG?;suQi#t z4-UfJ!|%~z6qUw;3><7}nD>Ej_c$B4ckYY91nP8;KAOQ8a{*X^2X`N^piRL(aAB(v zlb(BR=h+tyHEiDf)XH_6*Y-Ft_1#C`y>kD;rQ79iO_k4en>upD^!0UJyA4T5db;q@ z<@HMw;@2(MeUz{J6zG)*dNs$}m%7o`g!1KZRVpE*aINiBBl~+}qnrQ{+w`H7bz_f| z)r2-D%KX+uT^z7IvBIPy(P3)znQWSXSbNediXRdXBJcSz2gswzD01A&YgA0~VYTE7TdhX~EF?H+0e!nS|w zHyd74FBdeM4bR`pdqeUnEf2Q6l^ytk($yU>nEWV+k?dUAUGn=N-$=7>GDO><|F9R6 z;DbqraswZrvY*#yWdNpWp<*xoMoN!H@=6)XBWi04O-&M6-ILh&G5UZ>Qw+H~6> z^R7o(%(_4I-f4`@d$~)JdG_oJ^?R%5M21J@nNP;1g#?Gt{rmvI_a^Y2Kfc{a+OI+EktWBfv%)IUkN ziLbQTC{q5XUk^o}7Lni;{(YShGT$!DJYtMiBb+4jselPoSNf~CapzcccfU$c%xUN& zs9@D0#|f(*6Jijs0R&!fqRYT#<>V%bFcP%{(S^eY10w~fbkG|@sX0D9Y{T(kLyv80 z+;nW{uwxq=YbWIAPpDP@#~iWb+L_Z=?+s_$<;mgqUOj#0+L8!)o_1+uuVbR+zq9b7KkAYI(JbVcC%A-z7=Bplr-7e7f)@1j4gOZNX0e>P>h-zJ^Cu}66y`DoPp zxfw1U5)v=JHC%f8rhNYT^`6Cg77Tfg_ba-oB`zHVZv~g`|C82n>1KHk=`eW@%x0p~ zjXm;bv@cP35$F9G_7w@lX&_v>uS!XZN+eu*rh-eCc;piT3vMlSg+VqLLex~kUPSPW3VAS2M7=b$S#i;Y$`UT6U92v>K{Dai1vC;KM`uZTgZG2o)e`C*%VIxP4 zl(*1%V-5x9<5a|w17On;ZScdUTP<)0)2-NWwk~V8*hLrdA+hJ}SP;TFA^W0e*d!a<<_5N?3?w(h@{qP~2 z66%Jr&eNb%Ecg;JZ(Lmju0S0QNiXFfIgJ~VZZe`;J;{_5g+)S{`oqWRpkRn9_;J3p zY5Upq{qAMSoA!%uU`2{)=UxvPc*;shmhf4DusPD(z>ceqp2z0!jx_TEUKKB|^~r!@ z+vCh`Hpz_mS9l8cksfO`6Mh`?5m*SKHhj7v)rYpgk7L<>`0<1|Dqh9tb{$n)DgG(? zuS5#o6o*dlFj~1k20KYSz5mKGmhKw7ZBW+@V;61e8!9HaJ_~;C(2;uw?l7-m`bHMZ zDl_w6uIVsp>u|RIg%1{;%*O-*;S$!_#l229h8!3djw5b~A#d(Sqj>`#js=t2yG|6m zk@16aFoKY)o$CbZk0n}%>==0Okweb~yFL>WLi=u7G;&k-+qMsunPb@%b7ua@MIXGd ze%RJg)g52X&y>%|-!{tE08<4YegOfJ3|k-s+1;^9^1?!4E^cV@XflVXazX4C8A;Uf z3J>utsET9tdjNw)V3nd_AwevZ#@QSQ<&&!hxn*6{&p zO;g;kTuw?(^>UgKtI(QfK?6O&X^n}&yo@j~tzlUzFm$L9oA?B$v+L~FhtM10%8UDC zH{R0N-}_9;2kBmptN)t>c%4= zH2R0k4z&14B}_WEI1tT7r-LX6P}DLae;8%^<;00b_D9({{%bb)=+rq6uA(N??2z1d zojmW9+#WqnJJYxy`3C3DyKs*hagSn=8%F<8CAZWZV~%wMfSB76e)Pwp^YsGrN)LMw z<{b6HA?uQa2h>_STuA6+zekZHL6gHYOT5VkT#o+ADmpkr1(%nj>`Ce4B&iM;wOFRi z6xk0_^{)3L*ETk;jeLLG9nVjm_S`?q24(b0j7zF4>o=e>$((Fv(Lcz^5Z8$^lkS&q zoIWQv-NPd1ckEcTcjD_ar{7)u*!c0gKpQ6Xf!}lw&L~v?+Byz#IMz26se)c`!~kJM zEi_yg33CDYzPwF``5{Hcq;m)=?=Phs3~r(K$Y21V8;iKPc6sgS2iLD^bRXKkjy-?n zNBKs?s-K?O_86U#&*6RlFZnO>y}A6{D7LZ(Ym0_{!>kP~OI!v9A{aR8gS-sniw2L4 zL9_j&*d&-D#6}zq?p;$$n_)>%X$QVIBr-4kf<%9DGxX zcbfy@!rgZSV63sYD8Pkh&~apN+!y(%y!Sx52O3^d45tv*5hP2}f!_Vi_OT=6rbhbo z^#`9EX5D+}W%gwi#cADu4DR{_MSSwml#&`MODbz1#WY}HtGzNEQVJC6~Vh8fX3QbY9=Epg%8O1mXoxX+U+F5I4$f|1%WQLyMT8C*;%D(4wYUPaRq z8=g+saK$PW-+Srkv6qHz?_7OnwGZz9JNbLXGF>Ts^67r> z6$5p#Lfa4I&v>jZAU+&--%Hn)`0&>nmB`(xQ_}M~WZxhwe0{jN5!;av7XF8N@?wUB*f%G>!E zTYTZn8SgjFocZI?EoJWSlx_K!LW_Fv8O3E<#f48GT)2lQ2s{PGg?|vuhY7JppCDA; zBd^jxA@6`8c{a#}7SE9DNzjW?LWa{0rO5HG61TR&GqA|Vs%ZeSraZ`Se+%kVqt|xQ z#k%&wYI5}!kC4^mdKi(r(|FB&I;zZzal#)~ync$BM^ZSCJZpBku~Cg~ys>xP7Cbz*HkO0>cRH3JJvxKh=xkPC>X-4TZMxTws8<_eC(WZi3H7vW(}- zm`CP&bDm1pEbiH-DQWgn^Zchai=}Qs?#%UM+j-DGfuDziFH*_&jY1zL>M4tSyAM8_ zbGFhwrQWS2kyUG#MiD0+Q?N5L$;SB;9%%(Ro!=-gtyGG=1|0+!H-wrilt>8%+$z&qhjuA&P-g zR|T_;1*n*9ux^GIvt5q(yzlfxSShfS#YavhRkO&{y4muxiWks`ob0_Nb`~66%wA(5 z@)hFew{GmFNS-9DgC8(OSA_UkXJH^4;tWoOPm-ddEve$I6b^|JsRz6Rg=^DrTvRhU z8ONii)-AYR215xi9`zOzDAiSkH~(F#In|6aU>uG{f!+<*E_x>LXYn@(i+!HDQ> z@GEx63+NnOyHMxo-aWev>^iWj!eOK6O-Sd^&fY{cuVS@$645jf=YOKEj`w+2a~JZG z|DwoF8?9zGuD|o&mD|B7RCr05g*-qQ!&W+j-Q9rP^^?VJ?(r=rR>BHCycEuvA`A&a zg(s*|FaKu0sr-^5%#V})v+off{rc}w56u7Mdz@uCJybw*pzGyF5@NpL&a8p83ea=t zklHZ=$8_&nT!?aZOZv#05TS%PXx`MtQGwTSZZ#uom+F4%q7^*eG3`PH1G_ ztP5J1;=at=7oa^a^z^v!@d(+VDUCVaOl8C93t(aGq{yw2_`FCwp@HOL! zy=@irG2u6IUtTZFdj!Y8{>C^C+;LCt#NArl8xBY4f!83S6(5ZvL@Ydl&;C(+1T$nA zd?F`aKt18{iZX1b$^&6j{B3Sz0C6A44Q33P*=@6>>^OPde#raQw?&^|8`y9Hf*0Z#1 z-z##~XO$YIj!eB1HX%n?q;S6Vb+=r$nB=Qm0+>l&Bw6oCiL5*%N*S zSxPgeTSJO_tLhZVx~$D=I*8k5vzJ@e(cQ28n#mwSWZ*>sdATqo9af8fSwLF|Ybj7kAe-!SNh;Oyz|J!|_nuwT*oZ9q+7!=U zO;3A@1&0huNJvwQ1sSs=)<$)5fw0w}wkJH_99#Vto^m^N3JEq>BoEAMm0B#-woXHJ zPk}Jd* z4W-1)ugZ&Jl5VU@I$>34TpRi>am+KkEsY&MVN1+2w~#%KAwwn~8$w0~nCEncVKh{> z&N0sv`9fYdAmo`4UE<+u@^@Q-O}YH;?sumi=(%>&x)u8#+p_=A3$H&m?vUx|?gi`O z6PDI5f3)!Fq=X^ey4J0qK4Rq5ZqFqrYrZIt9a^<+vd7 zzdfL457@Z{q!}T4$#&$_o=2ZJbws{?@TC_IqEK^z*x7YLS_!o|@;p zJ$^lacf5UsGRB$ea`_+1tTKxpRdORAcgqa z1HW4-iEQiLNB6TGc=x;eHG#bF# z3^+~>LPhfjszxI5gL0(E$jF#T)a|JI2|?8iM}N9=_*QhgK%Ft$A^spg&r0O;Y@+Lu zyk}ygxa5wro-w`bKKXtzL(()gVHuK;1v}&*;v`u>w{#RHILAeWA$LtJ6f@IAoz@0e zwx(|wa-AWtOHgh|5J3rO7s3pN2a8l0qYp(jF@Oc7CE3|X&{vgoEbW+GoLyXymu|PF zQg>^Vs0JaAnZ>fm7}KIQ8utaW(|Iff7l*1M(CgZ0zHIIwQK7!AL8^ zGV2%`H^|(|+7(!>^fJ+hLn&uh|7N~E# zMgv#|Mnq_WDTBtW4xA~?CBLyqS|*>6(O&v`PJ?FAjfZgt-nj$RlWMYBRo7zpK%Gyq z$!O{!Pje)Z5ERkoLY-6KolbxUkQr;Wc~!6<=B8Q8CGkIQUPU8m2lKptvM|5T!6J|= zG!o35XpEAOr|g?V|0;R@b-40KJd6ZkC@)9Xj3?J~G}TcJ$2?kRn(`yaGtW;jB?3Tp z??c0#!7*v+(b2X@eK4Ps1RyO6$V#GO!AR6`0uUSgjgnoU_!i8@)$XK=4o~jgc}e{6 zmqstidm7-Vp6j--T5(O&o_PT7Z_3-fyU#!u4GU+&f?rX=d!hx~n(@I8_jLA!N zS~R_HTpsbvf$KD^}d zPuef2tzFPwwl&B#xGzJnhI_CEBPc~R;Bi2TgV(z67odAmB?IP55N+yLuXWbM#e*CPaw?dvz z9(NN=9!G@2A2=__T$*j0EVOr43OF51j97|zu%r?01(m>3Dn{Q5XMi&n4H=1w2;n1Y zgk+Yi*VFw~`HPN=fCf}*g-IyjEtnjGIa|@8rQ`JGW}J0a*Bmq}>?E&la9spP4P4kB z>pN0i(@t4eJ!mrrw8;_1^*N|?@E}H)h{14)0csL?F-tlS2#o0{k)2AH)IlBo)yKen z_Xd6r_cY3EkIAt{>h*L_jdVRhO7I;vLZY2$OK^CcHr)`!xbYWu_sF@D$%|`dWsgeB zPM=-(hE4r@#@15{p+U(J9T^T!J@o^dwSZ+qSIEDl1jBkmzhVsy6c-u@k{qtR3s)0fAxu` zdD1?Xwq?WS-XCu+eL?jq4!q?+lHW>*gX~c0U&CpTENu|4duhifK8{?QOY>WB_VOQ7`hEeiO zVNWSv{?w)VoDh`wFcsr}wz zD|?CBPF3aWhuv{(F6S$%>BKZe1s9{vgaEr@#>!IsoQnxY_|7bqW5HY~0a7^DElPcv z%Xa+i+&z;aJKZuJR-s&5+rHX|t6Y4BJQFZLTr(KoR(g-{ufZm)2f0#3Xpl%r&xc{+ zVl%3fEM}d9uwz2`eys;{QUe?zbhU0Q0FaUC)}1jAbWb_ZDTf8?Y}x`$f&r4 z#3AiFJ~d(1LtVpyHNmm5y*fINFAvReNQNMX%|6>a5si%=T>beJw(H9MJ#3EXpya3z zyO*~s)eP-7;QME8+uo(;{H)yky*1Oj7B9@`zO1r*sKsI*_x1hu@`(ji!!1?^=*L6K0E5i|Bk(t}6ywS!%`1Ok)Wy4DR;jx0EPKJ8 zL%L5~=PFU8CmTjcMke(5!irL0%`tsk4og=_U2d;HB2dvu zIz9Ozai%zCWX`!A(lVwln!>C*4}bsBtg}Oh?<}uONsS1zREQ^8aDH)e$E=#iCJjF^ zh_#njmdz=zoLN|GcO-?ILK02#CvRexV}E&DGZ(y80@Q!4vtJCbG8ILVq}7!mE+L_I zir4)u72tm%P_-29AX;m{RPe}j($3?sXqcd7rR^$9YszZUW6&Jb03vZ)6m-HqRLg}M zp?*qN;UI-;L|CR6ELy=ea;)@$t*3q1n{&G@$Qx0RQ@45Y$zc^`j`YlX`s~?$uC`mZ z-%p?U$L>7`jjg@CzpHE4^_|u|)U{_}`MA8nqaEq}*7lr}S=+Dk9bc}RcetWm{#(D8 zOwWDSr+4ShJ$wJK|B(F7;%N^L=-u=FUY%E9?Klg!ZI+;-8h3dAx)U%3`;PEL*Gbf+@o<{`FIE_CDfuQ456Od zX{C}QMxC@2t4&!c53{&`4Dl5o&xH82cq@T!!a{{O7Doo0mCi&tlnPc7Q*JLYLVqx0 z2KXBH793W>?x>uU>Bt^1V(e)7&tJT;2e*T3MFC2NH>CE02#6@{yO6Kh>>sA7~)WI zJ^Bw^?>Z>fb{?H#PP{UI(YtfbE}OKkx~jW5v2xVPB~_g|zHENzqx(9~&dw^y&+7N! z13h~+patvjk}u{gzWdPl%95h>W2z@**QKVNT{`SQ*UkjK247?EJ30M<+(ds$+SgLB zjHn2I@RibxMyfnGNGM`OstP8sKge7G zUgjtRQ=HaF|DOO%BqxE}gQ4&BOy>ONU+em`uUge*MAZyO-r|ybd$Jps6DDN-rY_D}>iP2M8e=@ttF;^X4F6m%4xShHv+eY%;e2s2$b=?;Cjmr=m z+~&SG21RNDaFMJ-2Aok747B#(~xF}`66ygNr1Q%-_!bx*_rnCMD>BcO@ z{x5U$s>-coIdTVxXsNovu}B)k8P9xg8J*RCL1sog5vO*3dLK@mX|qoD>@m3C-7BmA z!9w1j7-k&MqubQ6%R!jJim5JD(st|9=evgeKRw##cEaf8VNv9xCsHqiAk4KRC5y#k z$yl$Cm`#<4VsS(<2v{5@VkgwW!Q-Gs!?>4DM48P~hn|=>*KuOjl{4pmn0!LoJYZ9G z`vE~so22QH^Bd=9S3S>yHgA^y{e06XP^li@pN;S5!=^%Xh&;?3KmzHPaAHlxwj%cJ0wVBj8EuaS+#ZY zme*@Kly@ty{7oNnO~oZW`X{FKda?6pt0ONgF(f8_KvBWHrM+3-Cx(}f$(~x7g@%z) zws>c{rP|o%{^}0X{x5Uy0T$J@g$l?dGQ46jMyOCh_Lxrl=hMckMF+gHes=KOW-T@N1r~=6tPRQ5`6Hn%D0jrx zNaDvP(Dg;o)nA}af8a-8f^>p}Z4XdEA74?e_II$44Qc7#2u%(kh7H!}27Ne&VOOH^ zUbq7?h3qyT0p|xgs1>T&ZVGCgJF=v;~Z3qBUoVfhlcfdyvR^kh39vE6%z9(&D#<*Q{Mt9v+vSnYO05Y>6c;uiCvi#|Lz#XV#}@;lMn z!zsP3=(U3#U^Y>(UjLNa5b@|?i_V7OvK67hNuwGi=q{TNkZX3!L8X$Z-()i%5)+t^ zm6=eKSQH$HvVQbHf(a4N;$4U_)#2e5m=Ll7LCZh}gv~soRp9F~uV%D1wXO{|__G8yjP()lpcTJy8}S{|7C?)S14k=f7s+{)n-;`IT+G2ZFn14km? zRPXO!AE;RUulZFQt5Tw4rll`fe<);gY1tiV=B$4`mOUnFNN~s-^J@>~6_hGg7f#KM ztu=&bon68WhN0$!T4P8Qt;gNi6Qi&v;2^^!y#dqWGJqg0t_S7HPt)D6iobR`y-I%Y zBiG6)9#n*9tmXR(IIfUpHRCjH1_Vjdj?E2WTj#`ZRwGO|6ikrkDnrVN30hyExmvBC zyNf0`Cd^T+!dmf?>zg&OAMK_soF_A{B_=^Es+T{UidKte^Wjxzk3U~p`uy>;0~!N^ ze0+i}9cP;+$N2;XHVxRV9$HcI*0zlwmX%kj=FL-Ym41HWap|Y6ntPOwDH6;n`{v9& zklw6T4u5`6+XE@)1O?gkp_tD`?9m`tJ^if(K1@NC>8L^yoiyzzCRT_V0?8>?a1oRZ ztYK``7EBGS!{JRsa9m7qk|7DGd1N?>jDcNRsB)GYJ$!d^sFEDf2tv;FXe3QKyc-F_ zrv3bxXDpdnN9XQ;y)i8_{lRH<#Z{5wKRRPyVV{&W1qAx|1O=Hb19wfG_tPWdoeg`k zvaK^;Ufj4FhNr(FMS9|qpA8cia|`VuK;`BStHvTHmF+z)0Z0^Jeb(PO-=fz zvPnjWY^VuhiJ2*8BzMK4HG~i4XbLebnr~KkPG~Ykb}(e1ms!grih$(I+8)>kWTS$I z49%YMehoK?Gv^)1s;vurPV4J8y84CVF^QvIJ-KFIQbvr{+q1N1dHK z(PWx98F}C_yI!5*={aFtvN=OxUcRnyY)G!OPF>uu(P=aY=6OeGY1S`45bV>!s~|;6VPeg4RG&vwv*gw8wXeYdROt zE-9%t1R7S)7ngJ{-a5}OJ;Xn3<5Y3U)x8b#^Gk{gNd}!o9*~LW-A_8fVGA2zh8O`j zRzZdyY-Qyln0bPOf~L)8qF6%I4cEaQ1iX2(YblxqG&FnXuRbO z)cE1DlGFmUapN~GsD+tovBi!f=8;5c@!qL``j?|$n z4jxbAnH=!S^f+Q?_?u()X3YHNr8h=+95{H;md~-GAb;KAiqdYb?f6)!+QMT&QWdY;50!eZoSBBw-tX%O>;-v|WCOeix2c%%XJH&H=PG+Zhbk~lbGC=z1W z%}bnvx-W*ar1L~qm;hY>XCgulf6qil2No*m!9vm=IVI>u7P_)(vm*ncmjv{&9&2-B z{0;O)wNgDs$oYq2Wn`@MjK6(;TAbIpQVi=fsdb>)wdc2D(o8r7TKR$}b;7V7GRGgR zCN$b44UZ}yo2J3GH({{~B!LLjv(p9q+I_XjLH9-iudPCK7Yyr_%lbn%A zE{2)RHF>}BL>r5(`3yA3`28NaRi)Es?e9C!wYkM@>YnO#57lide_2e3s6MoL*J*KD zWs;vsb1pqn=WBFNRyG`(5+6CF6x`79@Y%BMD_U0OP1>D0^T?}L|1IhZ!)I1U>a!!Q z5uV7%6?v@aZt#M)5O!ls&TzAsoG)NhY(;yo6H`UL!UE#Yy*Ym zxS=3M%zr37189`x$b6=M{NTaH^LMZ6pDTSgd$YlqA2_VM;-77EUn(0kT<$IudDoBY zcg>vg8oTe~S4Zv1n8A7N4AxVJF?$e}Dl0hro=XS&LfAMBTadGlLqHCwNmpB=Gu@i$ zG%w2U=A5e^;gR6U?dbpX0k*R}1_y4n#o$a`F*sD`gA>{I(`;SmQ_6-bD?0eSLJP*( zf^jAYOJzgDMT8-b!#$C=0*!_r6!H%?I|TkT&4Sp8ym+psA`@R>zhr4&+AvJ#5i z*~Cuw85yv#f`gb48y#d0Hgm(1nySe{okojIV+r&0)~I0ZI~bfiv~Bm`F&P`zjazgq zGb_FIk@3=hUf(*N<+46?h6oh(S+X)twwFyc1qZ9#dZ)$jXjzmV6jB^mQ!? zoCY;KRgHR7gM5d>ko)CTk*^D#04MH7h;>5=KC5MOV(Iii5HZM*wOE9^mze2!?3 zoy+1!<0U`>VMV*wH$sgz#YMzg2MTgLZ!(R}ZI{z8MqZlj>p79Y_O`99qW+|u>kT)4 zOmyMf--bT&)_=0*~@kb=U>p)xCVK2eH3`lnYSbhU~^fUmuu_T*`_R@rAa;tI>%^5KI(GO-ZJt z4I!1K66Q_4F}TX0Y&Tgwa8}bqaCn#0Vpp~s2@>#{83#Bw3^6A+-&uFUZ)4oGPZkMwoVf|Vfm%-2I^XoZ3vcC!b~#%4F$q`5y9SmQjY9r9Qq9>~*O+#w#bOBboJkgND# zuVWKRCyY(ehq*c_e8b%gZsEyVCzqm}jC&e}JXo|MGa+%V6|M72D*^(oda%25)uHL- z5o0qZrK`*dmZbDaCx&e= zE?H^y&j~6X93B-IW$X~gRzC7f%iMwxLuyVtt9vR264g`CZi?KgKgyCc{ zi%L52$(|14hXe%?*&*#+{-pvL9~@<;%zWF2kctoveCHslZodF()iXxx8{+QZTH2`v zYd*D`rn164x!s9*^it(>ZV^N)*i!%X^8x4(xOP2uBI{aeWKh~7rQDB{&*|EH3 zcIL{Of~6_RY0s_ilzo<`AY=8)QP}5$Pq;hi6Hmx6yBbk;8BgA}-y&06)*f9(la>jT z4C$=F+4EYaE`iw-a-&?H|xU1^6TMtWjljYj2t$uxbGxlc-$7AOs3eaxz zhmich5D=36A^8Utez5sNe&pfQ1OKyAs6nG5Y?kNygxE-=Rx2B!ouYVwpp9BxCI}jd z#K%R18G-@M>D+oDqXRh;va?Ftgf==DziXrGNf}@-$UY+X$FX_vQz`~BXlbgS&H1g*&AC_mRGXV-?=IXJrxNQn)DwZkOb*%gI5 zq+(?>#^Q%_pdze&yj%cyfy!{spaWnNP|L2^?o1V1(t-_2q47`AW zM|2%}{HVUfyJMJmVhAy_GUp736GI*QO;#y!NUoewqNGhp+|>UUQ>Kfd+c z%D3t~_Dea-S4#g|zOh3pww#QQ-FIZg6C0WG=uxKFcy#mCOOhZCc<&9i|D8A9d=G05 zDTcIIrRPnti0*t~8y1mzS`6mXAS@ybetMWbMAo-ZwKv;<+FNZvQ6JWn z`-dCQw$*xUKxJy@rJL-)tH+5hqEHSwI2}Ci0}XTZq=#B`awhYaSUnPepR*E8Z~>!( zRN(0rG z**VKPgIncPK8Qt-L|vAY7#X2M-ibD)#!>tT=HsPcwz#E*!j=XPYRgZF>|OCn z*{%vVu?vG2rl!{?%s2LrtekM}!t`mcKEiaDnlC(Ydg07@b54(191(7`bgWPr`~n80 zw8stbOIO4nTD`G+kknuLTDpE%`VB`mX%frxiz}`r1AgxTtkzj4?IX+n~2KG1BX>DrcULOUA32BRS+9BEKUP9S%t;>(pZ7rx${go;HW9#-Ez8(!azL z;=GU#LH-QUqV-tLDSz8JHZ0f?Z*T z`=Ce0g4DVlbV$r>iAN%~v)yr3`l`gMky6fNk8oSn# z;qR;+GrHD4hp-SQj2lgs?4BEqG6Wu)hJFDTQm5e) zP|6d)XM9P-MJKm{w*M;Bif1v)(%8Km`_e(V^-kd)B z{S9JxTUO!t4bgFxrQ_GEkUrdBsY`$F@Ymnmxp(vIJBy0$oU>^!CPshk(%_gHqOo*#9 z65GhDQUg`6q~eGY>PUbb8zQHkq%j@!5~796<>ig^G2|}+bH{J=dUr)H^VW)fZRXgh zAzL;b+Lck6tjl_kjguaf4h)D{GPq;Zgssz3wpR?gv;Q2aW>jTNcx$YO>pC|5pa1?c zGP6mF(Mf8t&$lC`bCV9ezalodazdThIDf@I{&Vsd>1!|#6ZV46X7Em^oF}KCysdU@ zN62%e-Y8TQIVk8xs=zZ8=b?6je0zqnP>swl4%^d^iX(Mop5a`?GjY(cc+S5s^{qTp zT)b%ubNcb?oTEX0Gf$0aJv(2jdF}X+Io7P%m9v)rM|^Zx31+Prwx$um5!=|w^5ocu4?cdtK+eA#zm5K>vYerXBX8KmH-MaMruV{Xsl}<^ejT0rY(earj>T)g8!%wn zw1kNx#;x-9zBlWGSKfbX!o2S;Vrq|CM-`P0%b2lz%G9R+uHRPQcVf|)=7@@Jb1tNUKrJq$x-RXmKIhWP-w>>WOpgc)jy2#IcF!PPkgK!c!90i>WFLS} z!?~q^{jQX4Ryppk^YY}Pt83@COO}@=j6kh@)ks#<`AS{&)cnH9!(UvzrhGv`!NT%Y z>=!n$L}%DCo0Uq>@2SznNwtzj@$Te?c`XxWHch$q#HoENA1p6Fv})f8?0f7V zI|M^e1hI>;mh_klpXE#U9e9}K&0@YM|0R9D`M<1nGh@rvKecrotsnLi#!o!zEzr50 zl>FdG(~3ZBorsZnkdh!)bN6KH7ffZZvKMDA*wQpE zZBEmYj=xQ0+C%JnN&m3)?{SM*!s`0F>K=JS`cnF@yf12T281X?lJrM|5WX*dzaP|% zuzPI#fgCZu9|DoTg|iIh-Hc}THtFAEHxtclo57T7P!e=RIsk`?%)WFf(Rw5~apOj& z_&zsx#M?Tk$LF7ayN zG_|FK@_ow{7a43epNnLyUcBP7Z$xT+$e^65y%#QE=f3$eD9}AXA?{Io_SX4H->+NN zxFN4}-7u+U+O)9n`r*CZma_iG*t`FJzp^|jU{IbeRL2sd`{w#bR}ExE2ag^6?}5~u zwi#&{mMCli4@BY&N`E0rcusb86X}RJg>pLd3AUuB-7Z>7$!W69j7L;>J}m9wfk$bt zC&~9gB>(9fVT|*4IozW{`MOHcdW%;LPW9$0NXGp*dAsI;oB?@SrY0XZy^0NP|}q3KoSwiw)EmN z2m23+(Z&wWKJ@&V#~#};(7HEo(AJkf`F`xBO9>hMqAqQ#S}$4drKtM|(ZYn2VWC_E$tS`aZ=#v8as&jB5lYKtHA0=KD4;-QM>`BGs=^|h zwd)%0fdn9M14q(Dt)kj?vO7?whhVUo_BknQccWcSMTBx=n*+DpUR8?|{`EuiBf~c@ zTeDQU)UUF2%BoG$zYhQK(Bay~wka3h{pVA)3-0RZ*t3t7uNsqAxWpsvX#XhP*3}Iw z4Z6(7cYN|K=D0_yg{_o~ecfnv_Vw{b%LlcxWZ+R(FejSa0e@!Gdkmh?Sx8x4gm{y= z**->=pzK|NSw-4((V{Q^~_urShE?ks1b;s+V%vlOl6wCTY;*Dc7aTFYi8e zRIyd6Wm7(9u8M;xSuy)3?b*c+lnxtrBxLE5t7oJMc0Ph!iV>z+UHU-GvQpGJV*=5b zfC;Mz=W9Baf`mnT51or7Nkt(YsEm|tx=Pu8yUUQU2A+r!V!(qslh)taIS{%IR<4If zsKr~UFk6ys#xG|?StV;to@ro2*j3)l`K`*6Ec|U>Y1;=r)%%M36z^u)Z@lo{@?p7q znK*F4xQlNwAE?0q=KfLk)=Ftlc2koyVB^nkJpRF17JUFmp=BSCKHPWpaauF%9kc2` zf4KG3`{$uM}pfVEi* zf-(bRh8iq)xBVbp2g%6(0gv6U{1)+mVA}2eKB$8rw-i$$gKk{6*9pe*^q>>1Jc2!g z;VBd9&lyL6SXP)7K?*?I@H0KMDPjZwU zQT7rtggPs_d}y3Z%o#bj;0_X>?Wl90%F$Nj5-OQ9DsdpEoEia~IoS*lB)-cANUAw0 zF+P^sTL<|0c-zeK43^Q0<|5~g+q{0b6|xDcF-5pX@Zc4IEsH%M$2Alex_WGpE#F_x z8S+?J)*W{+Wof**)@6nBbmO)E*O11xdx^{kQ z@vM>s8!wCBju^dk!`ZV8?Y0adUUBs&QsWFBKECCxlS=j-==36~EU#6K@(#%5RKY6T zV|5M3p`Y+doOx9;$%I54S!b6C*xRkV%R6&cx4OXX)Zo;*F89Pn4S(o++=8>-xDfnP z_taXAmNcA6pP6R0SmE7-pp69%#YAYGq)94E>CKr!Yu1^~1}K6Eh{!Jgl8zfCSHDX? zkfF@YJ6Lx{mTdP--Ng>6^3-n$%qwH?;IuJA`nKL*J9KB`Q;!TB8=-Ajzj<@n;CrPM z>8(AZ2Hl4<+*bVZaq|JTUA*Ju`T4Ir@J`FfQ!CnEdo3n?^s7&;*%zxDv7uGkir}2; z>H+D>Tkck<_Auf5FMt2!AHlI|j#;)z@nA(h4o>Z$+uekA!n_kQt zS42jbjQ)Ol@*C8YX5?V}%3B&r#R52`%LBB#v)*Q8PQd}JzW9A+>Cqy~=CvJ*;ho&E zci4#N$j8ErWs6H%&ZTSFkq@Psk55%j%4S8A3+8S)@+gaB9?Yex$+|fzV_m_tH90NS z;*Kkooj=HXsv3H}7xaC#bqIQ8i!SKQfyn_hb`o&TsNL0t4W&e7B`SRwRb@KiD85D1 zhfao|3jlgJIrVoUJHR4X$PNe%*M+z^2RWF@sREYPW)skw>yd3@=L(xi07(omg765H z`<^EA*tpzGtMtaveWlIe?)`V{J@DZAxhuzH?#(UTo-<}fTFdr{VN%V=IpNVGhN5;^ z#Ucj(`g2N3%V(b!{rm_!@bHJ1ACX>VsgFok)-E_UzcMIu%%agW=iQJa$%zbvpa6egZ+M#| zpPYnP7VE}Us(dIt7vQi)fqPNIGum|M4B#NvJ-sOLi$3D8>9(a$FUT7A%C?a!O}dR6 z?y1O0kH34$jH*QjoncDz#!Vu7>*BI`>()yD+fldU%;;s8?zHAH<2!E|O)V`=?N2^B zYV??q`|j>^{^qC6M^C?cPTKO)S?FIBZvhjgYLgh@1*>ZqDi&3!_uw*}AVd@D?V#e+ zu#-@KkM#oeZM{AUc$Yjl`Cv@4s6uU*LYUw7TJrNky03-z3(hA1%l3Q(_~Gxy z0|nS$0stV}#kNc6gqA+R!ND=XF`*$IHGaTyc_TTZp%<@@1k%7O`@&7(A#{)vj4nha z(^5ILwR=xJd*W?3v1#sISJ4Z0--Odw=J6qJN2Rt)wiu47>hrL~my**DE21gx84vKP=u`vk8 zhy>@9P$>~C<`(W^!4#82GaQmI8f18mV)Ay2Ce_{3TMe)jekf;vE;~P7jG*QcaOrKR z1Wo~1Abl%ceslA_W2bf;t7<%bbjaZHih#UC@l>8QsI2d>Ayew$V%4(Ytfi3^urZ~Q z^vQ1N6Y1NhPR^aSdeq>u!XVf1n#%lg-(Jx}iYsQv=!&+_e#d5?tp$GsLr=NFGeu;E zYCcSu3CyzT&`MBE1Sn%ZjzD|2OByO)sv`gY*4M(y23UZzp==2E%^ykf$rf7E^~S-q zNTpK!esvwafS-CI(_M%NxEZF64S%+{BbE(!*hmMc1_oLbu*jG z7D)@ALShZsHuqwlySNO>5SScI&cx?$K3qopinRqGSib2!%RlV9zS0% zav*!Vx}ZB6gb!IpM!@BWza#B!; z87tWH9uiQ0coJEGq$Sc);xgkiO(E#qO|6`9E;B8WD;ck{7vN1k zmKXLv1VBW1gofDK8w?IyN^hcMS)SA;ccYb;5G+6b;um4D9pPp30Ywi!I!#dvBP4gw zJ)_v^rz)BFP{$Y2dAI<&mVP-cL!{bQPW5j{X$>u@oRXd~v-D8eIGs89L^&ha%__cpcZFmgmP_C!ChP= zr9KoDy|CdQ7bOdC9R0o6Tk%Eby#xBfRs5~<=gn+BTOci$R>(4)Fpw1GyFfOPYil&X zJo5AP(Wt3z1DGvO3kAQCN6lqBA@yl>85| z`HRmIvNlEflrPLLTu@fq@{sg6>%WB!mX5yLQuDP``_1{9d6l(!7153B29&IC8o9Un z$cnvlkGFp<{de)BD;E|&(QmIPp zI6$OaF7xw}9n4Kxgp(x}a|2BE2e%~hThL7DMtEx+mhfh8v7#i^@oF_Ry;=o5$w9Gk zT^1@vM0*D&YDBodua6h?{vjJx$Y$BLAP#DsppuSAdod5~|=<{!! z`Xi*oGmP~b*Ot~V@#@uNvpMx`HYjD&&aKtOU$DK+&C;cU zmehWuw+)Pq8*o=qd_=rKtJEhAA85`9bWvzyD)Kia=u%g=XX?_XRP8y1HCYQD>W?+4 z7T&dLiwZ@JQ|Uk~%#cbf3`sSzv(OvM87VhT=s?8@K&B3wE5hh>cE$>6G)|2;D@|S@ z;0ku}Mk@p#+IFiGNa>^*fAdFBY{q^gBE!zi8B64ZEq1HB9Bu&Nk@=O?HzheKAua~p z++f=V_#ySVnpJa=Wk4TF4+=UUPr*z?)sTA-gnEXq)gU{T7K1{)w&)7Pn%$V;3nIr^ zWPjXU+$w!`$v?o!B_!nWOqJTh%f+Yvx*3b7=M}78y)rLv?b_ulSFg@3tZm%P_D?JI zF3EcAv6>OJb=4!u<$&d1&wSTK79|gVYW%SmBdcNuz4CNs>8h5#L+b~Q-?*`4$lC3z zH}{KAG19jOV_Mfy>d}j?ID(T@&v>yhM9_k2DP9qCAL&*4~~-P$c;Tl#@0);W1${YK{N`E*2SuPgV8U zh9s8-K~3Q?$`!DN%h$oozU_q^Lh$$H)s9HKMHs-IJ%Nb6I~`-3oE8zGLd`~)yGls` zV;O8g4!nmrp7oNRn?8N(dXY(nBZ`UAC8k^T_VgKVt_VJ^7o{(m#=v65y-yx02|CY4 z21<#KPn9kkRvxdbdu-Jd-EiqQOkq1PlUU@hLy4WsU8+K`m&U)EaUOd%lj4e47n|t>a56 z1W+3|uYm$6+_8p^pjZ==9czFS1m%aKB?<5;xYyojzo*whm|0MFtXER(u~ABU8vbl= z>APLKn9jPk|JNUX_6`0SyW-QS(s`B&9O_Q#SLS57bdM|BtM_1)&;NpJZoM_=qy8v?4FxMJ2Y!wYGs&SAu3bKw$c|wq~9)0&I zI^=c}hdYTrgGT^24!-d%p3?J1%AgaRP;uOP>wA0L0W#uTAb&_9wB3sijrI@mr!#`c z29gWji64=R+J|gh16jCenFCT%L|m_j#l*kd6(F<$g!KfLLH`g_rR)ozGp+Q)=NH%u zpMEeMe-26ilYU}q6*%?>=?bela^l|853`zmhu_`B?mS_` zl)EzwIF^@SLO#+es~eR`1p_fKqJIl9rV%_AOX+yZMhfO~8O}*th|C=)C(f9Kl$g&G zIQmnKbu^x;Kz>%M<83#;7?Gl|(AcQZ#IQttsL7=DG`qVJ^pzaJ!~Fu00y&#ad1|4{DszEEj|DW54ERtu7rfRJ!<; z!uc3uPfBOs->P79FEc=)(#)UEzmnSTE@^?7Q9g{_`^W)l+4xqHPvfEY#)2+M0x~A! zVv&QQf-3{eoQaLl>mURL^AKKj!3Dn77ia=p03Z`y=%~-l38Em`pvpyKymxvJGahH8!_dPH%Rnj4p1ftzefsT z!ZE80oz=oh`|ubNiJM4xYNVv0v=y*!NYL_C!wfMw02(|2yj#*lIbP2b!Ebp3%p$xD z*lza=dfedfaBK}kXhThgAjlX!uZRd^h=g+K0uxw{6+$svsPz#f45A38F5ki|l1Y4I z+uW^dmacec`PPvy?h#K{>jp0>Dq39mB!ezpuk`IaU*E84%ceI*^cyd|wQ1ssiM5|s z&&tf4RV|?ryU+}|T&E0$G>I3`g%FjLl&A!w6Nr2}oH83gK&BjafNiy-BMEAR*8?TO zQ4iVck@N7l(u5tr<4j~jP4O8P4M^5%=%?_d4T5z%*ygnVIlivLseh5bm`zY|XMqE^ok zD`ffwK#EeX6i(ehwjfN#W*RSbt|$^AMogF-g_y@VTn5=++m#ck6e?g+Q-B|*Y6p7- zyY+U#fw>gkw}%F_DQ2@i3=pM->=@q008^9=7;#iX>*N2Hq@wwSBjV$max?l)&$ncV z|J%5Um7b^+D|VL;Ztq{zURge2#F@FpC8!Tq2rH21TZ$f7T5wCcu>Db$P#~j+A$A*T zDo^g>iFgxWs1Vao;Cvdzl??*GNo0bdF{sVrn%eUc*r}l=3KJ&8nbJek(IPa&GX(w8 z5iE3e^@_0?LQSEep>d({p$Vbs4W@?BhV-eXsi9NT+fD7E?dg4Dq7xrgjVYk>4D1c# z>11O9_!LnY$Iu@a?m5X4q8YnpeYfh52We_Y< zLD2yEv?}O$4R@t0&QUUI6%n?Q2sf7b{bW}63QN28(jjGn^q-Y%h1@UwEIa!cZ9P3q>7C1OHJhymczIgiDtd(KD zS^FAG21a{X>tf5w78LbgaX!h{H$5wLM?=%-7{Eo7yur&o|1D#!*0zA+AMZ5LxJ+O4m%F@#P*;&)3 zWoPR=qna!P8W55tNb{P8~ zN`xPI(n7^kt;#Z2SJ&RIy{SW!yT%oLtBt8(4c?YXt7YORovXxQ-@f?b%Tg2@^Nixy zHS+_~E+BFGYySp~>HPUP-cK#xY7Ig{vM=>hBjPI1L>aI^djY&(D ze!l#Z^z-i8+QUa`&eOncCsQSthlHtq117+A}2I%`7q0pKK9soRD+Le6UEu6d4 za6z-ggb*VW($f-h5_7Q8;zQy+wSs{eNHX)|>u^L8>QTr9fGD8~MA}YV?P%1BuKh-E znkUBH6UEZP_iM;ik5}_fL4Ut*v9(_TBk8OFy4ywf3{lZ)JMlWfJ?9o8r^a*)vnqKj`(LMLwo-kK6-8n-KCIV!6mfB%S>r0DqCBS&gcq66L;dp(cyjzaK6 z#uH|{62EQ{$`Jl_mh`R*WPsQ=aX75l}}Q8Obt zVn+f&pwIni9`rjm=iY=foeZF(q{ws$Vy7( z&=<5I5u+y+#OEistr{_Q)`xi|&(sea)mAvuyy?NiXP>%p{@4B;)s{NAaNETB8951U zT94VIH;2dUUkGI0KKJ#gWeODf2~(^Sky6Bf$|G439+No`(@)0q`(pY=Oy7X{IMMX6 zH*tyw+%7uh@DB+P9ArsNN{Ee)iohxK{et^xy+b270U)VJTRF}XjDz(iR^_#@x21>m ztFe)hV=6~4%A1q5@o-q!9KQZxoV9OFozI%Gvd!70#R~%hR!qpu%$oJubea2aNhstr zJM0Nx<06#S7)1v=6XN%yQ?hm_d0aQ?X;~v&Y3)zJGX3ktIeShQ9cOGvO-8(N%d4ff; zdn9DeKyBIPvL4aF95`mB!b(1u`QcdGFb7L73!Pcmz}y_*3nw)LZ4;H*<9Vgal80TFTJ2g8Ub_47~}>RiOE2 zI4nt);h_R$=(JkLc5{y#l4A@y5tycfY_Z8xOi$D5%G3gKiJXxPh}Hm3wfM`4ix($l z1x`&5bMGUk%OIwJGt>Qj`-HlO529*UPGrEH%|5*BPt|PeR&k&Qv++0{oIkL36HFcwIF1=-D z`)jnG&*i)s)GiX1TbFpi*y@e+V9}q590(#Om_TIi-obW9hL+tEv2XA{L*(qN)D&v9 zm!F$elwFizN$H!~H#(Bq?&&=#=z&ChB^A2%Br@p$UTjWg8u;Su~<63Y{wtaMIBI|cH7#7CMcru1Vk!r~?_`@*P&B}9#qVlQlC)Cx zLQPh;y~@Vhj8)~|?Pe)9e`JxfyxZB}%D>;v<_4~+tWxaKoQ4fD!|HXT z_&7NW2Do-bhBfH3E>>f9tJt)=8AGcfDkk6VW94f)z0Y9_?7{<;0P){>6wLhcq zcv^NtLG*9L1o2Bn19BMYEDHDltcI3?PG)C9IV?aW@(5iNTz8^00Qn!t4>yULprB`i zg2aTN{{`WH+|iG{so1PE0=u?9rse)d8X z{EkGA@(k)NhToLpu(<(pwx=tfBF5KBOiOORz~pJ;9|#{DkA&)l_n&4_cL5gNb}rlW zKaJkAAUf8|N0${^l@LE-#6juH$)74CBKjNq>b2el`E7?5&d;HBW#51ZU$P|3AG|}a zr4^$0IxdkhDE=T$K6jAMOI~v#pW_1^|ILE< z`ZGQMOMZv_O$q@`*_4ZI??K$x8i$lNdXgD&U%WxhW2y5ImGlW&Np!%GS7GCR!T zR{x&NU;IA*{=x4CVIKB zr%`Cg6Y)9DU0oM22%X*64bdtv|Q!5yOW3Zz$WngO%-Md!$DC z+9@5|AvLkxQWI9JOgct1VeI+qUm_G_>6R~z#B>0rAz!#OCDDy|PnR?mn{Cq5zgt{_ zvOisaPwB4uRfvKWkYP=8h?Ln4X1uKtF9h^Ut%Ru^_0!o1YsrKBy0lUO1`##86Sr-`R>Ju86J8?*L+{mPcQFX0jwwot~gbp88 zZ1sMXWdWkZML=ZzdbWc1L{r6qZl`IY{K(f)-|yJv%TgLsiWeu`;cSy|h+Cbn{LX72mhsm%50{iVz5s|zc#5AD45M^gVDwC(W& z=qw6n!J8i;#_tX~kGHz?#SY9umrqLN3xgaFpu7prQ{zdHPawt;n@~6@OY>mZLdX|Y zqCUR+GKVXWA>yG$5o>B#s5aLl7lw*EL+p=(1wHAf-~PVjHXC_baFR~5`igQIm;?qIFL+f-Y$SNQ{jjoKVYfNs4No-br(Srb2 zS$*RkOKp8lbzq8bM4rl3?=pX9Q$bNhtuEc)Csh|Sz{ldD4JkMi6y4j+jrdYzm5M`( z#oPwe2;Np*57ht>#G~Hu$V~jJ^5KWs;)fqrz0>)Q7}NO7l5TasdJXksiuKSV`n4=}^6gNCsicq-Nzn8XPxjTK4>x z;$*U>;>6_S#Nq*oNlA&)C#VhA>!BAD_5H$YlM|miDn65(IJhi1DJiLZaANY+_ojcR zii#Of8tv)bzi9Ds>6#U^{)=%VCXA9^QBJ>}hqWAmn7 zmMAVLr(uVyAHyJ$W1L0SPrR>llyaK1nioJa_BYY0a8Yb=@K1XB72V1SP;<9(YOyIN z(b}b*6gJ&NXGa^5cL%%FK(+D|ngl=#!vlkYR&p=}LyR#|#-xxW|0r(p$*CIl;0@$3 zKWf#J3uzoGCyR$J2GOY5_nwAcG4)CH&o(~uQEtPqgm|~7|DBPN)IVgnqg+tss9aQB z>sX%MJ7Cp_>Ue8b)FCl3qcS~vP>i!wc?}w;r}6=%RZlA4RJ;BeJ|F~+)=lk7%O?)nP&q3BE0%N1FAtb`MQR&WZbeCz}_=El7>Ll^~KA=W}6)Rf{_>9};?;Rmbs z)ji58jyx(Ik^C<$8lUXvH?DQj?AiSJX!G);Vh-fBs}OEAVRe!1rXYX}jXk)9M>h9( z&LUtEHFO=LX7-e10n>)P&JJG2A8D9c*U?$n(OJ|%yi$i}iVn|2@)o$35NABocHq`{ zO6noTqi3q<7$^ENYK^Rpp2!YL!xoEAbcj!O{Q9w7e}{7Y9S-ciSh!dA>dM&w!3i!+Lo5+W>-77q^?1+GX(p>vVJV7E33dK&gNQT3NJ ze=}M8ou?cbR4nT8(`~f8xZdUi{MdtId;9>Bffx35*-kR;@3D1zCfcJj5T`tHN(F`d z1L#hrRR5>w&i@8z?Kz6FE9Oj)V>X`0rKrY{x(6 zeE-gdXEvzbX?=R>$&cKx9a9JYc7fu}XQio%kCby^pG6|e8;9~GMumq3!=WO$I0DP& z-38OkkmV~(V{wwKly3xbW^jOyEV7_LZKOw}Y>&xU&JFgg4Cq*pT}OwuQ4EnAUJ9Ej zCa!j*-?*ng&Z{4m7~lJ8yHMT{myt5gtSIh5rmK<9?k!m{vN|p|JMz%AAzhML91)jM zkuki=4f1T5uu|Ek@DO|uGwx^2BGHL@d=xYLfS3bOM^pk9N5c&iC_zjCN)F-0}kUfw)7s#n9W4UYhbNx8EmzlLqQJ8^n}VdkinTM9Q-rqyK| z^P6%8Z7gG3u3Z!N%#HM;<3Hq?^aN4Kab2hHyCPhEGKJyxcVbj{W}$o3C)B?wDJ! zx$^Hl+1%UC<~b2JXLImT_nec-?@EB*m3ULX%QoXb^1C>@b$MnszbigA#Hda7NWQJ# zMJy=qb0|Na@6MfI%HAheOI+zlf@V&FxH$0r)47A|GR?~-?0KR7*;`Q{D?3j1s#;bI zuFb5l44=H_OeT;b#@@T$Dqc~Hg&h-wo?f(RWILO{OjZuwbQN5^6u|6Ne2<{_m{#X0 zZXJa`V-FtOzVhm#MORmJO4lXc&`EyYZ+M>bt)AyBIP3WH&;U|lMpm1Gy?5Y1^O-Z- znWD3k3DUJISEXxsF+-l6LUCT*4Ac-Or5U*_ha`rfg$xeZ(nvX^8gPN9Eb$y(l>ihz zI+7B2sp!2s%M?PD=Ox>cG6+G0&XM^ESo8ZQ81$~+-I9py17;HbsbDm0uGR22zvR8mQOAPj0EHqVA7 zh9LRWJ$7Jh+ySSN(&**kn@mhqus$}XZp!31FQ1s$^#wUsD~Co$N6sj;TJIPX9X+)A zmz>$LF&lr~wb9?NC}dLAuNz}xI|dB+_;T6kpum8R%-}I)KYUa|268@Z(8ttc;O&H1 z|Il-SO$*Bt_H4d5RVrquJ2$Dvbo_Q0XV9=9JZGbNwCy>Vy===;t{-Mi>A^y`2d2VP zxD6Y`PD{n&)Xq(d)k8XdrRQ)vo1F)dWd0PWcecm_IAQ~yDI#A`PFLlbg6#Fvu&UYl z&J(bxX)U---E}{BdIhwH$Ol393tjg^7vcCqSkb4+f*#lzF5myUB9q(s^0|k2-%31` z8xq{Qw`I!0tT%C^9>*tkbe^F1;y$wFZTAVd55u7}+wn-4v<;aIcavBGtNpZUMF(EV zSfuo$_+Pb$pcQbA72kw(BksX>t)TU#t;4_+Ji0{v!NI~%d_#5=mz0E09<;ZAy&;b| zNk9Jgqc1-C@ZyZm=eB(`_2TDJrj#nr=VPqPgLuB@O`h*5c>3|@la)dHg=%>T*2NBC zA1^Bi4#^E3UAUKCHQ+Ak$1g8VxH#+Lg$Wnue0SmEhaX-1>=MTR9x{QiAOY+4@}w6{ zf(yK!@algY{1>36X{lcrCYGq&jDkkL&!Z;$U>zm@5S^&RXR zqz#`jX}WZI{oT^P>auG544(3OkGsA~F)-d>g^A63L5wE1eYcYy-iB z*q?t69)kbHr|^&xc0mg6@gOGr9kFhO>P=aW*ysY{kWfJ8wM-IuD1T@7u{)#@>;Y+# zxJFTY?ew+BF%J3uw{CmCZ3xq(QEUslPa1^>tmO|lEw9bX(nW=nYBprK`Y}{{B*&<< zsOi>vYuL+Q*PJ_7V^%)*Rn7BPA9$WbJJ#W4=@PDAAYZSf>n+*{i?fN=DJd@ z&Y|vZz%fZray4mF@<4f@yma>Vq`V^E-172V-=e%E>2&(0RSIuzrz_4ROR8uaAQ1F zdq9jgz;iw}O1=ZgA&-_DAhK2`oenR_bS1T<)W5K%s=t3}N$S3(8!SVnCL~N5YT2-K z-+5zQ)n^-*`gpf*x=>wbT$;Xl<%g?Um$t5bf8~~RnWm}IF~v@GxDX-4TBFd?53EBa znE)G5BM1^VLJLBJF(E9(TaT*S2o@oO!Vo|Z%n*B!r`$=402L{-4VA6j_OJl_*DFTq zGJ-C@);hRqq}dda3c(4Z$l`+hag;l1yM!cfD2Vxc$pL2tSs zrt5S<@9H9m$uTTmBozUd9K~(CeV}6Bfy+Av^xyuULt~1Uj?Ty!y|h^RG3xklENsU% zX8i4V1`EEfFmLIbX7-sB^bzw?Ze?E0Qt-8OiFByIzEi#_wqdb+thd1F?bxi? zw%*2@>^sG-+uuW$B})~@b?)GIF<~R#Q*irxJaNxP#mQ?W@{1t*MCu9p(Cx-X_xxRv zdhJ#5p$9nK#;{Kmlf-4WyN8c$jOg6?i?|FoG4}t{J$TinKTqooGOYz+gZPfpgj`Sc zV>mGgJe$h&4F3!49qDZrCni*~`<_8%{7=vD`AfnE#oPAl6}aA6$!Lo%x@lsVP*CwdLnB8!D9aX?H6}6 zN$ji7KEX9mWnj5RPyb^Y&tN5iDAoL;YBoYYSkjnKSi zf9eg*-0%PQ>nwa^?3JKF5#Ri{dqF1yjEjMpHz^;ktm}`ySF(!*AaC%!`{fVBzwu0gBs3IZJ9XrCHX%))NjftVH6>Tx}{(J+xRaOMPviAXXsA$$H4t;6+J^j|GjQi zoBtWePV&b2bGU%R3hioG@P?ie_@6uUwBgTGp8N0Tg5^B%+Y^(Nsr=}<0MgoxJ7aNY zsQ+&Mfj?y)^n}3wP5uW3KTMec(KmzJiAJ0sd|y)`G2FdUFJ*WHm>ZS0VY)C%`SI5g zE72_{oarn>-1OB~zD+Fq1&wjmx5sA9(oFsK7@iCJRyvOTGW1-2(DUbt)UFvy$pz2l zQ7(80_;b_0`bym7+axBv(65;~>zntK=Q6ev&uzf@%H2}C150Ty{`mXFJLHf1Sv79l*adCo<<;J zm(7{vh%nHX-AZyU3(B7y_PW|)*=Dh@W{c%2i^cbIi)FLLBDpOqE%+xNuq?OWpFCgr zPV4@bB#Y-E1Jr_xXAAs*Jk-W1T79=W)Y-HJbw<- zR2ccH*lI|yz@3mF;{NC4UmwvdQm~Ji@PX=Y(qFYs%G2ZbK`X?4(2W@dniGXYi=;Ix zm38n2Qv8R10sb<)GK8{*uci+&oSAb=HGQQ^?0O?R+>qAeuGz96HPWE^+lYnP1!a+9 zTzHYokmp=EBi|EkjCW^JT_}hd>Rew_%`T1Q>^JsjK z>Jws#GQ!deJ&n{1Pg&LB9>^&VkwZ@#uPhVd`zG6?yT#uQK+fHF1!Ug$pu}s^IKIDt z%>Y`HEZr1H8JbJ65_B%TC^?z8RUP7aDTwFAWQ*lc;Ga0b@{|Std?%FeH2PWWZm!3M z3J$L=6q+BT5sIQHY=^0l=b84Yz}g))VowIz!>mJa&c$Y3xus@%?KN9AUny=Kk&=9O zMFmFeL_qt5)&)PDUN8#l(UwsMkRK&ezzH!2iU0}-m}kJ6m=B~XR0`=dgm$dt^!8DP zfP=1s1NH|m13YRB@LOVxF-8Sx4vu_adm+>a#KJJjTe89{2~Kfq)YwlF@Lsz4+>4-`5LYmEzufQ&ar+B}@L^{aqH@F0Y5hIN(F%U3g7?UgcCD zhJBnb)OxGKK@{Y4vHbKD13nAo!V&@uDpZv51;;B2Aal{i!@H^;ObrRj`UJgMpUiVH z{Ky5IWeKJ=R>6L74FzrC%frzKmmb9$%;K+>K3Fqy^w_G(ldI=eu5a?z+N)BmURz47 zHMcTllxObt*0#3xt%+fi+nZlqd&TQbjnl(eiu{4fl6oR7E<9WuI3h-cg{2rz7>zo; zB!8%m3tzqF;WKMiM_|3ye}4=ZZ)HLncBosJ?lrlyGvkqGjKWGJ{W?+;Kr>1%Oro$J zV96xa4v+x3O_-)M6YfwXtR@0&6JAnbyYl;>-=Jx@F~;pO#?#E5X#mTC73}f2fqcTh z0QG|LuoVS+wRS`?w03x{S*+QB>7(}!tBQ#_y60ba7_Ku`lqT)Ta-|ei$nQnJbNqp~ zqvOJ(_r#VLr|uC~7FEmd-`67eI%l>MQiN4CobX5ip=wee)IbE z$g-LoW7(Y*cUvgjSw<;bqc=mMHg9nx+_1|RgzxfNX=DK2@9{Cgfxa@ z3rmiCIk?0irns{lP-U1V_L9~)B+>Y)zkJM=7_Cn}-gzuHH>Y6QoMTgu*}@~EqAm1J zPOiJF`))RCT2)nL<&3FSBdbQTHc>%155 zl->1lm3P{-%E}QVIy2j`m$Il~?ri6uP+|ToS&PZ&p*E!B`;OrwTWnG3kI1 zKmv?1G;=`_~3s@kP!clk3iM3(4!5%RML zPya3KL8Xzg{NRm{XHMXkIFUOsN|@>GN&wPfA}abRyJIBqCA~=WP!o!Y4&(rIW(cFU z9AT7+Mk!o~TO!0AKs@KU^A%-S;zC!N(_u?7qZbV-NC<{`6dM&m6G{^#yT_eYr0Kvv%HdNB>xrW~AF~ap;T|6$!YP ze3no3Ka|oRKny7H7!U|Vie)faxa(D;m9X9tMS;$i7P@m2^W*aK=d4UzHNXr7kyQn~ z2MP-EilYcYB*ERBRA$IwdGaH(jHBH>@}$tP*t_*+UG)AV;sbkG!}O~QXN82s+#L?| zYMm{)YK#2hUf=c&&x}~1%oFGPDCog@s#u{sMkx5G3xU5-z*Oc!Byj5tWkfn%pH9g^ zB*QNRWgZwlLZ?b7SizC{^wUqJslKIRoA1GY{p%%GR;QZWFOTV$AF7j|$H#%LFu+v{ z!Gm^^%F*CK0F-FNi}()OQxM;wRz(Q!62im#!dvXLlMuW{nh~HSFp>z21aL7JOELZD z6>))toVfw9Od*x;DLZtw6ckkZ4UEhD3l6)pJ z{f<}0;3xU9ew-tr*fYNceMSjQVzQE`7g-G8s}dF|+EF|xHNhC7imSl85&n1i8{xRj z|Hc%g`H{>i)3ZoH3XO!O92KSRqQWPX;Dms`HC^F4_NjFMgDd zulz|50PvUc6jU5>8P@n<97ZwbQV+qF4;n;7#H9vwiRaPmt8j0GMx0DD5F#Qq5q(1+ z5Q+^GitzW)bg^A78WrWzRU=(gdC=S+ygec!ya(I>jqIWadFy`Y8CoqEnZ^NehF6z= zj*>f{RaeWg7nCeq%6}PA%!l8(BZ1(K@kl@uKdgmZ>}Q8&hUXx?Keg9)$F)wEy{w>PdP}V%%5h-Ro%fG8+16h9mYRMqYr>18YAJ!1TTyPv(f_e*)hhDfzJ`jI$WNbHo3 zr{38s=MmVST6hFHPB-MT5gCdpkRqAFWbcG{06U@Sm=;-p2)gZnxdA3X6PdmUrp5b6 zR)$$B&TkHj6sc_xWo)9l)M_=EGBcbGtKABrl43E%nc`xg*kcw^r2Jr{T-Cw4_`%4q zsQBkZ91lw<4ZRfe<*V7+S-<#b^ZI?aef1x+PP4cfYnRNS@7uOrcZE9PyYr#9-n(vx z-gtWN&ra&(*Hqc;8hN#-o3MCxyJjGiy)WCCX3n~;3w5*xq2GTBne%7pE7y8sa6ZHF zt`cK0NBj=Tn^M)62iLw<(g3g-N}W!^gcOyP(ywtObzy5jlIV0HT~KHGLZH-VUv!5K z2qYoBm$*?4wIvd{Yxolb%aW-pTE3bG;fuEwpH%lin(=t z|Nm4|zHJAPXH7^K*cuq4yFcsHXsq zJurE!*~|$-CZ9l#f>*I!(;#N#DvFJzwzhkH+Sxy_*{(L#Bys^Z<_LpiKmi& z&88t~f7-9Fd$Y4keqMg->2J3gr5U$Aq*C{%Jaj@{qn*_CI-;aZScE))C29+7xl@Yx zkB-NNj0FU}Sb*&)5IyKEDflfAg0L8@Fv>;MQZk@-&}Kz;CX7FEL9-5i0oKPGI8o+# z3a(Ra|AEWAcHk%ZuK-yIo|WtcD8tfY zwiVmWX1n<){bA9sfAkE!kiWtUW@vr5>?%=>FRiU&+WP(L#Wdd^=|5g7FQf+$ocjBI z{8|4ynx>+=yokA0z#6>S8<_(Mk_+^FWOC~WpPaOjyfCPI3RV%$ zPfl(}n(b1q$WKnfZs$UmCyxi8mvop6KQQ%Z+O3!Fu$5Yj=1B3{E39Rsi}!41j(hHy z(3aciD&KhJiPo-+CEa^=SFFyRyZmPrGc(pNyv-;5<~MgGhw9WiwU%w{U6AS9rGE3R z-yb>cjNf;~>AAmX8J(&elqtz4+wLoGwMJ$h*ou>~99VNY-@gylGDpcX8ID=Uq8x5#@lQEnc)(CU470Fi?$s!{9B3fK7 zhr?>k%gxSmWx8NMIMN(xf#c~Cwbt=|wxV8_F1Oj{;s3Q@E&4C_xDCt`A-p;<-%d%lE3^5+bm}7AlPkT>>(8 z;e6OcJwKV|Do79kdN0Q&fMd5?2cHZ%9;oZ?1y`b>p9o~SSwpvoIGGGlk*GV5HN-?F zMkT`O03cBmbvR29ks^6wM{=bN@>zjEx9QzdCcEpUw-0Q*PX7A=@!ap;II!V*rr*od zuSraPTYg90$0mLC`gf;TCUdYQa{pJat6RQ{gzU}4`rgZJqdadm)E_a5!Hd#_P#Eg! zaGcCT9-&BnPK~BdgIE&|OXv=S7|AUow;tgboQen`>g}hmx#om8;+*eSY@2+QxcpDP zTTX}{tPnT*c8L&AD|{*9D?Y+$&BJFN#b=tShL6h-D4IZ2BPbOi8qUckd{+`mu~RwS z;^DBN_&U?NoW=N09t5aa9<$nn|41}d{l1wczuJu4+$_}!Ip@!9^4X8tsBsPJ%_V650=jqVS%tpSnOReB1RvsQj1<} zg2mA3JF-#tj$@Z0uMxdD(UgOVLPAw6l#bS=&5L4m8LXF!cn7kc>lZHztU zX|F4Dq@%}ZSArunEM$6Ak-f5a?yc_Z>?B7_fxW3K(VY-qq|=3lVtbdhC&eY&lASY4 zI(1=cQ&u?}IWeZn8Jla)s4}MJ;ZJf|bk)(c_%O7Zw?;T@I(72EBk_7uf-y2adCTmn z+maGo@ltbWejlbx?d(B+=s}0qw^ZN{DQ+a4;nqk7}>*jR5+r8}Jnu%?i zft%|lrY3sweP_krAAYhRIc`MZgzMKnKXPP=+xMk7y*6=PReMfWQXB9D%R9AIsYy|B z$=H{<*q7H~Jqyqw%ImGnw7|y`qt_4zQ_>xscBtgR@~IebLA3#gkH1|Es`=BBTt=te z#n~IQCPI@!2y#Oe1RB17Whk7Wm^R#?Q50tl+Aq=_iqa_d@3_05zG1DWsl!;3WvMB= zcH9-Cv!~k&ip?>_$$z?kbK5l&ic2~t&w1P5O9}U?}_GDQikI2?qd6n z`8G~yQSVZJXkB=d{HpxgO$)79HwkMcsP5x3FacUxtG6j0`WgCf1g+h?Xj;2atQ|s6 zgz7%8IgBZGPGVeKq9qX?qPT>(gbVaA0w*Ea>>zcxP-x@eR4atV;)ah^b&;=&`&iLNgmkV8eXLNJNDY8}3g@wj zyvEf3QYdD{+{c>gfJdI@gQbDghXmxi43HY+d(cJlLlgHCNN(TkEx+$TX7K@3lw`O)Ij!@o`)$ZkOrHVe8zMP z&_8j@jE4?PnRe*(l-ZrX=$Llj?AiTOr=FfRi%lCfp_aD z=+y9!#1F;VF>m%wJ^!~U^IsoRFUnu3Pn&DT{dsQM=)~za=35G22n?RX(EA0aHaA=0hSSncW5X}xF3Ea-i{yfKKDFde1~!s3^9kD zbP;^9*|{M`iZ%7=@<0!y*B8u#3x!CU<+EJhyL4sP7XGdpERdP4_=M z(rX_1-brR=_xwq7^9{wV<4VuI!`3Zc=s31#&U$xO<@)t)8`tl6$QV(wdZ~=5A;y6D zoxuF!geq?Z#TH^zQ2wYFuHRuk55>8dC#(a+ziHpX+X*R4FhUqH{|BsTxEm-A;(`Z; za$4{O5X;(@jtMIY{5J7nF0CPN#tcXD~2zzA6g<7_!f!#eXlGz zWMAU@C*PA-u@uz=)z_ric&Xm)2kMDPXOj;0!;O9SK&I;Jfj7tx+`$S^7yC41QxmFy zClVW&FuQa_1_*0f)#PGgIb0HrMwG}lG0k8^5g(M&Ow7W8# z87^0rfvb(!z>0!nj!gq|QzV23Lg<`zK?LIj1@mi7xDFSZ-TWH*!GD!<5x+{?(K@Df zmfq>K=Vr%<(Rs_g!+2C1zwF;S({MaSrv&YWVgjC`OJ5K!hwV+^{QMC7GD?M(=e z@{#@be}wlet$n^Pt~xI#=nJM-zMde5?T^3Jop zPdz>Jth|%2_XIXmwGjd*RVdeQI+T%b5Cn|QA4XE!_jO_)!m}uO&&b0~iRhw0}VXqVd*?Oio zx~g(SMR{2%NpU#6NHlQF7dT(xvP8cn===QCUO~oEA}C8%WgmVG={p7AMDE)Zskx6K z0o~`&S*tLi5Is%eSR7TEJGr_{<%N7QBtN-YOzp=thVep>1^9 zUH;7I7W`@M?e1Is)EK;It$%uD>kXwPm7Yp#bxM6}%Z+8_WtE=Ny>C4AOz$&K_hN0H zdTRcp(Jjx;pZ|1Ab7uOaF)hz5nD=aJ{p8)1o|1hNo30yS&4{#Al$GyqnQ&c+r}Cws z8!w{KCWRtth?*djAEE~0FJPucO~_n`8ik|gfnn5nPm2#Lcvh^3uf5OjPmEZe-Z&%{cd!<{%p4lFNK79{wGxH zRD03$kK*5>yk3%Az@J4$e**a@5T!=>XP}Z_P-_tWBR{c5+Y4^vxG~^1oN=h?ccRk? zY+FUu2k$^U4X^7DgxfkM+|cfrJJDL%Q?P4zb-&7X{(b&G$?G;aA`=sXYWxqLc;W=M zB8~YV#=Hb4Zxp-;C0;kyRl@cKyffm{YUH=zJ18mz<%>e8Co2*Oe`uQn1*M7j zD1kA+Vv)!)z~zp_Kt^>u3J(z=Mgk}bAuRUcx3~#eHi|rx7`9$`PImT)oDu2Ss7H#= z^7zwi=rp7R8`5QANnv_grksO{h{D9oYQONJ1Co(a*svRTHh zTesQu+5JW0CP2v!4Wg)Ag(Y`E`jeR}lh=T?>9x#;~{Z?DV7eWiEc zW#jnj+||+~7XzPBSxS}+Rf2i?#Qj)GcR;YUT0(vpf5Dv^lua)=|h1Rg?0v8Pj_{^$nd7&so+CA9f~>ymB6O(4^aShnD*YD{oiHbHbMLz9a~iIsP|%i8X?)6KwdRo^o5g{E7yohK%b^Q zL=rj95EfIt@B8Le_Kq)wEmiORZkg&&=Rd`WI)put5o_=i)VEN*3Sj4`V5LJEH*k_~ z>snUHyl3RjW4vCa1E0H2H4@i{^3PQqYFf&RR744VFjqbdPA5Hxua0CNI2RxiJM)*1 zACVtAE}x!+T|xUIL-1*SyayhzW^Y4XhBX@6JNf94K%rJKbzi6^1Xeio4gNv} zPdaQ?wBIW$O>;5s4 z_C`-ladDodFgAC@=saV5rokgFN*!U&$;_;;DJsgd=9_cA>piigZBJ1_Npe#1l)8VG zyYqKWJwCUuuyE^@#mVt|Dk`oTGsRp`lRUX%eoeC7Y9F;|zSmn`zM*kad?C?_37h3T z$eM`+rS>SfwpK_#kO-aQA^(s<3b`kuo0-4g`+Ve$DiI2savgb(FL$9gHRu|sLGUnN z^fW}L3{1$)cG{B@W1@i(;bEQt5F!Yz=ym{qaTmrIN{Wg+F)<3kp&uz~Ag8i~3QeRX zX*H~Tf;%BD)n0CoONh{DBcePWoybC`^lx#EPAKqtGLw?Rfy1bY>5D)HO{gcgTi%lq zTV^S;S)-y7!wb?`FKf=s$#k%Z?AS8~b5@PpYcQsUC5JhD2lVqcmB{kxS+9U@SIP8XfoxLj9>UU?F!Qz-ZA>R4dZdOFCwHOY%J-FkzzSM(duFw8eQ{a>9g~ zlB(=vgViA}V0r2V-+k@aEPpHCxEOF`^og7Ei@egm_9Uc+C zZrYSti+)~~lpPrwc|xsGhe>fav^QUeE_X-~`k7d}_Lic#D=o=Yp2Vio>>ID~Jt`he z=yoL9btN@bW%^WOR&R{2`$9QMb$|vEZom#u*#=HZvGNNhSnnrlC43L{7-u!`r;l0rU#=oI^%8 z!@s|O!I~eJ&&%f@R~CETnz4!+@K$vh)IH{^oO~5&; z`2|p!`5ES6)EWrj_y<|1d~_x2WL+!eqip(0`7Zfx=48`Z=PLY6U*x;j&^34zK6T6Y zt*SP(@=C^OlqIb58nYl=laRHe7MsGukpG_ypM;`$rowG1p?sYhrXYzC!8puTacF6} z;Dbag3t9!Pu zfzYcp7_bKsnz7TtWM(5rt-X53%9U65m)zyL^1c?;0IN@{@U9}8_0X9GFTD3b{cf^YEUArJ}Hq4ATFLxyUEYuv!Mq9_k5kY3i-xX!R^hr z;`7h|9M)C@l875(nQAN+3&|9{in&fBSs=D>`eks}CqK_2dI4bo0@7#WzZP^Oi=2p7 zT%Xfuy>{a}+plW8vy2(!U!4=}zWW-FH%vP)xhu=9ec4cC+wB09^ z>W%}QJG!#sh&Dgk4~8TKeDGEMQg*-z#^?9g_aCdw>KypCM^g{PXn41=qcKUCDx09# z0Hg_lB!oxRNWVfz5QzX3>P6_!Q^JIiRVAZ6qtV~Onv{TUpm1X=Js=^S1IiBMqM4+m z;*C(mBA4L&0`7rPqJK&|P26cu(`d}(4;F1>wiV9yc*^!Qb$gRbOu8`Sszn=}V{D~q zsfF=chu-Y8*Umq^!0l z@5tDZxg%?vdt1@A;%)WYMsEXfpwbbUH#y_%h*UoM%MCH2{h*e~^-d}+S3tQ*W2Hr; zqgTsS)WOIf>#ALuIeo&usnzA>Ik|Ch(=%7sHG9k{C8Z55#U;hDHS*W0tIltc>aLzX zb;9*iw{|9^hQ;UPcWrMjDPGvrJb%6vUywQd>KXgS#l_|1mX%juJw3BKW9eMN zYVeMfg47M2g7;5Wkfc3?O^Yj0UCwr zVDv@a`KefM2MdAd4XiUfF0hbkonaRsQl(Re^yx#RC2EQmrHMq>1FUxEjOHe?3ycs~ zeRF3l>s&T*eAD#i>97(S%Ni9cAu--yHCkaO#IP93I`yv)mczd_6stf91Cb9;qVq&? z3vh+Vzk&*0I`)}jUhq}rVO_2#ksbnJ!;J~P&We7*U4krSbvD<+3nqOx9`QAv~gEnF}^*=Iey*RiD|hL#;+SWH*I`QT1HA{}^$D2rwH{O0!+ougA+VgNbg+c-zL{hiJpbwC1$vzeD=x1Z)hx_Hz{hT+Ma9D0q zm8ri3e?wPI59q2&m@N)JkD|1DutJY}*e@ci!wfaI^Z$Z#uP>Z$1pr z?Jmrt3v$j0(+iO?9BI9vmEw{UQT*V?=YfPGTf%S4mT)D2JC?aOs$|DI8*z+@wZ2Dj zbafn7DJ{-`;$1%7JNk>mXmFz-J}Fv>{DL>V>mRq>^#CKhkVz0Z3PVVj%ga z*pKe2vD-St+G#g-OulhC)Z^M6Z{yQ;_(S_*mHSNyzxY znPyGUhvMMyTk)74#5A(Buy|AGJ8XF5%aILlNoGQtBRSKONzp4FoYe?PED04DfjQIe z!qy}pF%pS*L1`1@Zdc59+M(?I3EP`)+dh3)Y3}}MWpi__ZbM#K>y~Ekmf3ZES==rk zGj;rTJttQj``wDotFPL$&_m?QkN;Zxb=q+ z6Sz_^R6QOX_pk-WKoFcon==_!9KNxm{F^jhX)on-5AS<5r0YaMN?L_!*wib8jj%IU zTfm1_78a!I=+R}vuj}AYi;57#Le*h?rbuJBK^+>3E>F4`Mc-MqvTxpu=_oV6qb_(3o=}`X{plyR+gksQo2~gDtZr@48+!?Xp%@B zuJagp{vduIFens72hy19O3Gb+*ARESkeiQ$GwH0#vq(6DDF@Zp;MdI3wxy|QYa4yt z(pJ|qvwl>5LC?cn1G;z4u91ssXVzi0)FJBnc~xUm)Ea1f>eLDD+C^UPqPn7Ssdz&Q z)!3Uob4L5Gn^iWhy}Ycom7Okc8&_7=-ahz3>S)F%ZEbGe($==Ed3{f9ZEt=-ZGF$6 zHgwMw$hSbwj zS3fiOJKy6hNqkp2qs|7erXlnH-|0l*)Z>8HtYRye>|&Ap35%Q0;^a@}OK)_2`)${^ zBm5KvH+I6M{UhPPBB1@0Bp&h2QMsY0h`6T*_uPYfwB-4r3b7bS5$u3ol0_6W z+em5*4BNoDhD{RG>BFzjP?Js?+u-y0XWY}Zz1u%uVWf0My#7bd7l+2>=F3Wl=F3W@ zGwjf1=SyAI2FJq=Df1Pc#W+Ive1Aj?>EbzwA%QtjTtl@}eOgEr8XmG5AjTRSAGCsi zW*o+>2b7zqv^eb|!NQZTAqOFeW=a~Gv z*B+7I-+to67}oU0KbThj_U}9Y`D-_Vzf4$#+_~w>ZADq<8eny;+68Y zIxl(IHuNv7jCv_1(Y|K9`~oW-zs8=Ve<^z8!v5sv<}%AK*?M-}#GNX>D2c}RmqxS_?gV`Yd@{X^n5^N2qDWNk-!nIxSOEW&u zP9S=Y)BI09oev<0q6i15bzt|F*Tq}g@sSO=34nPR(p+H$mGPElV0~-lXyg2 z*?7&H^7(80VZLtQZFEYvvCm|aZ$A56=CC$fgnLvisu`dW)ff*(v$1~a3+#r3I7)es zihyq@ktNbf1|?kh^+WQBAx?vE_UfxYuCZHpE?>EmT!tN6+oL4Iz!y>NTM^8@XXE1X zH6ym2s~Xu~Kc}F-U`{<5M!|m4RQPB%d5wl>QKhya!BlJlT9g`oQtE(7Aqab@mi(mL zWf)Llk!FfG4;GJ@kB8}Pm;`a>+@Pz6UxTJ64!gyYnPJazWLZ)zsR+{()x%L_Xr}B< zPI1L@;lXacw={O7`r$y5Bp%-O*rc~y>rdVwKf#vo(uJG{QAC)8~fS0e)bOeNDI!*l7IH%bMgc5ok}0hIa@F9@~u0x8TyiJr#%-~ zp9DqT;~hn74(>m*Kx#?1+4Y7YrI{2pq!QvQrQ~yG4_DKsZfTDi_(C#7wQu1%+AicA zY+17cIvQ&YEXBsfi#Ba~ca)d*5pY$pFn@qAMiLBYG>UgfvQs>kV(V9dtqU=4ZZ~RI z3l3zy-r-HAjAb)o?^bAch}yuO6Ie#ND@_G}ALz|wP3BOV5HCQ5dDnx;01rn>J&@A# z(FzcR>%oGch>QaVB;tCVpxg1|ZX(!>cof6r=45AOBF)99M;msXhJxc{T$4X*u$G!9 zwko<`G1mv-%OZ9Rwq9?lSvsPAadFq`MT=`19`738yRL3!$)5X8Jo&i%M6hA2GMJ3( z5))b*>zWp>D<7G+P9L+T_xiM~{w>71hBH+ssC1iX;v&j*;T0rmszjs$GX|RZ$>SWnP^a5=nTx6WsWB`}X}K8|5f%X{ zf?zgs7QuSxcn4D*iTQeF2r}INDQ{p4j;>sJjr^r`*i`>xofz%=Xvwcw2D?@6^*tXn zJ!n%gaD|%3FjW?Fmt#c$pwG61^$Ieg_7^9vHlYdJcONQ;;)V?9Rz zSJP|d{hD3V2j9mvbp8~}hg7#}{(`g6Ba9d3czeg@=%KVWjL5adsF0~xk%Fu{Pz%sq zK)WG73cOFKiX&>!cTg-+7oiGQL%1P{BpIOcEls2Ayj7*+%f=VxXJt52lRU|uSYuQK zD1$?kYN>)KgSihUjC&Yee*EuFS<4)b=)7=a^vp%{GA1|76y5!Yp_hvXFX(yelJClg zA|tQUYE$wwGnU+nmpV;K-nVxxy~Y31|1Mo{`FFv4lJF>OYtx`@J;QHX3zYGRWI^mY zFc=4;Wylvy^aAgR@i)1P7xiiC$&g+u=wrD2-dKAUVbSfAo@OKSa@Re?=bEa?-dGD14y_m58t*C?g(5Sm=n1ze$9p{3lSBG+tGg z{}vF}?sOJ;m)g?W0KVqd6M< zHs)~BBd-Q;U?akjb%B*h*)v1Qr%LwB5Y@ROGlY-Hx0n2f0am!OAH3TD-rec{e4ZOa zBS@kVTrS}?(VNPhL&{JB*9~$p&yWS7&HtUmSm{1K&hsCLfAPgiGlnt8mHqOR0NvE^ z7w=GQ@bhdU;+<{*x!E*!t*;hTqTzveVreg?4L_D>;pdp@Vy?6NJ{~xP}(sa=%;6rzp-=rtPEU z0m332V&eQ^lUF7_L;^n{C|?u((l{L)sQw0CM>za-W=ImTDVB-ABM@PD6J5w1tyYOZ zoqz$PrB*=N5QKs?y<`Rs?eI(i*d=~8yYPCV4i)Ej@f%4}Q4V2thBH4cFV&g|n7^n9 zB>`Gdl7e`U3;j#De}l!A7+})Nb!K~T7)efF*rN?Ft6y924?>On;flXHK|pVZNJWE$ zzZz9k4cIN@uf~B!Y>wST{%T&ifFq3w27N>r6o~|u5NJ$Lj5D2DL&BFwrC^AqXiBsi z4cpMTxABG@T`R1$%kytJ(6qa~s;4%Vg_m@*zm<%5V0}rHHFm|x8dRf%iW+kg$y$o} zoy2;LCOySls*fbR-lSN#Kv36hijI<4Lo$+M#&QWT1(%ZxmWr7rsI{Wh?ntvc$@}Xx za2Iu|QfOy3n33U97)XYf*b^Q4xUeGkO}h^sDeFvbxqAGh#+}H6Z_SrbwT4QG>60&g&n>~wbn60uWf7kx{>sxx3*xDDR zw_n?Ugk$!S3mI<)SlWHU-)8<2=Gme>xSB`O6Xz_Y$fWds@0(p|9A zhcbddG;p2Lt~@qHR2IF&V~T|PE6qi23GF9SK4tAUOz&;1c1*HNxVxrkYJEiVbIb0v zr?l@bcPv_wlQJT2v6$&wd-(Yy_kWz37+sunVoY9Kf;yUY%##08Q|mcpFG`MzI(5HH zydZ!VR8+f>ODIRQOQ>?g=|F#GX{dZ7mzV-F1Cb46+>lg3soC66$}^y28ajf|gLOk0 z2U$}Y>6GYXq-u_Es)kkg15WZG2KMuZA&>{f6S;UEl=kwK9WQ5p%T`^BVXvRJEc;ve z+G|C@w{5QK5_KLvQza73_m1OVl|4yuyIjn2l6QQZ9yx2)5VUX*o1)>OYeY?sq;ANi zRZ|R3Ofuk>A%sFQ^LxoZLpJCNm4A{kjuMAc@v@|3ImuVS|8rL$ZCk!8xVI%RZ)F8( z60h=H%b9yJcTT!R&_eNjJA^qj%oWxVJgQUdry2ZFQo3AySPm;#H!8hRY@-R`pTJKo8!~w%hIYG>6l{Yjhx= zXovGMU^7C^;9UQd2SpXa9a?40iF;iVyP~%!r{&tl12@^dsCAoGaP#h_eNzj&TW4I; zQ&zC^hU*X3jV@Z%v19+f8w=;VQ)W(K4Pg~ECs&1ro{BZCKUrR8wlYtK{F|ut4=j&= zpm@WBE8-KPT zRiR@waGE(OTUaRcS|VrR50DdJ%VB^35<){lsmd@QFcRT||94~!0gmYutcd>+A)!6= z6d3CE-E=y zBA3IIAX095V2dk5yWHI)tP|%t+V)QfQitTDoZ-mySWJphQbMG|;PwuwM!fQlnj@YA zpApu#0ofx}I-~}($WR!Uz~_XX)L@7r)yQuKK`Vk8L?~;Lq8p)t09c$F72${}nwzs& zWiE7@R1BbLYLmm2suufRkk7Db4?oJr%fIxw*x2V^WMkxG5C2-eUwr45Q@3dEI(3VD z<`({nXiH~cEyna1^tEzfthXL49EefDC96YL2k@A}aOmj(gcqXGfD=PPG{D}~glO7R zEa)3hn43)ywU+Xfa+6bUOv4zF_2CA%fWlVLjZ8Mu=F;eJ$3Gj<8*d;9m{NAYs)!f^ zvBOT7`yC%h#!9cfF|+OFG;`Poa=+xxh|NkU86OuKA`pp9{Tf@Oadd;H z=XmtE9v3QSNFRi*#piDmfCw~v{u;_^(ZC{@?9Uw2XpyO=Op}*t{?IhJHu707lPpE@3~(%B^_I8v?qrMriI0N=Xa|$#}g#mAy#fc4*FOX(<#WL4`8( zd32!a;F$#!+7Mcz0Egu-Hz8nIW(&{h|sZ=BuE-BKXgfQA0OXJI!eiBjTHZnUZ6 zE%+mUfiLyIdYXTte$ZA^fsUUCtzn8V%IgibLJ=ARoB56Ofc;5T0w!P`B*qz2OqSs* zsyJhZR+Lm@E~A2cXNuwd-r(AfQf$khC6;#&4iO(d`F~-I!NzYujs`mlq?`Gm&U3c_ zjZ|?BNS7WYu;f{;YNteXlT^2yB8>6YVF#0i3)m1!^Co8pRaj%Y3R)Fdj{6;{6hqZY z?i#{1zOa`0LSjM^K|&1?mwujSvA{N;FR2I4%O4HB7N51eVZpz1{c?%&>OE|n|HW|z zkIQ+%IO%5zb=4T?`44EM(vqMbE0rl&sr$A*NP9lm=>d@m27^vT#OTUs|Zjc;Ama#h2UZY223tgq{SNRgQVdEJOJJ_2|grQTwc zY%qa>QViMZ5M4O)akO8$l9<9xb{kKdg#83P#D&8L1f{=ce*fo>UV7`@Kb-3f3`KSN z(4kX@Ld4s;`G@;ITT=_>4;3PX-47|{V1c$nBxw=fkRYU$6oGjlr-u9Hspd$nX+@?4 z;k#NW3PM4WO+y#b?|U(P^n9YGL;wC+khY;@9^xpXP6rGPvLwkKn2Z>A^wYifA3N|? zU@n?k-!axNPZ~3fjzMz)`A|0Ip9{vvtH=0RgW6OHhs;ujDXP6bc!&*euvD=-(t z0{wGA)q*|1Ff8}LvHSOadQ|ofO-7!?`hCZg$pqHr9zRcP_C`RP(jY)deXQsV)e+GH z(VICb9_&wZG>Ry@#+SMYT@rQ5645&sO2tdSKfZ;M2Q1j%{4$k4j zKeC7k6Iu8lC;rE~@=Jk?}giMpG_+h*q0B0GZZdc{1AoHX=NxHYbBK` zz+aHQ3fn+iM;RE;Cr?DcmM+1MU@(!*^RpPq?P0u#@;8-AY2p9@q)`D2O-DIhKzwvc zQefO-$!wMW&tHY5|$bi5tso*i}OJFeoVvmWK8y_V` z#)XASX0>35g#BR_O|iW=&qZWXiQ;@MmZ=T>a8R~B1%+G6gVYy22+aG=`2YrQB0pC zVCoTWE;Yx10fbD4MDEz9R8KM-fu3u3!Sjox8F~ltZop70y)x8(yvSI9j4S4)f>KCM zJ0wIn6`yAyXYR}9>C>BC)uvIE8dJ6S(8!ThbtAp@q(zHH$^V$SY+=WQPWkt`YwO02 z@%_EHqN2FiVi_TJh-D=uUbUPSSV-x^m0ew{Qk{SF{l3zf%I3S1>PC2yoesBrN9f{N zGgr);X5HT87QSDQf)wNC89w3NDJ2Aho zbmW?~OXP>xm|JGF%P;xAd6hW__U9jA&t(8Fw?Js|Hd1$Vq{_hqkDZ6(NVN&#n@%OF ziPLD+nz_*Lby{6-2sn#_#UU9f#RAsh=^@TkOGZk1l074oN)}LK4Z|*w4nng*6&knf zOaS`}(whdisKt_%laS;sZkyFLvva8vK%Y@6O?M&^wtx`xbzo|$Z%Qk&vJDQepniESyuw?QPd4mgoM@Bb>_p-j_jkg16$4`dMuNX?m9ojm&*`sR<-X3r>Q!1j z^g{9cl~s1g3)r7Kd{2wlPTb@9OnzYsP}8ha#d6=8@eQlVRoVYY^%@QYat8cD@)Tdt zD-L2%v9TzFPtg)6p?}acQ1qTlRxeRzRPbLOb{HfpdBVQrA4uRok}&D}38+86-7me- z!`crN=11y)RK6(wii5+&bz1@OUh5@UzJ zLhxaztCt`0&ntmPo}&Hp3XuSt^W%z>d2NWj=X(z=94T*zUS>Ho0*v2aH^$os|HC!t84o*jX4>yWjaAYg|j#FIZp=|`neN3sUAs~Ss3hkypoJj+#|qURl) z)g)Jj=BLH{xNM<0I!DU?WTU#|PI2UlJDXXee0K{JW_yd6<-4tI-}l1nk3H7UQh=e( zx{JS<^2n^eU3uo<=l%bX&NWnBa!eSKzem;&kBMi{5?wrlbW!A;OZ#%wFFq@m-(_=} z1XDBzTuI>tfyGMbJOvk{|y7$KVlp0iSOU= z<6zhbfefkQf|2rUnhgGps}mY*RCooU1vy9|Y_SK<&}Cu^LTeep@<=&ZFBM@M6j7JO zOB)2!xawlOG-dDp4~)|<%YI;-f!%xAaSnkaU2>pA&j{5T@LU$6eCSLUht3o%(<)Nj zJvS$Xyj|QW2)!?gHDn>yP9e?U=sPtgbff}V5}X*9r8ZDRi&R1^yMMcJcH~u-gQ0lx zEl7&KnKw~gH=+iSuSqgKwKkX}n!M}E?0fSu7J(2w z`owNM{t)Xb{=DOn-oJxmUr~kWN+__G7zcN7wEVvGUL)tMaqY$F^Kmo+`i1=C;U<>=R=0L%x?Q!p25hS9b2W;rhcx(?{5faRIUTPS5glpmMeio)rqJjMxx( zfb4%H*AwKW;HRHM&$0+MA@pIJ)smDLA)(K`N2|z4KVx_lISl4db54NBl$yR}MQ!qx z?4dZ>EzVnfwCQX4cWrEo+!D{u`fgtIzWmw%bADGS-|>^pRby`;I@!<`sV1 z{78rV&9XCBw_JbxNpu!WoZKJ_W9}fm<-+m6m#2(}zIUJYV%pyvO%<3nA?>?77!LqdXW8nqMGav@lC8IEx+31k;?U z)*t|rCcei;$-k7RvlDD&4tw_Cu^ZX*f0YkU?g6X}bXnZL&VPTX8uxnyr-Ky>YJ@a8 zn3vrzPnUnmMv3qF(&S%0#X5T?vw44&%Wgb&P_9t;M#a}C9Cg9EhfEP#fzGfr8ie5C zqtNGyt~3X7xm7B&YRxZwUtx)R#E^&O_n@cVz?@}wpB%GT{^uM2#a6T2oo~L#;>wRz zGQ-)w%CEM~kl*up>keO&KW3iw1?Q0uZ}9V1;4>5OnF+vqC;sB&j-`PM0MB(eC~1Rw zC{JQec7wb?e(zxsEg$9kd|y0#HOpaZzTWf7T`jFYyRDo(!%}CovAn;YmA|MwRxW?? z;+r>oc*OZaY;rvTc==}Sa$=14vSn}En1J3_u>;S2N6X@TL z{Q}~WOuod}FQW8Uzq-u8hm*Wa{>yJ~x@h1;^J$>@y};Q?!a66JW3^akwE=Yjj)0=4 z(Mp6J4iyY?6~H-Djy?4;Yxu{Vcg?$HVf%g4CVukNDfz8CCg%6J$G5K#Q`_>6)oc`F z3g!N_hyU8K*CT(n=8eDp>sH@CrEWt~m?0U<#@G6S&yB?AQg>U@GwI`FNjbykBF7K8 zHRyo*Uqc_qGVeHwLC9zRap(V2K9)^VK8%_8hl$~ZzW4Y*(97X-A>i;k4SGCPV_Aw&7wB~OJeL|&+WJOpD?X@bTgol-YUM6pplOBzoD)II8w)^_UNGT z+t4clu^R(MinN?SVVDhc9<22O;i=pMDP+SYU{6iWwrA`0S+)Y22;rD3lOVl0sKRTI z`ZN<|1rT$_5~zzmWQlJ16x;l+E}Bp)>}g|f8(Urgyr&(tMdHM(IHPW5j>+UZMm$S$9JxopMM$OiY%(~9HKo#I zf-3Q-$anZu;28%-0-9S;r%%p19*82P<{G0O0&1{vlqxNoGY+TICs*zmhUzipMxc7g zKd)|QU2@#LbLR9P+5FD7ZSN4m$JFUS_$Z#;|NCKMbWqwLcvYp32gWe6W+$z5#|21j}`J2?5k z^r-|C^2eQ9o>*7C#tVqy!e{x6EojLO!u(G zlHBvrvy#adcl5zgqaHjeelqacvmf=acP+;(_(y9!d~DFOF*Xf@H~T{LYd%PTM<@lf zN=H?t!PL+|35N7C110|}?@^3;@8JXepuc}M{#|mUV#2Kc{#kIn5Kjtg;8(g9UL{m^ zQ%BOl%5IVexP)Wd{=3Rh7gH){F8gf2y+CVtN5q_ zzOg~*6A}nPdAS%e{T&)MdBXnL?>pSTNx?E1{@lSa;<=RdL0&_IKZjxPQl%s+5S8Z! zhDu&3_Mtehf1nl*rtt}#@aZk**jMp@1O?Y%`g6f4yyo%(0H98lk;qB4mxO$E!Tq2f zZbsk^6qULaorY$~&0l|!WoJL9m0ETFm})92IEUljmk6^I$mk>r8KD#xCxU|BN_l9E zOeCa6QA`gpKZ4>3x(p+qLU9|u-8kyKnef};{T+teP8%+$jM&4~D@O^WIA|Tz@qJ|)*wsHgsl-$g8mo+{D;s~K+g18Td;1d-2L;-F+ zFk)y6BMd6$J<7&l8ix_mdLk&kxGFXdT|d-*UW?FHJ7#E^R?sXiVsl zBluEQpp{>lda$m2Ty5>R_PT>pZwiSC!JD`QFK&YT4enb~g1pSN3Pl_wngapMBX`&lT=i3A4d4h(0tJQQXh=M(57;qe_6VF;1gCa zzsNkhS*iTOZq+U4U*0Vx4*Z#o-p$J7=Xc95VE`A5D~vRI8W#f6JoynNuX9nKO{4k$ zsCyImD5`9KyzZ^)?xeGJx;x$3)9GwvVGBtJ2sHZ;LV&PGP!KRIf(Qr*BDjE~q9}?Y zxMVacGUzz2h|6pg*4hs~dmPSXfA{~>JPUE@h++)Ek3Be~#G(HYJZP0sYT>OZQ zYhX^zGEB@-J33lEIy!cMIrXpSB26ZFE*vxobM)T2QrsC_F4B9FC69bL3t}x;p&KLMKI62uKL%KcG9PM8*tDMOIms7zOfns~4d{ zo=uCqwI}ix!F=*NMEx|=AYyrk!6Bj$xO&lUD$>cTjoKnHI7m0fQCYqu4hDLjiu7@> zJ{*yQBX(=8=OKKYA~{Cw{U_F5p6P9 z`xE;0^1U3n3~kzDh~vzFy&f5%7zrUPNQT9^1{Er?@-;93w0Wbj6RK-c72IsU8{wSE zPN+K?RlJpreXvU+n`Ux%i4!(9-ZZ|UVFGF>j3?f?9CZSl?MXP(ixVNVBH+77l=VlcR8O%d zD9$uy#W_*ApNXZ$BVT>sOyor*-wj^B>Nc^WpQy#@ROC{j1@_e|7hlHo+!+)Nb5r&P^Xk(3i|0jZCK{X@VmN59;V#V6W@YG-v%S1I913GWDzF_vQa5j zpyO1Wo(ytL2GUs#QXKG)i+ds;e8DbAbF;-?L_Sd0vn$bW`giCvU7=qTzMNJ8OTs7$|2v;*p;JNqm+%NR4X>NTx`?-2?_zHauD`!>u+xpvh22i!0 zI0oCe6aM{51$J1xlp_dIggeS;D%fCE2P{>vcbKNvEI;~PmlqcW3jCE>m6;yVRm#VF zq-NQQ$Oen`2I|G^en^wCSOcNT<758UEC2EEyt%*r$Cd0BebFYW@4K08*B4FM($aFx zRCcqzc))}S1K4)^yodjB<>r4pJb#ZY!n=n}ZrL(*>NS)0OvFMZ`-c?=iaCOufZG(= zE^uDiQ7M@!cWVfskL?hpf#N`UptMjV?4r~g6zEcEa?M9^Iwa{rKR{_1>JM%y5!}jd zmW6@gaN2GHuP9ta;%gX$L33p;gByJQ4XuzmrYl z?kDtjkxIOs6~S3Ept&#k4a3|1dTVL;vX_{9(7pXx_TkU<_hwDd-ylAUjVt}8Ss6Cc z2Uuw_9Hl5{n5iK?hy1XHKT})%wSJZU*3X5nl%>1{b6*kG+*1AB$9X23qTd<$<_UgT z>8*d=7B;-4;rm&y3A0$y=ZE!=`rkW9|L04_xcU}twY>*&=X(R+-jx;UG_G)JWg?5X zq_(cO9?ms~h@uj{wKD3mPWgy*a)qCbj;kzffBReO|7S+coBEdzv%zQe+j7^qB@;L7 zociKD_vMRnT0MpppyY_86Zx0tfEJmkLE}C;_Bgx)MyC!$H3H*Qc#+-Ex2P|L%Ml(O&w8@6Pyole(eKc zmqxt72LG4-=kqgv!FJ`@^#5X+3l@fVT=dOVdp>_@(S~^+eLnBW5l(+1*J>jFS5tUz z<)l9>?0qP&ttkzij-EiLEAoe(37z&n#D}?+vqOpGq!Yz2q`}*l;DEW4@)_sK0|kX# zA+i;9u<#o$LET4|izqyfBo`_?j#59k9l@XJ_(F0RW%A>j@>~!GT*!uIYVzgC*?Yat`;B)=AvOM->6aL8d~R=kY) zwS>u>%;s?(qPEDdrAtA7v#^EDhWl#zxqCLMPm_s0`&{9+0xi0O!6*u;n1nek3}m>c z@6IqtJANDtdxSMV2E$bSpF#!~lVk4b!7*+GA30fLu_$ciJ$AC{E_3Xtpo^$vC{>plX3Yn=rWTxN+1$k?u8Kq8}0QE%p?IFRtY z-B+Ob9(c*9kne|ATxiIt@#-Qzge^D)S|>+|;LO);WgYlf*eB=*orBy=$`OXV5XV|b zD*8#%K|@J61W765WqGob3zJbQzBN0v#^SBD{=QTsjs8*mYZNB?L}s#D|0PZ6HT_F< zwcP`AKG_-&8idYeQd?RS?Sctm9)xIojqUzopWUb5a|*R^kY{tGzrp(^ zdN&{w02YeIFWByVwoO~VeJ^gj%#a(XVnicn&U}bUNCwzz`@Ybp+dbbc*^2kZjYrSX z&Wq=eSrP@(hUZ)X*80UhefkFbjTlTk=Z}1$?sIHLuHS&M5BXp-Pr_wXycC5bkugTq z_n{yvjNo5NR`f&+C!C3^X3Tih=M^W(^lV;VgOYPD^r7(2-ucL+_62t=8x=UHzr$YQ zhf!;5$nOUImV@;*PX_tHi@SgH&)`3`41j+Ty=B> zy;Ju9m#ctFZ<$n{EO4Pc8&xrLLiiJq8-F6V5TB+hshMh$51N~kyWlQQ&sKe^f5DU2 zO+46Z%IfP|bkE)FF7DyCvRgm-1hHp-*2m~K=#O{cQO2@ByC;7*?G4j8Wdc793<3}T5jQby;9X}eST^49Z z@BCr3^9kD3WvhaAPLwywYPo*(lwJoXUiahz-P6GuLHQ?mA)5y3wME(@pXz7bEog`N z$6PJJx~h@$pALeGQ-~;0dp_wbi1)Fqx2348imoSe<EIBMz|3P*nGTU+0H_ZnPI6LEx%Vf8U!`&h?u<&B< zBo!nG!(@=RAGGf|coY(V@vj9v*J3@Dcd?%0meLI4Kqm^sehm&-dz6BR&Goa^kaYqY z2oegy0Gd(C3o+tnM-E12>;IE*_tBm7EKiPnqWuQ*iStk=If;352ZBQ0k!23_5NT^X zdC}7sqcz^&=da&yJA3j&Fs%MR7&K{CTXaJZ0WvUWguY=aGmYd1&fIpp@B) zlth#ph^wNhq@g!0mCdZdK$J=t8l^Gk<43->{h80m{ap2mF5HjtOa12qBSu&{| z!h$2BkU%;0!L`pU-oJi60^>bbe|EED-nTdHeEK1S{$GJ+TckXtSe;JtG$1Z@E5~E< zlqc`s@7Qt_g^!i=$S3^2V{;nMkDfr0oYSbS2INXwKVSblb6@=QqW!kE9nU^=&1c)c zy+**76bWn38FLClSKOSEA7LTxI(bgHn7HWYL^Fg<)Aobl3rsi6aOBSAb4XIqoMr|} za^#$%wXEphW@d464B^;`5E{EbL2wt!F2N{+vK z{4MQV{%s^-d4%TBGS(w7;*&j{8;_c|i@7%Y&bbL56o*1JVxfj6*g4u0DRB33?m&@G z2X~BzOVId2o$rE5%6taXiT_A3r2kmcS6}V^c=y*|;~%5noY8ZRegH0Wyc{|oBC(&N zO7Aq7{L#|Ei4wl3)!s%|(LE$3i6`>J@iG!n930KTQ!%*PGB|-?0zg2#xP1BUyYSzN z72<~l4ht*-9_ZrmgIo$3{Q zI{uyDj_{q`kO5VJ@qf3(u#~^Wnu8WEdWDxM#UWU?%)MB6^l~<}|p1ZYa>NXEgMuYIZDapAP zO>G@GVBop^Zd-$|ND#s$iNgJ)G%hApNV?8l={95$xY4Zyov?!pd7y8c$CH-6q1S)S#_Lmm zZ~MKzj%_+tsXiEiFBja)P;ys&R2v7mn;*)7TL7;HTZ^y;yjM86JZ^DLag?EOhNBES zXl8pWD{f&$t?eD^GW;IYkF>UjuNQK2AK=YW=iq(Kp;R(0CP0ewCWIMb5hY*|{ouaf z5U#X+)TJ$5hH-^*5P#UFh zP~{QcL{31X@`{WsTLvijY^ckkabrvqFfPq_EW;yCFC{gI0l^;O2=L*6-N0f4U%E1~ z?Qi^EL+pzI&2IafKwtwv#Dl{y7jKBU=n*O< zGX{VM!N?CSGAl8h)xqW=7DEVzu&nwV!vqQshnw45`7VLa-W{#ty)j(IhfoTd-V1^^ z;jLr?mkdU}`U`||Nb^kx7{*28dB|_6G+M3$s|UAO2-DxJdTQKukFcW-MRuA*Bz>nW(uARsd;F%!sG`Oy{ zyryfcb+uaE<7 zk~6UBQh66zJz^x1IEzK31$zFVfS2sA7~?&2&|pQB3HL__?yxdsoWua17&LWJ?Esp} z7)4#_DajhAhy`4oh95YKV#XCd-tBUGM5u>g7^C!YjIiu)H(fXPRsD?{ubZo{k5cwn z%kB<*OS)Rdh37gsNyrK(&RrU7bfu=KBDo%O4xJMN)9DN%!w1iZ7*^ywfmO{3bv!Wl zRn`l`vCGXV)$?v*^~QigjGMQb#&g1BIjNPuR? zXM@>LfR4UAqPUkp9TqE`r@bT@B~P(4JJ<#K)(-ui7~aP^jvWKmR$6211gwlCC-6=| zjYX9NbYn8Jjlo*!uD!AkV~ZAZBZi~=IX#ef5Sb!vkK9lq)K)&%9-j&Cfq zh_0_rG|8eEM`J#0NDW0um6(q#W*KM(DfXK=t0wz>@;%TX%m5VtrPbeU(}2Z7td(-&2pDtfj)8L}TyH@B-2m%6Z1X4shAmNM&#K{gB2ZLBZ^2Z0UDy1K%(Icc8#`1or9`MtHwU$f|Kv%;C5LosL4}q7i?n8Ma0WI*{cC&mfQ*J<|2{6Xh8@+v zci%H+7J7=47uow3X6NVh_oupS=_AhQ)2Crp(UJ{n*?dY}jX5cI&>(9nz*^y=~!&?CcDQr@FHC@S#*Thv)6)bT$Zwd{^EqKoWG zOO&GO!U!jU)Pw%1ez&A}R{yryQ*&SIDbxJYJPckeo;e4 z-zpRv{+jeuzIbD0pP2R3fI1f^HP%>TQpac} zejZp}tU)@n9<)dBrm|9K8mzH-TxEqOWF*^!5ClXUsM<#C7T7Ch&_1orv4JDBiB#IV zxT;541!Wcs-Kxeq?`Dn_%{-kqfpfjd=cU8|L>2lki0W+gw*y!3XQ{&!vI(W-s7H~M zk%nwx|A4%_V7)6T-EMcHB3imD%ikx>TpD&XhV%3)2~}q$INT0r222Co*)u1*FxcCd zkeuR(t{SZ%n2_wTC);O~xO!x}%H0_$4!b9>z@bK0J##v+A~F|8srp(&ZSrC;d9K3yjH4C3pO?xZrGOzYBJWsao{KsX{y^P@$peqi zl)Y$Rc?fUqJQ5pXU}x?DkX;rWOF~6)I8u2yt2Sz&SnsPXGjv3U*VIR&gfmVm@zf=4 zl;otT7p5vbLzPgqX=^rB?bH-!Vi&4*rbX4p9D=5%R>X6UwSM_!>#@iOmg%Dl#5C5i zszVjf>*K~kRYrzNFp$b8YxP(!zNi-D7)Ed8xhB&`J~+mP$U&k+jE$8-xdb$j(Em_c z&(Qy{ztd5bV5p>j*dvb7J59X6j_&_Kl>kT_DssN(< z2~Mnype9j|l6DExSi%63cd^|XS*TWBa#;Kz>UuyBB_Q#J1t;(!ayy{1s^AWieQ^d6 z4S6(sdCzwyP%rSXHbn8-6Whm zk$`sK_2`1eQa%O>;u7~qiTE+Dc1=ep!zLZUCXF!sbW2AM>L`nINsSAtr;uF;)fy&_ zUHoNY3;jq33fKts3POv-N&MU)j|OcVc{15dcoX8p8dGRIO68|{qt!<_^C}WOIOYw6 zm2{QH6BrQj4TiXa;#|u_L;X)p(sb06q-QXBCyQ%BFIi{ z@+5M*n_3x&vhX=ja*1UCjEEq{A%&u&(XJgq(b$a4{;nQZ2H`JD>09wPBps8`b)p8Z ziUU@AJB~PduCS!UU^n<&3(5-DWXO;UmpA3-aiSD~3U!1u5wUVXDR6iXm%mudj8J*0 zNdaP;v7^?K!bMdtvCBq<)X2iV=_Q$ICAIy}?KQQ$x?*l10t33h4Ztn*-_rAk0!zfwXx^-x+C1)QFI5U#c>`+?5?LCQ$6?aOq(C zukq4GkGw{hHKR7M$c+W_D*6`pDy?49ueKyDvn0K5As;Du2vb~H(Pwe*A&X0@$~#I@ ztMh70(!IuN1xbVq7c{G)z7Rw;C~5c?fo~8G2qQxrpz!0t@x$y3Q3RDfok2fw)`uF0 zvwmSgkFtWQLKN)iQR+!BHJN|`vW1Rx$O0`HG#R923ah!-D-12HZ+T^K(U3uHB_M0h zxp}vA=&u5U6KA03NqR3|-!TS_*Vms{8SLA;c=Fo*3#xjS|Ni&5=?+Ax)dtft8*A4? z_Qc~fA~ZB78?1{$hETnM4>k%&^vxhKB!+DvL?NuK$e6)T1cpLBAuzO{prERtvPWhQ zl=IzPxAEg8pkK7x(TPtURwCh7ch|*&XX^8#B{_wTQn1 zw95hD*|zOillDha?C^(`sP#TKLqr?HFE;*PpSNAHHZtfIFyg_-_BHCiPGJ)opX9&O zr>g7oBcHN8$DhAq!RH_i-bJ>#Y}(Kxg5i-IA9d9tKl^sN?5 z!EbAiT-?F_Y$BsA4mX&~4s_a&dGKj1n1^7f5PLqEbfkV}ZjXXMXj>sX_}I80$K~F* z0hAfa=ZcrnVVu9w5x$20BKm~z-fikEy!YRsPe{z}n;qe+qx50_6}jD@&qO3uY*asl zJVPe|bk2pwkb{i}yAp_lz+EEQd*p41WIjw^hj;qQR2=jHV?f&UEHLMt1*RXX;|GB}uUSq4; z`uR-!P1te?Hsm~GSM-~(Va=Pck?^7;x-tj9C=>lbcexa{J|X-CJl-Is#zE5hd_pJr zxV62Yykv62lAn#;!IwO7!TlGW5mIrc!ICAYe50q9mz0kizjXOyi&hNW(E3R|E<7@1HGToe1wD+K5^9>*4algdYOsvw;RYF? z*wyDVo^WL#$X9rlpj@!1oxHDh-tn85%`}#4*%R~*(=$V;j{5rs&_whQHLd}Fuwh4Q1f096=8qDjG+ z4fte41$&@ksqhkvVKYh_8P>+IxlwdRjR~t32Y|$93-Czl;PJ5 zXG#H$tuRPdacoDOeGM`R1?OkWVlcpmqBsiaHax$v+xsvtF#5s;V?>m|27p@k(f1ey z`QcO&1^J^+C7Tcw?DY?XYv~eL7W7qWxbgUYHZSU8x=jrqe+od-B7!~YJEcsS7fQ|n z_xKagM+*ESSqCm}fWVi7ztA!Oniu8<<^>TQofAS2T>6w@O`iPmj1U@YQMZ)rtn^g! zq1sI!Dz-VFp=XfUfmTJC!BkigXbo?-^YLwukG$!o)$`|7Uo_^rxjk$9R|UkxrTx-l13&zrycrkh4S-aK;TV~bzko+mt;xxuSPk6hn#Ze8^` zH(Wb!#m*Psx@jZ=j-ZdS_k}OYt^|pbz#=&Rz`cgg;!dhA;kh!$C15b;nMd5*7Yj~fJKhl{Vbh0qq zjh*Qs;gCu}V3>49fgbSN=ttJY(W59-0A?T;@~OSY(sg`2;X-Ggbz-ml-t-XLF3$uV z_4h88WW@^@8x7&{p`b^0$cLHjnjFHo5@e$>m+PdH4aC3~>8V3;)(U{0DWXaOC_+XC zF1bWl89*8-?y-l_;eekFdBw-W9V)$hl4ry*%FAM`^EzDpge=zu59xjb=lC&EUsqTI zNClLRUu;Npgaxm3RUaNwOl;snTSJbcc1 z5v>NR2^2OuVF>5HJA=lB$N~*rE5mO~`U<`u z+)ndF(E+~^+NoFtUHedFNJaNPRKd|=QMkoq3T>d66gwGU@d>7uc%#Jxgd#0spnz9S zq63{omGm?e-cT7by=k*0Wwy~xrlsyC9cO4k|0wq6@i{v6ggJY_LK4+sBCoHC5(Mv$ z`jSmsC=yN~QWSDFHh~X?BUx&oo(yTAp=Ir>m*FL_q99&QlHkybk_zo+q{-pKQeuD_ zfJCfU$pbFsj8FsVJZdV&;;3c`?k2@ug-aEhHTF)hBK9u;NZx-l3Iy5!;SKGY;y|Q5 z!|U)Fi&_pNNiT=)04QSa4;Ri-!bR zMF2-MjN|a(I9%bsr62%lKEZq&%&s&dj`viH%xuC?UlyHbxzG+Dj`EZ-CJtUeQ7mzR zGH7PnxKov2sL(`{LK6*1Prh;y9w5&ZrZp^xCPA3d-!>ae-Q2<^wX~@D_?se!n!|rp zm$kGQ@k6^#Jg?QMbC8EHIpjj|Lk>|zzK>L#s8vH@^kFs?^#X9daZoxN^T`z`vYGe< zalxHGnDIDd8nU>uD+8=H$jYLjL)v3Echq2I{5p>ECmIyjX z?aa_LGX$o~fW4y5h6G0t7zLH%=1taXK;P>&%#?^cs;P~JAI%1i1FSf2;Qa;&wQ)e? zm8BvSDQ@1eCz|t)fE$y&rFISGHjk4vE?+%Luo>1?AUBB-cEa4+tmcQW$Mi1?|CJD? z^%I9HqG@Q2(uvQRXoE@?#g$g=GU72Su6TTt^%@F7y1ima*UKm+Z;cF9+SM5~cH1&u zYa;vd2C=@R?=4m77wSVk2fSE{PBe)*<+6&CoerN|Q&>B3$Vw}dG1UU^D6dbUiXxmP z)6{|2(cDWj!GszETJnqI8PRt%V+pwS)VNKbjK`-Ss2GZ>K zGRgD?2Y~TtFOf7zQ@jdllX~FpMeqYCVLD%;aZciJgE(kJN5qvqLfW%8-Rt#vMA;)D zXAHL@G{+Jw1c#55iDve>DFAd=b1NU$(h^zH(qa(FSPQMq&8^31Z4hix`9rWFs!S%$ zT4JK8k+0PY)pbl%y$j;VhiEyxTkf*>1-!WqLg{3<^dm?3jRG`)V4;s!$yQK*7=_QE zP(+F2^}wTnLnOtEkl3PJYjN79pDGM(bUYuQnVFfLne7po;U3WdQBcWNQH3;7$ z_9T;3cTb&DcT9h?mHk{FIdyj3-w5*Q`rs(Jb`MoN5hY=Il?iaub1XrxC(r}+WkH9S>H|HultXaxQLey)~%o zfFHC)B9n-HYksG2e{|mOD7-}C($dn=neK?x@uiF4KP(lv0@X$|r9;RTcoAf$ZJumi zSYh!g?grT@ic99>$2I6Nc~r6}v)3JCJzG(=YBg{3q15s#|S{C=(6w z650^9Eg2mf>8%#64!5bdt`5J)Ul&_98zM&*1hC+pN%29hG-m=%PUKN)N+gql(wOPZ zNKZ|X>;{=;g!F+B95GZeJ1R6m`VR>^W%Qrvg}-#bEjQnM^T5DN{Cmrpv!kAo;Sb(+h7U4i4ocv*L4iv@YGYR?y08?4+d0Ic1K4Cu^~>- zroJY}#-1h*BbXJ4Nt69Bv|%-mFIVglJZK(I+(BQB58ud9jYWU6d)VFdZHWTc_4QA! zd+H>-;hPetGfO-+rMS=%rJn!+Xww7$ZA8-vdzPt;GZSrce&~!#nup((h|`hVptpf} z3~#ENC1?&mE_4YJeWyg*1HY!h{y@}$Z@54VB^^ifyIIHG$IauIHV$~|FPQTn&SA(B zQ{U58i8D96$8Z{`jbeX z(}&nfw(3Rn*~mESw+CiogS}9{CVXO)>O62De3a&v_UWg!ed@hpEKnDbqS%EJV2f+S z0wYfXwrBF3cJlmzxSmDAEc?gmpZ=Qs2VTF@Wl1o7nWj`ZfAB?81Yy zUYpuPCQCs*W2M$Coql`|I_D;xAhM@_Hkz$|@vNpV8sp(qUm86+ybi!NHWIKze+#@W#jlJE4f7>q z+i8UTpWw6^q_aB!XR3)GBM`X)|GhgSDLpA2>I7g+CRc8-o+jEyRetIbVdX&Vfw7>?$;P5?KI^P= ze|vzH)0FduLp0%sA}^>D&N_=$Hy?&se>R?usS5QUoe`Rv&5&W=gmk4(Pbk z!2umI4`5$mZ8oy z2!dAJ1Q$pn+(NW;u`{8OC|CqhkL0`I4h^~-WZeQzwd63nW`uL(!o7rc8)HBfyQeR@^)tLj%+QCLw4mIP4A)I_^Jh%$R93s{Dba8aISw;KLHJ6m^Aruz-R73GSduW z;si*05DYb4xK1)eaucIc5H2;g>l_d}4nnhFOYe^j2Vb$ZVu!|vEH*4?=&fR3CnJ!s zV>7G$Qo2=ul?%JMOC26QA=L%uI)DTWXs2=)*VjTW6WpXTBqD=7O+l<<5{L@WQz1Sm zgDE-D-bGlYCknoc0SCgMq|Ak_lRYN*ch zkBkr&KF|QgP=!>$jzmS|6>hs5|J2;ASFpW$e|9JW*D+HjvtHVI!~!HJ6CWd`mFhq^ zp>n|Oh~0e|Fd{3U&?0HxXVWtis6qf(#ZvV_kV}3@hCovRstsUB7F0(@()hphV`wm{ z-}5(KyNB8Jd-QwgT`QGs+AR1N?1+uAqxDi{NeL`xZZ}3xi_E);pS6F`>-+hv?U8vb zH6nCwg86Q3z2?F*rJ{x3dr(Ei9>Y$~6%e{iG&fXoxm^kl!#?pFT-+5rwpJc0wp zoKx^nnTBpqC_?us_iRKA=O6TPG|aeh=9kaSp8Xu)Xk-=I&$U5HP+25BsOT|AgeOZZ z9c#!rO~vtKsd*25hSiQ;o%+%6mla@9C9&OaJ%krUQiDODnUOj(TJCC&C|8S1)XB zz4_5cIjYq@tnbsGVDF&tG`OUlh(MK*E^bef2L|EuIfNPDU|d zZ$;e{s?3eRu*uTv1@qd8n$nBYsAQ_3FgUc z6J+cE0sq1f+KrJ4*8R>U&P+)+L9>tv+Lc|+>T6*4`8vUXzl4E1!y3Ve)#_Tt+Y*4kV8#tgz~^inPaF4 zO$3JKChX*3LOOtBJLq%&{j5I_6oh8`iDC3nAU3`bkH=PO7ifO$J0eO!)F)A++nJ_m zcFj&rViUCzA2K2z)Lh3uS0_iVeThHMTJ#6?2U*KYFX27wScf)MD;DqZhB5^8Arv8* z0hEWBCQ$>ip3fLHk;dn2qRnJAge{~DRh_nt?h`8@U^>sbBK+_@it2I!x{7Hj8e0lYI! zSrSThVsxAwv@|k!Ky68b+EUy}Z9!pKZ2^=b#WoFrVKfOg@?jRmsV`mLL z0UT*E47LsY$IsU7?AXJk&d@*a(O=xd=G{+f4Lg$+-Tx(4hlIJ8cAn6${-1*RzX7v@ zeaHUL70h+YK5ds8Mht2OYPEPMstZ;aEh7;d9Wvz*hh|VaXp&Lth(t%qA2=N->F`E<}nPI?BNuLD2RC1}%6*5}?EoO0NWEjk%BF+Kq z;#Gt05?=uSL3{bbGwe@kbJ_dX4ZT)xZH@flQeNH)Pkz63zIFNs>-68Us^i<<+$MPD z66IZO65^7mdOED@l$}iUN0rq z7|Rgrv2?7y4Nf@yRlSbA$Xae@pRLxn-K=jzm|@@5`qkLEh;OH$FT%yzU;)F`p)>@2 zXxLc*gt6GX;*4OP4x%#;SQbcF3=I{kXbfC2@0MG-ScewYm`#h7^i?dx7+$C!K|w4r zyhiHj6WK$dR<>oLzOoesjvm$1*%z?Y`tRPTueeKJ!LDUvH|mQn6?oOKX2kMd2+hia z_);(RT5vhZVdH^KGs@glq%#+g$M{+Zkr<_cU2ohIhh67ey1?!vQAF5f06Vwje2R}j z6a%@_#k^6b5#JYSFIl#XZ<@rGmeADwOn)_U=aeaY4%<=H^vySzJ=R%ZEFn2S3=ZS04L92X9Q%i(*G2W8L+950S_)qxE*41C~({#S+;z6 zDPL4NiLETvw@hLy^cN#HO`FEgW2=rIA6M0+Z^8d;C9A*a*=H}pTD?JeMhj_s;eT2e zN=5w}6?-D}OGH4DJiumQ`Z|RpQPClkCB)nj?x=Jq{uZr*=ipeig31|o|Cl^DrKeKF zgaQK{9h^!ieK+8xC1$2GQ}`)weDT(r0QdMUSsZiUYn;XhO&L`_i<+65Hg zZA71q1lXt`v)X(~nTcM92OXo}`GeIO!8~m_?rc|9n%|M4swvZ=f25FYFGU?+RaIVI zTwGX~o9p)@BQd?IS5+@0yHu7}R`e(?D=sT7DGU|{ivqa?xv*#YbNr}-=J7#W@lvt% z3>aoJa)o0W$)DJ>>5NeeDeZ#kbtW3PprR0r4PM3{eeJr2+N+iosrXXy9wFJ9YfFIs+O zPJQ0i*Q)j1z1Z}R^xc4QGJ6B(fW^jn4qgu8Q=xxDf1`3B3XIH@go*+2k;mK>QUV8#hExqirrQsLYp6m3f;varl|6gw&J$f@+vvt6A7=NX*AGVEO z;5P@P9{i(e(1e)+qradLWFQ+$WP!VbLqE3CqDbc6pqzvkmYg7?#0tvDC8Dsa*o?@w zk67zReCx8Skk0X1&)2TAt51O|$Zhdo+ovv+dsJjfLMqNPVAF+ zsBjIU8t@UtHYjsIJM@dfO{p03^sgdt=~YOk>wY`}|1{&B<|TyPj3i2!9=Wsk(Xy`&m+Q?uFN0 z%dVa*gpET1x*#D6Y>TPVk>gJ$tiy3%KNJf$V5%28KZR}{$0aTRA2qihA$<)-yy z8vJ1IL$hn^1sE(5)L@tfF=h40l*IqquB%=eQI(Mp2=uBfPDySJ|EZuM1AUUJdJW9U z-^32FpGD>z_4A?C!9XD0JL{!o_s>iWpwa1;lHvKD9)5S9fT3Pj zy$ge-m8}(5pk?CzE2^in^9Q#y4;$9pGWfSMXD%!AgS=dQ3LF&JY@aqU+I(iD0m+=O*eJgv^S5vDo z6mS;!pM(+0NuHiSL?0qh)YPqxawOTDd^BM<7ESlC#8R|`$lp^u>V=$NLgeAu=^)QS zBF|VN&uH#Mp_F7N8%gxhpK`MKcFmchIv=(>(i~2wLp=!mJgEuVCkZxN!ZDLPZxMNL zhy7uvngS{~^*>4a=znrzzE!0!N>tye{u+E=s8lJ-AJ27h_`jgzl8i5dJqlD=hPWTn z87TXZ`iCw+2%^nC4UTE*jc&Jr!Aj^(wn^Lw5z)yvDU+asGhZ{&!te zJ*(g7dFQ6)rvYH}h`UYs&{m6>vqXwarR4%67}*9-Rqs%Z2I0@6h%W8v<0GO`Z3t@W z^xhv+({f+?@e$h7(o1WJl(NA4!)qBzsLgOmpF_Z|zApzsc1j?MgW>EoYZ*eY^Y$e4enC(9KEUZRbnpo`NRCx(C%tH(ZM*2)$s&Z6BzI_`=1GHQ(vD1Mh5>DsPer1BjjHQo#=89c%&ev)ypIM9pp zZF4?!g&qFM#yPCl$Hw6ceyVX$^L$5a90b7qM0~6|!rxiOx%Vd<=iYE@Y#eRWPc@D< z>iB*+4qr&J|ECy-T+;~AHD?ICt&PH1um2=tVGU`cj8!DoDn|Zsa-T1Z++xUmNt++> zo*3%#O=4a1=lDW_`+rdW5wMOsr2GSI-^BZE6jMT`3zD2-HxaSY)L%ymb6oG#cSr6; zC*L3P8n3_slwyDAMM#*!N#ATAMEjGN<%P$45*)N$;*>-B1i?bKsEZ^t)JhAMA4=B{ zDZ}ddBEE%ev|f_%Lf})u88TlQAJRV4<#Qo_>}~OB$bju}iajT9G(hXY2|7&ZLX%Q} zQ1FLAt8*oEB9y^^&PpjOVDdV_)cI~;0J=co?xZDkrjzz&yHuLAOtXzK<;_ivP$wsjh9Y}DrJR7zpZPB=VmYbV*b^*)FJ3kK^*c4pF z#|bDX^Y4uj_ud(y0Ye54I%D8~hW>P*uj$*TH{26da88uNHBk)5M4@YsIj&z(E@!ks(ym+^DKu3h1|KkRSEk|Rfs%)oamzNf$U-g`6fJ>B@5 zt}Cc+NAvfF)c1K%! zDo=K$@stcqEoyXTpl6`lpW$xH&F22R9G;brNi8bm`N04$D9$fvD=+26J<51VMR7@6 zzrMV8Z4K{J*Sk*}tQR!%lrM#;?^(qwDk{(JRn03a7mgdypW~>1_P_>SUw?jm^XgR> zu3WMFf@S9~U2@*yMGF_SojZTt+;is4KKra$GtX?DF@4(9DU&C)Oq?*jd0f-j#xXw| zJ!<5L;lqZ8e&pPqL0x~0Ii>kUvnesp^n1|qyY+g&a{b@=o!$1zD{SYhuZCZI`Q?{i zf1TZqKX<+I%B!!ws-OGHEBd^+tH;AHzid7bx%u_i)&96;K5UD(#9uex()oV#y5qdh zQIW3a<1~YLy0MkTR6@9Q#l<_Nh52tL}z7-)?Iw z$_S|GkN}zK-nO8JYpA(}O7U$a{$e#VkLBcM=CqaPm#Mi(cX8$>wYgYYnrO=8SURpW zn`8fnJYa0$xE_Vz8Ryxl$*}jG?}T)q((T`W40;z{giWj4;W~{lBQ$&P-~j{b>iYKW z*|Vaew6v%wKY#Gh!C4)+Cl6j339mRfP zul5q+r+td3VS`I^pbe~`&N?Yc3W5{K1}^O0ytZG4Fm%Flmw|YH*uD9}QSIZdZ*RYT zT>Gd|w>NLQ^UiI}w@w};8^u#vpL+xh8iCZgF(p!61 zp4qB@@ys*&7p-S*EG-)Gm+jmCGNP!osC3w$ckKA{u+k!dqh+3o6;w>2B4VAeV@h!l zJ$?m~P%OjunxfOq%lDa%PJC1(;GLNfEn;8}1}+MGANW-G5+&EvbPe6wwHK{h zchTCl-NL3#89nN?8*X@Q6beGc^LRk=_{qTe!Q=jbA8xeM^EgXKHCh2=m+-N>zFv#3 zi`I1uAEH9Dt{qJw7FXxy%^re`2q?6LKk8 zLEJRJHpNo5NJxp}HFf9cJDYB~_10UO?i>voOku9QdzouWB?M0FJxSs{*dONLWh+>7 zmQ2cly9=^Rc&}Lhn|I#6eQeXNoi}S2PjA(aKJf6yOIusP^)VS)NmWOvCIBM2H=>RK zl1E5(p~RqII!(wfQZN0LS(TD<)IBZ^T=E(k^3$Z8i#i&dUUKQa?<=<0KRd}R3l90G zZ%SAL|_1dq$?tNzO$X}BeZNEc3 zYt}oyZkN-#(buvptf<_AgvgQA_qO%oCG6KJb(efW{LS1jGU?xMjP8iw4yeL)h>U#?Hi ze0SDa-J-R@Ug978){R%aJ2DvTz2Lr8%m2BdE(MFliWAKfa4Ije;)LI^Js^!ex`Q*N zx~d@06uu|#YOxid270QZpNA_QnABi1uZLBo3$0=!FK{l}e&^8owV|)RnswIlGiSf+ z(wmwtE+wUIJrzK<;?e{0ap1Y01*hb>iVEVnie44H5Xsgf ztH<}@IqE|~tY)leRtkrwt4pj#559f-qU6Y5&YZJq{aVZw&(HkR>@&N?YF)1d_pai> zjQ0Yxo|KR>Qb856kwZgg46H?fUQuB|PIfB7JE(2z zN&7kBnV;(qWCgwlEB38-(VpbW#DvwA;tyJ5HVW&o<05SYz7h%_uz?0$GwA4?tgM{8 ztgM42JzVIYnvs|1(I0k~x)ah9@IQXx6>V+dZ_hcWdupia?^G?^QwyZ}ky5W#prr`{ z4-ztxY>Bq;JNPFlBjMJIAAkH}``U*eUQ0Aeh|(w#vC&zG1*yi#W)RNFs8^Gjf^Z9E zA3rfPsFBMOaD=nQ>E(VuiLqGakb5qaUWvp2`$D}P8s z!w`K#MO*!#>WM{adC|n`LG^7F#~({iU!9VoK9Q2LIz2snF)q!=N9^P3rn32cX4mVl z8IR_V)!Mw?)h^e%0aFSWWexA$dwABO!YKpv#GzBB49%|{KD?H`^XV^rGd>uN8?r(* zqlS(zoKDZJ_QtK5UdnJC>C*%u};hZB`{9oj;~+aifGo-89qNWzSm zGGfa3aVL`}`A3ll>&^^6F~}oy3ZuBbtVsX;35G^h7hO~s$_WjuA3nT(U?`(Fb@=eq z;*7%J@ZrH9M!s)c8N;u?et3o}Sg>&H*o6hbrO659O-VcbjiVKw7ats^$W}LrRTZwkaU{H(r8OT&$6+9zXud zmdRI+pK#^mVM~UF&Ko}W>Z{lrxHbu&Y;I|}a>BsSdBcV+9&+{ExmU|`-KW}z_HuB% zTS4>#HZsX+vcWX+x|)wHg6Uim`2X@Xx|-o@U@e#oG|{% z$t_o6EPMHPzhxgzxUz*{+B^x@z)R|hPvOguiRNw5u6R<`J$|LOt#9}_Aoaq>3L+p&cy=7)O(z0$!iG(WIDLFdqb7EaaV z2i~ zL&y#QivXSfY2LU8G2@xa`Eu6$lroR5US#H8NKq5&Y|vUdqG+;E8i5*XVAI8PSw2Od zH0uXIhvE?FVWx^y>$Fr9#L7&|bh(RxPCKcI{W{8(**G9=-jco)yy{VzZBb%F9S`g*r5v>^`6+*?rtfAe2vesT^Uv z07V>+cr%FUR@^}fxy`C{r^3tif_4d@C(e_iE_Yomu(tEI##_egudSt1q~xWw`m480 zuILHu#IaG#4-lRX64rB%I6pd-f>163TFHqP+p~e5Q*lxaW$f6%uEr;hGe}eIv;8)< zcI~Q51UA#xjUMspO}H87NaKA;#{0+_7CV*V*CZv$d>@YMqIpb)S1tHz{i<r|G53**yI=3_s$;!|E2n=ZH(B8fi%c6Kx`k zyN(Te)C3YzcLe`gWS_R`_!+qU`{Cw>o?zGh`}jbK*pJ1FUQ+_Eu6UI;DO?ak3HnqF zCxs+rJ% z>twp$_l;mM<2)D=kn zFC7>CkP=x%2+GM%hR~6Ql3;9#Z8ILnpeVaVYX}1%hX!E?NW2wpbu;yh;FOaM0#y<1 z-y$k$KL`EAw97dV{Nzv?BtNB*;!4>nWMCqNDr6K87bA*Ai_dAmXmk$szBb3vzLSF( zd_{91=;Bb2GDWdWl&~d=c|hBj6%e6(DXPg?sdzd49i5Ku?zcn-$rbxrSrr2@*1$@|gB zsu+Eu^C0IyEC9LgMJtCa5!5rxIAPJ}#NXbIc*hB* z{J=O#%59Rja;SF`Rk`BuiHrQqlU5#ON5_AvX`R;JDc=IuoEU>vq4iarqO>|MMdX26 zNGz6PJ9~ET-o5Idh|oCWL_Sle3qD9vt}rABGy<9RCMF$qLX88C5osqmgwD!K$HhJr z5~S-VL%H(0s5shHY*}Zhi7ANYY>mE>ZE0_3p(t}CK16T}8Lm!;3{OCS zp_ny6Qx7IiVAhUWIV-UZs0Y+P9bcpU{OAPrb&}GYtugQn`#%2qd{0!C7;A#Iz)c_lE&MhNNjZ`D5eE$Ea>nNZCTyZhNxjHB<-_rC z8Df-ndLcv6Tz3)4&|`(5kJOFh_XCV**|m|WPtHKACPuaZV^23e6??yV3-KZ<;dTEO z><8jg6bU4WYP>4GnP6wtOsE4?mx#7pp%Mty%yCD!7&}6^H@J<~q|lpG@T9pPU^Z1! zH?S~(2GWQvYm@v2;xbJ+?FZ(Egn_r~CqudNI&RjeL+k0FroBKw&DMxDjM^$`-^lrP;tUs)lFAKBvoIS>Qoui~LhR9>10(gvP&X z+W9Nt8?kAzYa?$t?l|`HUfZ8RVsNHG-_9}zQ;E|X)H@{D3kq9g&Z(L~#_yXnukw_| z)~HJ&HSH|Kt3fIC01hbH#Wca#TP$=+Q`X9LR4CW8I58O82l9U@F_c<6+Z|L;fHr@> z^$z-AZghd4_7&ak7noTaX>#U%K}3u6Bip*UV+i(?`yzD010WOai#RV5k7bdFBI-fA zu*2O61D!BxwevF_I~-pAsnk~yeBW(REM0wIDz28q=l{aCJ|*iD3C-l^XdDwdz)A-m{z zOu_~)L{=}=GNZ!NHoG{c#i1&8YKugOuC2&hf@|bH8I=s+UCBFw{tl%GehCmBq7^|7 z@d*?p&MA3<^mF=85K+!2#EhbmeiL1*E<_|gE4dJ69MW(kk2#Q@jAH8W_a->(R8%?P z`~*|W33PRf;KXsU8;Nq?eNtg@WjqT&k6L^S(}p4(KpM|363 zEb1w33G|<7#T3dDm_V`s&52RUf4^mXHv2L z+{!Mw{<83ToY*NTBLS7k9pE_2NcIJ8o@Y*6(+X9T77aq%vTY0ItW*V)$jJ7^ADWlk+8Z4aKbYEi3k&? zSb5Qn1}A20s2ur7@OM*K1r;P0UQjTPN=IvG6;Q_@1Id_-u91k9r_N~Z^kiR3rbAQE zO+!Q#7J{b&0r4-gG+h0Hfg-QVQ^RKJdr-nTi%r${eDFc!?;m{7j6ePKXXImj&+-qr zAD2J=09uv_pY)xbDItW#O}05l&x@12CpckIl^tvwvAb|OpN5+SIw}LaXfcPj(+P%8 z%0XUq!*>KH!Fs@dU>q9jw-hd)BZvk4Q~c~anqH*5M)#3FL@*n+VS<$_;_QCUAH zop+wWD~Iaxl{edE704XmL4BAno?dHtPd0dpa$+{pimWr+pQjibxFK#?UzpHVIuecKOBUCz!yXiM{h53;*jUs-Yd z!R5=fmKD~YQxB=%wyt<3vPj;hty(_y&~kho+WE*MkL-Hz!3TG?E??gIGF_6fomQW* ztn~OR$*uL&byQdqQkV=yL!KtQ^5_nT7Bh*8Gbzytj(~$RsgoaYFmW;rlc47JdIMug z)9|7sTC_>TlWUwE3T5v<^TK6y?06o z#Z`Cr4=IzGbMHOpJ6}Ivk^KuihDL;{A}Jlf#O`xg~fUm7Riwz5kcXmFauglbIL`TOPQ1@ezHr>-+W&B z67SKv{YDc7`~B&ogKSzPBx^I)z9;hJq}apKvn-1gg(8l z(Z8~%o}=4KjwgFtg~j52A>~13rcy&mkQ9yDo^oiI6gqQ&ti~EAteBZ*Tz0l1tjc%-3 zdLYjm)Lt7d@SaQijDE*nV4VN`dco1|Zv#+PInXJl&s)@~9GJ7HvoqkM9wT+q#VGy{ z^sE2#dkK=(|ADmie`=hzPUC84#AtLWOB9lYjc$uQp$}S7TF@`hYzT$M02e(;p2RSu zsE3$PDvc998b(ljj+gGUz(wgTB75&hB6{y1K9WyOLSVYhCd*05Ny+hv@rkxLTbwm2 z5`DwvAUO!JpW(VdFQvA7dRy3k;*$a5r{kw-Em5~y}o-+ zqd56?PY87D;+vFeKp~JfnxP*>dG#ZzdE8geR2GH=oFm^H zlnycnjf22J-5_mmo;h-WkpPVBUvK>YBvO2KEka zV4xS=I?|!Gw$Y1$MjybP^XGSVPM_Y^Hh=N_#hvpy=S}aJ-qAL#ZCZ3RTB-s4RG_0| zvJIV{T-5G~ew5;eA;T1#f$ubY(`)*TZ;UI&E0gaX`c!*Y8{-{M*Bi?5v6HSr#ck~e z-^kCL!&2Ba38S60>>B6jghn=Mn4>{i)!5MR=OGQX;^Btc2IWfp#jbB?Z1j9QBqdRL zIisE|F^NeUKyX-;F3Of zHKcm}WN)ZVWml!vHrR+FECy#>9FD?uoD3##($ej=*d6@05{ANh4Eg z8|lIL!jFcA=7z+PDJdfp8)|DB>KpN3yi?nNuiD!B`o?*9Vq+toNYA6E0o`EFeJre( zPD>BKS~zd)8Y%T3lP)hk02Ll4i|?B66St<@2>e#!Bc9jkc8kO^&+Bwgf4%3&ito~& zs4}aON~BjSp|$@Do{0d<^FPxl)E**pQ0MXCh<1TT6@%0fSYtTdok|WEpTL429dD4h;v+~@ z@fSWZ6-|0~fR=66#S(N+`p>5!W+|6TpDCAn7fpI*&-sK2)7AMTnP3ZGN(MA_RQXuo zv{HT3@*7BO4C8$aEQZf5%*^VpH=s6r|n?*E5qT?|RM!2^8=7{|!Ul;oI`VXWz(sA0Q zLy>gZq`DqR?H=4K!6Z5l6`!?nmwz_Xl!9*H??A?CuY6DR{Tp-n>ZM?1Amh{O)-{`JrBn3+Wo2*Ncb`$HbOd)IMcSah5n0JPd@Q zuFp5l_!L+pV#q;?oXsuMV)gy+Wq%4@TD2*3k0xp`>(NBbN!NPr;kWm{4)BOwmRim`)hwN5b zyF9r2*FEly`M}hm`7jH7XaK{a?pvh!DlBAL3|htc@d1K~g>t2Vx%CLyfzUuHet?L; zLvcA8cuZja$bGSxEF4TmFPPG(^fcvIA?eW{WbAN7V^hC=O~YxTizLAA#m0(?#>R?r zB<%#k!*!{9V(~q|d)I&RUKVYCA=Wj4L%R!H64oRB{{gydAf8GOD2tWFfL)I<{`iK| zrT?WXz4t&@Z6AJ!X&Qn&(hYry?#4EKp>X;*=NjK0;sl)b@O23(8gzeg{uf_h4!YiU zF5S@}RlB3P`o{UzqbY#i_4vj_xI>BXu*zjRp<%GH_&oR1){Y_S+^}}vy)K>BVA{>n zm&O%I_H%$G@Lqv%RQ1j>rScp&`ad6?`Z%Eh4gqN#UW&3ht$cadg)ivA;v>C1*MBcC ze34SgejczFKHhdwzC{?oxfaJG%|9p#fIIezv8E?1nYalh#w+P8>;Gi~&n+4wMpIb9{a^S6@w9}#~mjXGU64kytuPjBZf)@Wh2kmo!qpu>K)Qs4P zA3y#ZPeP*#bbaIz;KctcasGZA;*ZtyBt*mTlYEc~{YI%xeol&vCmtn2i4j(u9H(jD zm1wK>3A@|(6X(11kKZ>M_tk6uUDAEIAwtH8^W6IaGHjgsO}He9amrl8P+GNlqi;vi$QeC_0CF zSy45!9{UHw54AY8_&(EI#0j`F&p#?K7O+Ri9L168`%S;~Jx8`gl+t=o{~~MhRb?Lb z{a-ylKU^T32*d}D6M^&8;(0-XKOol)Mi3yO=DK04y8cV!PdrBG2i#X(fs~}U(2!P5 zqT_sz^U5D^U$WBKtJ;0l3Gq+(33&Q_f9QOD_f;nhd>~l_xniK0Q_3a#(Q_10P?-m0Q;y;VnV&uk)}EzIto z*P=iQPtDRkq&sjIB5p%5M*(4lbed0k1GslHQ3uZ|HI!(12A~lwb~#ATw^j2*dE~8{ z2{Tzs2-9awF}Y(w(es9Za|*KWV~RyP@70KFCmNtj=muIJFj_~C32V`rL|M%MuPPYy zR9oMC|E+nbDo8Oyf+)>U&qVdj?>}n)Rb=(+|m5zjFUo&g$KN z5WhBI;;&wu{dePlI!iws(6|8S$6D^L-yA8V6+{4o0bD?5MwB%{d`f-y$IeH_47m!+ zLpARwjYTf<<(rai86;ez>HyJ{Erj_In__5Yt@9z8V6^XTK12O8qWIpgg9*lOr}8NP zggA!KhMO~LZ5#XWrx~tGa&0=X$OGTqz`w<{HRSqkV6m zXRf{h>N>zqy>sQC=>-8W?VjvZj{yelE2+pQXy)n~u_wJ|f@ZV-d-t7#l+Td>s?AZ) z_2x4BKVaX9e0uCVN6<6NNR~TgNxM+>3$luMC^+$%F_aRm?qSbodYPTq zH>2m9OL!)oH-K4q86xE)i^xazrPWd(zREL*V~DxjDh10Jqv>F3yglr^A6AP)MNfK! zT8jgVQe~!g|Ck?me*}|idxeA;=n#~FdtR9RX#2#GLrPTD7Vk!JTk|K|Ck-K0Yuvk0 zzGwaj`@|oi!BO8R-4^4vu3tWnW{Xj7weB8-9BCt6R8Q|BKY*H4gHMq6P3kVywBc=| z$&l;yVt=vbOFTo4H8&F|Z612e@_l1CU1+wc-@K5jg`{Nk&gJOO1sihmF|WWpBUR)f z?wRt8AmS)EI0;02{)_$RrDd@I^Hk!YsTFg1%MJAanEmv%X4LvWyw;4S3zQQe04LR=HPh_E-;*xZhs(T7$v6)BMxk)^q;5(0b@oUW4Hr zMg&7&;>LQ<+)i2#{&W3Z<8`VA?`N}lbKw4S>Uyagan8imjnMr$7o9f}(|fH)Hj7yE z1?!RNR}%9k%Zsqc-~4EU1W=8oa{vx->jubu_T{ORF8u8ta))f`bYwMX~v1mgXF z(7aW6Yif*c@2mVztpMkPcbM>iYNKjKrI#U~f)+}SqeZ!KzEMx`O!V;!{bPOUauL+^o-C*hchyiRSj}ZcE#4$#vT}k24%z(7Zc+(hdh3j64EJYx@jpy> zSX~$57r6rvj!8Tkwl~dOh7qn$nj8j5Nkw-B(y#a+3=v3=mp~EvFk0J1?&VHJ=nU4S zJ}}^pR2pY8ZY!%vs{yNXY36~(l$upzNOgTikD;=Cfqoh;>%)Xy0sDp&Ni2;T0wVu{ zd<^=$X?f&-?eX#X_U)X3>V2>@@4n#~2w+471n)ilg-5{BXi0F8a*InRqh_BjPi``9 zc=_YwBkH=6$&BLi17Jht0HbI?JeMd^JqkVh8=?(J8nMzmG3AU$)!r)Tk zBch#7^%*XB=BTd)J>#IVfh}Kf$1ptO%)VvE7pTwBY6^$=Vh^yverMxqUW#VBQXeNo zQ%}|XFJ#M}I~X;E(d&aIAURP@q1X~_G`gJ8Z27_ahuyJ2*&xN7kv4ZPT5udE<k-TKXVTH}v%UkUdedq93mzpdYWLxhH>gAfA_4NogI8AhrS zRkc)OY1IA_VU+kJ-oQViB6P@z1Y{}kNkmo4!%yOo9RuC%#UiG8G zg-a|Rk4BKebg<@&#=sI&)?fpEj3w|G*nb8#-p8xZQQ@OLU*+oOIcR{L#6^vM$^hh9 zAa13u=%j=C<^))ogas=9Ky55Nwt=i1wS5X13iv>ali=o$`T^~5FIQ->6JWPUW8%_} zt`Ttb5m^0|YseHFL1&L>SKpOFyMONb$Q&e3vRao)HNbE;eSO|)cIx6h3#2(?$Th9Q zoUd=Ty1sL2nX6iag`zn)o`PZN%cj+xGyc4_&;6IC7M_6MK%fHjetl_7j8c-s7mSoR zr{+R+YV1+#Y(NAUwQrv>>01H=_;-}DOMJm_C&qt2`Hh?G+h@4b6RdpW2?m==P+pXG z7#0ha$jE-WVSgM}7L~@#augFyWoWxmPL^+DLcp7n`X-9B({R+9fH#d9I-m!eO|rQo zn3=%)sF@>7Tfx`@+e>Ii;U}XoBEelGh$hJ-N~?RhN|2B)cyCiC7NL_lU zshiO#6;a1Ge4;kwk`i|-pU$2>XHsh$6SjQ%&DM0c`-)wieJe^z%Wu4VM9tvTv19IA zaN_c9yPH0}alzcaDV6r*{>igfyWMj-2H~Ib;-X~>*uXcRWBnH|Td4fw^KNB+RZ7b8 zvU{ga*g2r8zbj>6)qRs%C$}9_UQix8K52T^`f!U8tyu=&v-IOG_KB^eW=>qgjPm3m&C-C^quoGnH+DWh6*@~0N8v0q*_;L(|b*Il+` zdP8+>-SEZPV?%@EpU#Ym%F7$xui8GcpXZ&Dx`t`d#V%9E?qw^+{cdhbNmNAi-J#*O z@UU=$L9A(P8rgc=)Phpt1x)BXdl|}#pA;em^ozn)Aw?P{g?EZ%!7lWQSZJ75Ax z@VEr9mAqdstr)O&?Fa1mremAL8!hw8wzM5vvgErN#^mol$Nf=_N?0YoV`vhb!eF6Y znEs@3T8(@BaAq`2Zbs{)HYS_Ud=V@ixu_lR@9>6uf?vNq@T(Toj6wn_@4Ppnw#Jph zgw}~;Mm5&gwAZ$m6r~Jy4UPyCoXkn|{G?H+Ndxt&{qtxOc!xpk09Eod@$E68r<}Sy zoP238Z7Kcddj*20hG=}HME$hqD*2-g9EjhB#68d9v3>LN`;Hs4aNeqG=T=P1E*u=4 zpBGb`mp!9m_O&x6O|DBBU`=Kmn%Q^u>T740%*x9i5|=+CJ*zHd zT>jWO9g`+DG^F8QL&L;LvpObJj7Vz8NZ-H)tx{87xVnr6k(er)U}6_!0rky-Izkz`Y8uSc|Bw{_7W~341e1O` zqIDAO!p!NDX0^_mIAQ#_QCAG9@!yHCA8{un+CWZT)Rrz5G)DUc$E=l?{^Ebwe$a;8 ze(JU%b-B6CmgLZ^@I_l@7bPY3Ex+y$k10O<&?;>*k>Le z5p7d`%~m8N3`{Br@AC(;-+pm+fE)^bJw#{`%H1WIi1270nAOJwngH)(L?GNZH62`3 zYzL!UAfXF-Zgy%)uvr+whIqTQr)QKBeyS`9El4>EtNaVhi1+maGIK#j9Svi>RAC~} z5{#uX_3HEt5QE0KuE=P1q>j#g;>sE2{W=%NP1}&|E+`m3AkjXpWMf162*=RT4=pdQ zi%&?HJU46ks^sdtf{B&(@Q4{RELBPN49DevuSyEH)Macrfdu{7@ZC+>*+VL44G!-= zzOZrTxcZ@mx&0~z-_VqmW;TY~cQ@Ir(G>}W(+9>@PfW+>Lx+}>l=ZnRedDN6;-rF{ zyn?Lyq}sIwIkw!y`kJ(fz-=I>v|XM79%e%29CR^_iU^iWFuU+KG#qKQs)Zr#n6X*I zP{2|`#<}{J)CBvASFuEC0F;G;XPi9#tk`NLpM~U-EUsO<*x_A^*sQ%buG+U~XZfCm zhAUfJl|-@nEC|N)0{cRFkL4+-C?c{PX{oda`xr0e3Kg8jF4X%np$`+%Q~Ts5f1=&)7dxZ#tRl6+~93FLeMR68dZ(;;_uNbfQVdJ0RPrT2)>lh<81tyxQ zv4!Nigbhp$)SjdcYEMdc-oCqg)bZt$xhD$BEY+f51QBa+1X zW+n46oZQIj@vk?E(K6=Iv)E}GkFYA$&#L_<<((Lx+^0LlWOaI;&vz(! zInJy;$uaZWQRb?AlX500BqZwL_^_}S_HKRn#fT7d#DggJ5u?1S{N;%9?Iz6K6D*%n zzBJCj9FsYIpy8{I8CV<4F>XL}?10b06U^dYQJ$4gq1(y^TDzyOGS%ZbTY!=2{Q3*p z;ruoz!074wmNNCtH*tOU5IjGPKR=#dAI_f-04-Ck9UU*bhrGh#cNk~z$KtxzXQZW#SigM$ey2CD z-%k6(K9)~O&ji31I0^S760LbNKmIsyNO9>7Y%OgpKErhdhAe59u?}_mN6_3=%OQ>$ zkmAz?03|?*f#MW`=t%0-Lmz3rO21Fgrw+p+gb0__MIHb6^S}m4tYJyeY#b8X6Vf-o zWo&-m@GC=x55GnE?^t79BPm3UTk7f<>g!-WSy;y-Scg%_;IK@j(hSgTF%O;&!^qc( z(^E?n)e+)Pi7hV%$7cr*9=hq9?cW$@oIXtsTHFf^O+t|`AyydA?-d*YS`EkT2y=L^ zF<=qiT7X*%ywR&L1uq0FGlo7=v`nZ#=fQb^V)9sdwXq!q@=A6luHR z8_dVS@5ZCg)aZY;u8JR-fs;$yJ$uD5hAC)P%OK^JO4R-$UdKa}P8P|n?2m__F_0U9 zjbJ*3pr+v=u%PD$DjvoQ@fjIjJOquA6~qb7Mg#|RByFTzT%Tu)NlYq9O>icqxzhWr zEbpI?P&Obp#{o<FVLlOBOXZHxFODbolVA#|^5=$sJea z9%uM^$#A^8cyaUa;lr0yjmyb(yT^^=c*T+pNzwuE)zpjgRhKmrjK|AY$+#fP&_!~T zOhL$4e_lkCD(1w7M@FbTwzzmgT8bmBBE)Kr3{yF+_Lkw67;_NV?Yf5g@CZkFaJV5D zOjrGjcI7ka|HQA1(STJUhg3T004Ni-8qk5G630(qT;pk90WgNnzm}Lt*`xtX@0f1m zEz*m{uZFFvt6Md!s->k$`oH>Bjg2eouO3%bh2G3U8VtgHTvrYja@?6g6k5@UemQuY zEY1SFX7RpTsH9{zn}f|1e}EQOIDvq!Cpje-)oVI+n!WbUJkRMl??`bcPa001$zki1 ztHlhl+XG{hcu2T(i{T^AL(<$SoKV_T<}r&k^~N`tAD=is&oF#M3`GA@_mZBOuAR-Aa(R}^>K&}vIFFylPHS0JNE*&s@33xdu42MhI z8Td$SrwEM&LK865mJIQIa*Z?kUuHHZ*u#v*l1$@_ic0)JIC2&7GQL*m z)3jC;pTSz_ z4#T$)i+vBNqN8Dd8r_muj6ixj8nM$Yy#l4>kS0=47nO^X9XIcJ=;rsHmrory!06F_ z_w08_6~XE~sk19IDu`o&&ojhNGOJw4E1a1om`^;k2e*FD@a=&E$~Sa(T3Q18Rvs^P zVpUqb9u~_oJM_K!$83j2>8we^Xu%daV^ zwx2fsqdWFqrQrT)^#jNDsZOq0%2H89_Z{VDBi0lb)F zov3-stZ)XPYj$Zd3weaCe(I3&b@bk+Sa{4nsEO})Kf9&tU2&x{?tSTf&voqGeT0va zFa_{gfO*6S4pjBO+&v`E2|p((VPLhe@H%**7^8_9JK&!XOk)L;Noa#_(=*=coIXX!#w}3OERp-O#6jL5;v!9N^*8 z`2xz6;S)KED#D>yoy*cJuj#t>e$$FBch~r!8MuCn=RsWmCqUZx6vR$ZjwJ&Of-RJ% zcHOg3e#i6RLV1sTeBqh5LDzy3ZE*5u#k;*e2=Bqa?_`U~Ywo|l>sr%_Z+6Ig=sM4X zhHC8@AZN5m7h~a7c&DpCerI0S{qj_N9&0FENRuMM^OuK>hg5Ocus;)oY4ewgqqtNY z&HFYJqhM$h;**)91h@#o`~+t3_Yjzpum^x!2$>uz*aW*U9hFKAyizI6A{l+laN2@e zlcX$Bg~?I8y(d3bN-sPDbZg)4a3R3XHF8{2`}TGP27*vq}~$|;qX=Sygcu{;VhvFMx&{M zQ6KN;h#6H|W2vCSqrAc5!D@{rH5Sh1d|6uN8AX*H#be!9;@QfOy`JCh<w|@(lRLlfgGBE?Tv4US#P}I`4Hgs>=dV+$q|3ysQ}+fKl_>dGs6;eC2?3LH--P?67 zp@Ft1ukmMAxPyYs&}hM7G&JDRJ;Wt69H+n@1WEz-g;8*19=1kBMbge=FDRDB#Y}uJ zuKbJVS#iwQO8gGmkXhoLo_o7DiGSYhIfCcuyvZmO9a7z}>Qc!=G78lt7~>4Ur|}UV zIz$dykP<2E^c=3NE1Q(f?~tNyaGm*tuVpOYw*qSk73!W2#+f>-3@<{%{|MAw&F2nS zYAd47pZtA#$G5Vl$%P(i2u`3XqXf;CU0~Fa&c563PynMBG%L!o`3|PvpRKa#_tRuA4xU-<~)tDCQG}lU>E~TW50Q zx4MdH-y|p8c&n5oZIz;PAuLK0mSG z)10KnfSR#-SQgyFn}B*l3>$#6xPbT3EGaaE39+^id#K%H5Q5Pxi93HqOJo#c7c7x! zaQ~L^(;se+@L&aTX4gOd(e3$%5_-jKhr^ZXsJ&yy;F=oe>?F7WH{kzjWwmlu_nF=G zHPxRUI{3-pO`EqW&nic59#W^{Jn!`W+c_gy(TIgz$tC z#CW7*D%$}Le{ z?*4D~3#Ecs{$6pA=-#{6bKG+bTn73d=CCUO-lU`J0!DkB1xPL3;QN4!7K+OPyt!ln zyhT~bkryj@Zy0j+azV<36x{o$;WHsmSmBO@?}()*As|GEMoO&&;wNh)k(fg}u@;Ck zLQn0bERW_*$2ExuPdL1CKvMOY&km`%K8PWJNnmlZQDsJepbg*u3bZ z;NdGwA(rx_q6y}Tv6m&kA#NQ1=5sg4hudVs-Vl>1@!em&`D>IiZ5?eXiBC_etI4?S z=<$&rczh)RKjaC3Z<3IXo)RP6VSO{w?eUgi(G1z9aln5r8y zRLV~iZFUi>!eIcCQmj}Vxz=KfxhX{6UAAERvZtm^e`@J=_P6cJ4osi+)UxeL#P-JQ znwrd}H?k`&g9m31+q)#R{iU5dUz!rSZ13J>p;PE}d+3tAvLQ0N=H7d1vMfOk%iw$O z8=M_U+lS5>g8Tx<<8r?kRNA_WGFFN=B_tvl#l;kJiAJUQBUZVC7YTo5ro%?aADyg+G!o1 z9XS1jQ->K>2Qedv)F{uQb&VPZ6-MJIz9ICUEZq<|lI)wr&`_{sAv8QRTt@UZn&6ob z$xYs*;NaLC3Ft!KE;tFHh*t7*zY6x6?kW_Ao;)c}qGQ0W2YY%9Aq&pJxqvt!nty~a zMP;_>P_s$1T}>(|uV3j^a4AiWT2-4yQz=W=IRlNnSv44#pF-^Gh8%2%8V1z}{8-oi z%W+D%L(C4e0qFS0X9tK1**3?uIgVE6NX>R3u(+GnXpoFEc{x}z(KJ)!oB=%gZL&Jd z0I&v3ivr52v9PYKN2=5E>FhKmKfPT%>%^QkXmc8)&dEXM3DnQkszpE~Hj1Bk`yhro z4eAiG9ZjNXs^3sD9s(w%!pf&1_g5$7uO~y8Zs;E7QVTN)9Y@+c9}G^?bF4eXI}B7QQ4}c+r}hQj8&Zs4 zWCRo9Vj}F3b{v|AsEU(0P;nx}WpJihB2`Z=X-?v9&o`tvb-hjNmB!pX82|3Rvj+c? z*froU>vh%1@D)~{z3E2Q$Qn0p+O$=9MtOECPRoJUN)GntRW5T2g-_J#yMdzDC?P`D z;+4cku`!exSOY>RNgk&QM$mu}5F@!v)wy-StiSe`%y!>slF&2+aj`t6OOxMJ{Wrxs zN|vwZV<4o34t_&TU?;ep{)4~+b%D?CW-yEb>XJX%0=@^qZVE=$?Dr7t0JmtmMB(lk z!13+UL_8rP!TszY!2KY2J1kpa(xKE?fI{Q$AP)q*fjoF@F%|~uAd|+><|SH?hdKoB z<4w^p%{SIa0iGg5>H0!LSIGtjMiRnk#qD7VEN0pX{t`vxW2sE2>JgtJ2onF3h z?Wy~Bow{xT@%tqk58bunsmm6QR0<792kKt1mN}k%j}<+%NBQNuN0d*&?dw?M`+sL9 z<-4!efBkGRRAxzd9cwe0D#7VvVXeQeoy6+9l~5HuNmb4Ppo z=BDv+z$a4R$8%oQ`(RQTF6q8*hyT;@NC6#Jrut@~VoNd|{kT$`4z$`zM6azl|GuxG zph!45acEr34}*&RUQ^bCZlAMB{0Qhfet7H|>(7OZ3%!R!cyXq}j~@wK_tjul%i`RT zsffE7Sn85YaxOC?2vvn*Ce{%wqQ@lMJaBy=0EfKA;6Wyn_odl9+S{5wn-BJa@*-Cd zMSq_s5d0xd{byt{!2Qk)g2`+!bqMNI+-V4&H&by0@6>6CjIkXweN($&GMJ!+gJP3t z4{B>F`xp1kNJ~lf-+_<|?ZEdSZvPEZ)?Ff%2ku>W{G}=MqA=v_@8w(Nt8gZsExhFp zN{S5&2EQcDhl0h?Z_}s>n#roNBTSJ^q9Bas$7Pg(lIAyp^abs6kPQz~_YJ1Kz@e-- zmUIu+4ta#QEYu&Gf;}It4M!txerpn7P+BCpv&RMMUA1Af9q|+enBwS@osexqBf`)S zvyox}gEaA^vXofFX~e>rhJz-UMsTwgm6z+PBzLp1?$`gk>aFEB9!Z?K`>jlKQ}VcZ ztt+GQH{5*P&;hw|OREdVyV5g;&W~q(ndMDpy5_$7Seoa7j|*FNUNdga+B;7k`u%lt z%PXq(wcqq?E9~++l`-;EqYE%C76!Qchk{c2Kox@@9d;r-Y3R-*Bh><#8DO=os+|aU zj3x(fi`bMFRg!AWM_^h~j+K%si?|77(hMQ20HM2fkz9kNkxrt*lTOA`S|9`H%vTwG-39->LFLwE6Z&umM5QST3AxG8d3m9jUZPkeA-^G~Y{^6x$=F`w&Xr@QX7yV>1@nZWR*iLSk=vjjyWEb@ zAlhy^BGL?AY^)@;ASBf4Od%V{$>0$$#c8e;+5zn8T;<)o*1{n#4LZw)98)H|Ak|!R z?|#n}(xk5Y=?DsNyAe81ozW>|359g>V}nm526`4Yo!|xuL|6lO;rI!5u{1eQRmsVQ z^`Dnrm{XXZnh+NiDP*xMT}`25pK>~8MkEHeED*+``XEPA^1L6vqhqBeYLMzeTGB$vEjOU5#T*#rm*N zzDimnkOJ%Dn9pAnA^6@X9{NuC%N=W$um1Yod*AKYSGW1rEgSaScl#p;pLpfI_Jc7; z@4a$MT>R>`8}8}*a6^Yd!qO%Su;lGTmN4&K;uj?o`d6iH-Me$zD!6j~ zEX`1ESGG$L6IR~Pf76Z~4=P{E18VwKhnTEIbC2C|H>+TdrALpRP*%K_5Vz@p#yCUB zhLy`6p}Cy^jwS%E7GeG&N(LoPMyhiRCMQB*a|Xm|O_p1{E*Ttn5MzRJpdyw^jp_(6 zLI3x;iyUM5hj7e9rC6*fs$+&j8{WF&SOkq)EG}tE$HKK6kL-z>@<%r6sCf8}&4>4S z*2`^=oKP<7x*vDN4s)D0{06#6G<+&E)eZ!(CbcGR`rfO0h*vF7pj;C*639E06cz7) z7I#97Efk`vPrNNDCMh&J6tNOe-H|w~^G40*DO&TPWq}gl=|k|V9f8ANe)G+jU;g8p zLb+;1>!cM`GV9ZN^+4J4hCFaZ614WE_`g9}u546pR<4p-?)d%n*Z=+wPwl!dZ@cYF z#Dy?ccJ^E8ZSV<;kO}z!*Cw4RaQ2}3XgT&qhLZ&>py8c?Giy$q$R0!HC}-7DTkCb{ zSy}J0%}K-RTFk|Hh4;=B2XFDX+Gb_!B-k9o(E#`deC~D&&4zf>7~k{Y(nZVx zg_fwFkc$zV(Z#((Bz#<@!2MX5O;F_v>f@(177kgr&mqbulvk8%PRK>C48H7MQ64$= z%-vFDH@p*g{t`UD8taY4d4}lse2Om-0AKB(Ar!1sO^F^$=Na({>d{~^8weenz?@M` zvLswIxt6@boTD~0hlE5{40tAYX!f`bw-5Ze+}1s6^efNT#x>{lUsiwFE!zi9eD(OA z3QPfWxF59N4=~6V%G||{2p$STHNl{=u7(1o?ll+yPK>62iM1G-^7E4I&{dIx0tXM8 zo%vXS#;MB5(dUrCrwnKT#wI#=kbYVKc^vTgr^olouDbkppGzmjaq%gQTV%%*&- z{H1l%t>wGda^_ImKff->5SrS&W%1@yWtKaacixzD^yv20^QIa1#yo#@)1*S1Id0AT zYjIMn%Ng*95S-TKxw9ckH2xZJTtJGRB_h-sW>x8?$60|-TFm;>*PLGd=#vQ!X6JDh zUnod#@MHWamUQ+b`Ci1RgVqm0b@854CsAAj<9U1PPLi4=w3DiXpml00BO;(j6jld} z^BaPbY9>TmDX?AjEeT01NtJ&j_UH(Ks0$$(T5w_vL;*Swhb=6Kja5b++#(llijOO{ z#zad-dv;nzwPVR7abI_xbmZ1sJ?_ix4$Mznhmb1515r2#K3fkMhT+V;$XyTu{RX-K zaUgs=nIErmpia_cK}5LK5^jsIMWv?j^97yzAPfwSYEAGS{M-9q{^1X=zB}P4dyR!E zUn_qV6B#w>`GxXV!ipyL0nI<~sZEUA5aLJ$1Bv?9}mz zw{GWnS5uigG{j&jyYl2CESXh|d2!%?&)>P~-if*4Ecn*NOCMHYbtUwg7SL_DkRbGR z=aI3@<>Xj+m7qhl!&ahA=6;sgh=j-lFh+wA&caoh&X1?Caqxzc?pnqJRWcyhBgJ8# ze0S<^qV%_4F8g?U+v-94Dl6A-PD1DC1e_jb9@(Y*{?0$&uyg98GylFO-}>PD3gze% z4FeQKaw~Ec>s61J&tcC6n>r)X@!iq9{+29E_tN%Qaxz<(5D~^5n6ePbK-V!jP9*$k zRwf}>u}x|_xLdhX+NNwvNuAU3;z=>;@L|tyZ^`cq?#-YX3vvfwlH{EO7Zd~=O;Qk4 zv^gLY38HekZ-h1nh&V(ZA;<@)uFpYIMF^?KA8>MDLZT7$ zhGUoNve z*r#Ff@ekeRRKfiOqZAH2Hx2SvEf_X0oeB&reH6}Eu7hPRO zE`&-CP8W1`I(=ah*V!FhXSeDWlLQeJ`gHz1g+l&4veuNC_>_l_CQR(L*8=dl*^Xu>?~Lb}@(5elKnlL#0a%a1YuF)k!5(Q&cS z`~bi}!MOfM7JM7&4V-Mjj0kHxwDf3BR=?V(lLjYcdF1=3r4X4jx;gbSWo0>gziQH&s2$xB#SKqmG(HR_iF$ z5mkOAU6LSU85RTA3=DE~6iEl!WyE)!Dg*H`!IC~%;ELj=rChVg? z03No6BPuU~8YrYxq=Z~~G9OE)CRT&oCq6Qq)EC)laFTmi#ZfC{%lY{_N7v=OGk1=+ z<_ocS>?oH-hOapemkRf*JDcY3nZ#xidQvBE4L?IPBvzMCPF_CVi^;tVb(53VH_C)t znB?ic8(jzhUD$V3)5Icke^H0P)tDpQ1d0BHm>FKvYBw9!|;2(-a338am4FKKbR zRN^Qu%E}<$cw+yg{(2$EH9N#dwpl;moffa?WR`kY5<`lGAvZ zfGpb*_%O-W#|fCv4aaH*c{RKb5~;DWEKV^8AqEW-G{{ALv$LFF+*S*uO_>45g2CDz zNSZoy$r4l*MxB=^Mv2_d{OSA4Qc3lL8*juuB*C`*hdaobU00jRBpxvZ z3g>9;LMrINSt<%Md7p%+aM57wgoy(d<-JsWl6C=k%oCFB201;|o}Zi_9~%=L84(&R zCmE6~ktlt^6#^@55kHEHy_nxz-5lp7InRwZVrxFQBo8|2-P}KFB)Z5J#<;JDf@jnU z&uB0zpJXtTF%t)i@Q?qUxXI>#_-350TSX_fR^t)sX%siZYZ4zLN+rAy+^PFX~KaqGO@~ zQLw-x(LohioU8E1<2%3)ZDO(UZ5k5DjrVp<7cV^ORJrADa z(3IE!Ww>-3JAimc3v_$<>B}0?Pd8kA1xrhUj zfC0c;Yg7=@Jo>~%*{$~QP_re-Vn9GDGX+t0hvq;?D?%m*O+V5~IuEzCc%OLXB$z^; z^4=3;$Bi5Fm@786ASJD!P#MmiWCxTcWq1o4xBt;c_oMS~q|N4Vl(EdvlVyRl zojrxP)7qzzVuTY9+OG^O%CE#)8>nsBQuuAAMzf92A*7SZ#ED0R|K_A|jrXA?GX{%Cl2l3+7Ie}U^lV4ytx z6ich9vd~v!VJV$W(78l-Xh;w$cRQKW#1n9MPBvx;*C*v>2TYVs0mQs{SFN8oW9i4$ z^~WZUYrU#=N%7W4_r3VMQkQjAX>;xEbFQu!Sa6jkYT49V(sTB#f~y&z2vx>No7i1E zH!a_t6ADI*9m1gmTZh~;n0ZtwoY=x#xk*htLtt$bPdqbF${C7XBm2w(&(Rj1bw=4| zr~b-w&gMVEvb=d`RZ2Vd+20ScT<27-cMKp|8%b-#>a@vUuhR(8x^GIQz#_JMLwamAKLpH$jY7nM($Fn($l z+co)3%Ux@)zmxDpWS1+mr3ctAadKc6mb$~i>{t*ON*H#G&g1(6NfC+RO&B&nVuPym zQvyzQu3kQeXQstFOcszg2j4AGp3NR(kHkvgoI<$A&ieu3hk%7%68jOw+ zS3hw3Q~M^2AJO{Npp6^0-Es575098IL7Dxl&p-H$b5^!;eChU$8*Ux<^PkV0G-)QS z3HjYPQdq~HL%7`l#O&h@EX0n5glm{jr(ts`35Htez`qW9@X!8M!}qBiEgdq!Z}FW{ zBi1Pg*Rn~I`*#0@o*}Wzl=0H-c!mwKJ`=H))fR-PP@+HR79Ii4c{oe$;L#u6y-c>p z#vrS}WzS5`Oo)$3icJa)7HrJMIS@fYKY1f;Hqj4>gTfXKKMzNEg2}8+_a7h8a{HR= zZf_ZJ{Qk{%-@RkU=m`@?Juyicf9-;&)1#)gcAX zQM;N()BHu&SD7MhU@!B1$Lz6Jh~Dx;Mt!3(R1U;O+Q-B`>OP{7tnAxIPMj7a+!kK0 z$*c1LL*c8+7(agGq^~Ns+_?4jjk|6?xMsxo@gp8lreF_Q)skB`ZrJ|L=kI^QuAA99 zY39#gCK#i(;cw;f#;ZY>;ehcB_f(a6hT>o=9PuJfW(-P79AM^7Kr2!lg3<4 z$YW(GI?KT-0_bd(#(9UysmOE{U+abHq&+%QexDhU2;2RqUZ_xC=gr^?NkX|W+dWI? z*Jw~EiAh*$Uo17piKRL)cat9n$6_f3>tc&dwig!` z-MtEfvL(5?Ti`A+w!?HZ8AoKKGvTrdl7B^gbFr(_}6OFLoEqH=@ZIutHKW9GC_hIwEA2~aR9-856&?;6e3YX!6<7~NJvH+nalRXxR|IMYYwGkbIBMU zf*gYY$tYbIDw}+Av+V+a_$olAD$;oYAamZ)sqqdMvMpx0DZ3l07jci+a8%oig9(tx z%t25@yqp8E)M(0}S3pD!K2s1%@0n%U+=5?b?sqiHBhpeMBeHM+l$Mta{t*)$;fjR# zk4ETFFZ|IY0VZkBT z_;d6QkPA)>DKnZFD3J}EX(1grjWQa8TktEG6HKsiL`iY7oeBNQiYrSh^TAsn)ryjf z0(F&$0HW#1LseqAAcR<9FN{?g!Lj5#@X9)e%j%?ZKEM&b`N}J6Y^0z0u*Hfb3MfMy zOHfSL$di5~6;&Wq#*$D$<0*qYJj!AtG@$-9J;Vs~L{cSsZ1)yTvFN$ODY~9P`}r5| zya`w*Ktp3VG&jW8Qh0H;52ZC>$Wd7^aM?GVaM{=ni?D-y$?%u; zkeoW+tF4pq}Sv4pUyrXas3gnwk9v42EX74x4}tH%Skep5(gm!gFmRf_*Y3$yH>S5*(qf z@e3s62z3FgiQ`l6_7Gpi1^Hp`_K@6kKGp`f5lyTE4jF}hUVDfZ!86q;*bciSir11w zD1J=YX6)o>OivCHI9((R_hnjJL%ux19S7>XD)wQvGzP3d&!3o+wh;yxSA zU;;!%Lr1^>?rS`c#iYaPhgnSWs7tVzU@yrn(gxFWI!*-IOX_Nq@up@jX5j%$fDDL)zH_2$6OY)6q6;?T0tquXc2aX{BWqM|Gbeb->DVUea`tT3}^(BwJ zpn_-_(3W|;(L+ZZiIoelal4O3M%sfd;fW~6W*?ZA9-3cWJz@Wthvha;UDGUAYEu%A6 z{UPT&P!`WU6FcYV3sZhYbW6d~HW+QFcY|fuOLxs96(9&VSHa|KUcy|`_7}QO9W&K`Hy5x4 z+F`%;ncR3qIiAxI!)fH+cWNn-g6pw;B2Kil6i-}&$~;tSmq6A*?p>6|954QTf7DseE(bz?qf5WOLYpH{Trj z_A1Xko_kllot+6d?FO8TIJYwjDT3QQK!=l^;FQea)XTaT`@<(aH7)JjNg^H)S!dn= zdTI~?o|t@j)*#pB{mNN7<~n`4Yu>#GM2u$r zGV@=ouK4WjcRsU6b9^awV z$@v^VTtYr8P$?-fLJTsSaj1dgBT1(u_0$&Npo2A|aW);IaxXBjB`8R42h=+##l?hd zFw;`xO{*DiNKge&&@Q7ZC}ZsWmqY;O|HP9lv{m2dN#FY+*fAIxc{wSrD0qgjX~Dit zlS);YT1w&*nVLL3A5{fW7u%J>C<%!|8;i=s0V;76KeuUXZO!P9*G!qxx%8@+-f4~6 zbL#gy*we~C)^FOnZq0g?NWPnQc>Kub{p+3?TE`5JG4nn5?7yY!&)rJ5^f$KW!(YAm z@kgMQ8^N>dIITnpo4i$g&Shxu2+F2e#HmrE9?>LZ9jmADehf`kM{&j$IJ5^t>*a2Q z(44KKEQvotoBYzv#bA|*!Qiyh&Z+=_Awsci-qyM>`j-*?2@zu z;j~tj@X*^$TdzZ3uX>`*3s21=O7oLoUdd#@>Emj?fuP4;hWa-0e0RfQgHuuZ4{P-k zOpH(*;hYr0j1Pe5>Ed_lQk9{Hf7L#}Kv^pe?VR)1Y0qo&DCEz(s_xn#)$Hw#QvR@P zSuQ4p^`1h!YbN4mjL0oOyfCd-i<{9{gf?ri7c7u^<3i7MS)!bQ(?Qb?bt*`Xa*6k; zWcBPH4=N|v=_emnD9+{d>F>^*k$$(O>*f>hsm~^zp`OFKP}dof5Hn$?T8_|Hyqt~@ zOy)WR#Tw9&JYdOt4EaGkfW$5^&bu=xRwA#)M4&YFdQ0EVobPU2XUKCE^w=8Cec;(g zm}&-;c(SkwEvXTQRu2a8x3*}Rwk%QIvY&nW>W;nr?URSk`BiJ{)t}t@)ayr&-g3pr z@``Ppzj_I0IrCoEH}S(wH?E%D-;o^^Uog4#f%UJgp>eAQdXE;Jt$%eg>{f z`+Cx=XB6vtMi1EPSnRhthyfoK7r63z>KUcFu~L#=Ao{ZQ=*SIALRKQaNF}C~rK&j4 zGN)xq^Hnv2mtAYFy>Ht`Z~g4SoqN9y4J{}so?d@*&5*ymG48OYg2cU0+9#o?@QT`T zeZ+9bw$-~Ht3EjKAy<+;Eh5Sqp4iy9diQfKtW6Rk&z7Nf2=z}HjlRq$8uq)ug_6>N zIvGergmoDrOdowky)1>ytQj;AmV*I?oc1~KtzJHdWk)y33=Tr|P7}PYq7ceLpm?hx zAU=E}UQJ3WmsdDD3t8>G1a@VJ#LjmGa(~-eo12Ezx~m3MUe>>&ANjCjQ&P~Ij2!uN zqK-5?ih_txo3g0r!-JjGD#NB82!x56TfKj&MT`jT5>nhrspD9R6l7#!!HMa%C`)D4{{RYdXmDbtEz}ko# zH;r32yeKX+#+f`IGo!WUgH1OBM@Noa*^rZyl~H=%=KtBSD)jNkS=e)L2iwBB*zK0w z>==7kq}@@Ukr0(ByQ~SxVG$|T+JX5N1NNH^iqu*+K|&v#E)`I{SCp$U$?!-ca|Y%Q z!Zzsaz>Gr_oKKq2?ggGQG=HH(qz<8}Am0W$1k+NLgkppWS*hZR1l^T_uJy)GwrB$} zRUh1J(R3_-v=S0}aHyuB3Nc{@tP{>o{Hvd_ z#92?QtGa?6{C4dcD0q9(LvH)R1)qNW1=T{kZQb?TQ40+rCy)bc zj1D1L7)TKYdD%FwgCL+5C8(d=2^PtCbbRNqAUO0P4RDs(hUhjD2Tn&per^tqxCc51 zrl(lbQ*c@bOOnc{6Gn5cpp`D>04JvCNy#Lr*9l#bigvoAX^!4mqjVQEyn8 zF?{{@gp~5Akl?h`k^H4KBym4XxTd>fw5&PYYSL5l4lF=L14hi@0cngAc9V04-hAPF77UypNmKlB1`9#lQQ zaTmK0sc=zI){K;tG?#n}*fvG4rPRthYR6z=;p&X-H%4-kGj*sb+X)mnEbfD;X z$EZGO$;B1n2@&Bb)@YXThT{4V_UY`86sK{far$Mv0C_yhk565W>f_F!5ELf=ZmxK* zRPLE8Zts4L`0h%`lor&0N)XC`C8OOV`yyPR5XXCh9mR zwLbp%uV+slKV9j<3Bu624eK6{Ftle3U)$I~%~4WEUf0-&7iYe^7kzRF8aXsMJVE6zhX*Pj!Tq!e`Qk(!O#3Ac1frWH-1Lu~-l4h|vs2qPeoH9^^ zC1+`x6}W;<*Tmb`i~0TX3(6RJ!iJ!0Qu6Hz?c~ITiGm~`q*BN-xE{~{U@ z4b+?X%1?0?{c0{-1eeHV zKBTGnlxXfvbxZs~A(l;0K4PC9{P4?NFQ`wP()p6~&DO3JXLgF!dh-@k!%&vWR0}g% zAU8Q2gotvK$jYQX2Z;u31}7P6CI(M6>8c`SH1hDect8Pzr}rF1nU|ce*2Da0qO}wup`CX`&H{tK|Jm1}u?? zpv}^3LJegg72&$NWtyQ3*F3GY=jU|jDv=|N$L?P2UZ8b4bVG4xiogQ71R+#_p#&a3 za=;#OUELo989eVA_GGz5HY=@JdATFrR?-uEa2UO4It3;lk=wR-c8;2Ci`kxA@@q%rL&`J{Gss9nY^)WW|lpztBp>`sG)<;$ubSG#hbo3Gv zC0`f6-e?HU%9;58ntK=csH&@dcegpYJ0riSsidg6Pwyc)Lx(x9T>jlI-ZS8zvkBwI#kjf8evJo?5O@&=lZXE>iBm>W zIC1dzd>rrcOv7J%dx`(ST>G6L)BKO9VAqEZ!7rqvL+qo1z-d0I;jYlUk8&6`94NsQ zB?ahLBA7q#0%3fUAlD}TYa{rjHIvydhmRc?4Jnr-@`r)PV@&O zDIbPko9oy2gyXs&h3|~%NFA{Vb>w$tL%qZJlr(ma#_oR5vhw^4ecJBe{SV+`H8A%b zjW4tL!_hO3dFbcItMjH+o`2EMGkPEYYKIQ-{QQa4w{{M_()H*bb2^;#)mIG--@bps zaeeZJ)J)o8mh8!xG0+=(Y_Ia_!PCq)dupy(KD@Y*n;7?DsBh0u6c+WOCHCVsy@N`0 zM7`A|{>2yC0vBPEdF9~x+7o8K_6gI{{B_0u#J}&Hek=&jZ31%k9|RsihZe;b#qf8l z@h4;UIVqi;qr@1!H~7{LEhRo^%4s7&*qc%|FJzdR;V{n>ZFTASxJUcKOnUxcFH zeWXsf?Y4i;d_ldSAN%*2w~rX{_(OX3zwYC@V|-zrec@-$?l&$zZ0Oe%O5%%X+rbUUO9O)N1;l>{pMz#fJ75_Gc=^Bc zcpyS4d0Za`(~JaG0&G(gaMJ-ePzR^+a~S)9^&W_h?c_1d5Flui)bI%8x7R-P$WO(5 zr2i9~47z85G$wj=-TcCZe4*BpTM>^TWE z?d4Y?Kee5MIM=VH9lVOX0PGvY72CZV;Qqnml#x0ndLx}WCJ#fJ>&tyL0H*^V@Yvya z;3MW`I`&o2&IO2bpJY0&1CI^vFPw(oe0{kHhXY)vEP!QP1w076EI=FX-HP~lgug|| zZNz#n1|9(dTUqXDKwt;gmBBVF16W=v?bS#JG;BZ1WCS$FA|BK|DC6)^AgCjUKLXg7 z69Be>>&f-uF@|4Xr@z4eIRdt?7D(kk73l|o)VAM=G$RHu&u;*h%^~+c9+U3?tc$_@ zfcwM!z*^u6fb}r_YTzSaD8O`GflGk50jB3N?z@aH0d9{Oz-WN=v)-qGPk_MIEr>r3 zFhAQdNl<|h^-wP%WLlrm(05wag{uxY@X z+zBiK-UE67D*$fyuK>1((~kk1$05ssOtxKlk{*YUWgi1H0?UA(0S!Q0()S=_yST1g z&S?&B0qzC@I_BdzhfK?H4tczBocV%~eYya+7hqYB0?fA%;QYXj+YxU9n2-I!bkzXL z)lU-EYZ0&sc?!2ON$c?@3z{0QLup8px}+oNx(0)X3Xu7&y>=`(;=0QlTb6UxRT z{vtxmvFc5P8X@;Ro^$&EXlFISc}sUi$n|17E&{--jssYx@N?c?Zu2*Q^FhP>_XDp2 z++SdqzaFw4PP6PS7F%)DD$2WLYRU7;=uJ3m!3*;m8ZDTtbx7sqb67lYc&qbIT zKN)GR!}S*Q3}^tA3A_VbhV(}WXCqtEJtmZJmRDs1RQ+WjqFhco5!(JhnmP`}(=gy(N!r49b?I#Ggc* z=k%Z~2wB!mz*7KtRj>9zY=0}jZO1$TxE`WM4Md!E0Qv}oX8`OwZtEQgSqJN7S?5VS zu;V`o55~j!EHl-|?a3={M<@F@747LrEk9VC^&P70Kzn%JV;q=&5%L&8Kl)F?17)P9 z(VqMExV319j#ejbF5hC%`GSCl>%j2?>k^a);eq9_bKhLX^9AIp9x1^5q`yHL;ePp` z(HO6sr!%1Ua2xvZu84O+9)~JWen!xgY!MHjjt3Dd_^qN9fZG zK$`P@2<4z*2%XOx$VlN$%@5)M&-cP6$b)VBfye1E;A}w*VTs@X8+3Q6gXs6uBS4#C zk3XkzI;f|FzHN62Ey4rSEaM05PoeQ?c}-;_HcEc=`vrok~-q)nYbq~}NNYxX>Q}a{fK{Ney{#QKnE>bW+&>23b(Z&L zkj?zQjIWU9@&GJ@bu(Be^!a{ff5R3&oBBRvACCgK4Ne6jpyhTCke(8kJfAiLwC(YZ z1N~wpGVXP8I7R7bR$vIa-!y~L@i5*T4xc>SWGmtk!aR@qS=stSubEG(dDQU z|Jvadn~AQ3EkBw=G}Ezy_k*@&U-W9pUXsblWh1@Qyh|cS7!+D~Rr@ zAXQT9vZ zJp|sBJ%A-dzZwecB6@fc(IXMyTcTB6iB``cdUP1kn)yV(CIGaLq5Sb~0OYNO?N6Zm z$&o})fqorqS@$NLx2T=BhFtCv5L&*FP;kJCDkC68fXg;nZ`lKsRMYJ8Vwr?l;<6@#uq35&ZL_2bU zEkvIq{Cq9ZpNfdSKs~?MOtcen{tO*|o&#(m`f?}$zQ2IxFH4AaA@8qc0Q7tXJ%2;q z?v+Ge?;!eS5z*hjCHhAXqJJX)U&8?8@7Y519rC_ghbORo@rJ;Byf-lkpV^v)x8bWu zxeI|Uq&nd9j~%v>N?S~-BYx679r27Fzy?y716AizU>&J02)les>aew>y6z-(IAk0F z-Xm&A9T^57|Hy5mx`D3SdQwM0=TR-dE>hj`Wf0wWkUDxP0Qo&8kvazNa2$iYV@Cq( zNcDv7o)rLid*uTNkIMp9kUG9U@FuAfz!y#flB9ZLlpE9I5(4?#Xij*gar8se#Zra4E2ZR2J;b+DIxJy0RgEP#vkk&@p%psR)sZK}PO2 zQvCI&dCN(~AuoRgsUeVc$|6#y_5jwA8Va0NL+bQpq|Vq(YS>~@!y8Ez^a6H}D$FHS z)D_r7s(2o-om9y%U@55){Yi~PeB??}qh^shb0h%yqrpE0^2dPYEbxy-d~6*6dE+5# z{035IgYRtcOh9-}l2j>Vl|s(MHKfjs;48>7fJLOr7UDy$-GE)B&Ywi;0>m#^Ols0j zQWw?$+elqhh4;P~n@LsdCY8u1H8~A{t(9{~Rm~+;4P8^RNKGvR_K>PsPpWna06CY; zCpB$3sXCO^Z6GzBNY!TmC~H7o!#Yxp(0}PdQcZ|ALs#<(QZ3_2we|%NpV3HaW)`Vg zMWkkfclJ_Jmvtp|Im$0jlDY!4SAhS@<)nVJfz({kU4^o%q3deszXs*=kiHf)*X5JC zz89(ajIE?@K-mJwT(FJQLeTsq0-&xpt|fKTEK-Z=NZkzDn>UcUWg{uf*XpM|NZkgW z+ry-mEG2cv4pMinBX!quQg`%}zNUd5zYV|?@avufOYy`mnYtTFfxsQWq z?Hp21j3o6WWIhF&-wY-7G;}?)l+^k(QqMxpb2~{rKOUG1K*omt0Cc~A@P#@6^?tDe z*hA{2U8FX)ka~GO0C}%K?k4!>HRyV6F#vzOK|llm?;9w81AK3W0i@r`2f+WUX} z{NK(Y^*h-7Hp<=x?>lQqy<19Z3uJCtLF&Dwq<+uXN$P#@z7PFdR|309eJ~UN{|D;; zr2miwECfLNA<904jUVnIwGA}eVCzSa`B4o3{*OTaF=#$U*~jYv$o&L1egeAfEu{X4 z_#a`T{uECrC>)eAs;*Je_GMfeo~ zEx?BVKK{0t6k|8!d_9NMH;ttJK9AJ5u=gM9Nd0p;seg3?pyRtWr1qBL9iDu`cT(Wx zvLd{_wir*E=8|@|kq+%9-C;fHv|L~v>GXx9JE1J2igai2bpDofmtCX}Ls{2u0O$_~ z&EcC!ADITsA>A!Z`Y6clK9BU#;5m8&Y3!4AkBy{{*-83X$Ub&0>7L;4ISBxNPv|}l zG{=MQ1cWENNjePv@EX#+9bhD|0swy>$nR4}I&&5P{e2e$n@RVBT_-ICAnW91qz7~b zV9$Upqz6LoK=5a^06R!$Hv*6~Xbb?}!O#`S05*}1!L}U4bA|!n$=O3XHv&MGmkU6C zJPlY(8ta1|(jO=T){s6W46G!5>Q>TNC-l&rq)+cg`ivUV_~f!4hP>g+Nf-15KvTG# zbkQEt#gJ8!3&2+Ftu@vNJqq+^!Vc`MHTKr}tR1AsCP|MgB0Zh~-m@!6Pgp_voH4*I z(xppCPej>7$UYY`&+7^xUIvqu8sk*)?!^-j`LHj1imRwwZL@ zNC5UthyC^QNjE@d1M1oc+Dm%@;J87CobT*-^xd-W%{-j$Yq-P8xJ#!`LS;)UE zjr8Rx!y2LIgn@OWuYkNO8i6&yZqiqR?@H*t66qgh0N|b56<7*D##P|E>P^yD_XTE= zz6N@)*+qI@9RNG79S^K0jdev|mn40C1?l+&AbtblH-KhA4e1|;fvuz$LeEbYlD-k? z8_R%2z(&$Hfd}i2zG)NbMbNPbbT`BPn~`@j@@@hBEiC|OZ_NNk0*gs6hK$9?`)Mzr zhV*S&0A$_Q;c9CAv1DH?x4up5CC4Hv@p!}{qq?axueK&O9JsyCbd-?)P0F?i% z3`mk*2ARu1cW)Xn7x3|1FXccJp%y$ zn$4ttodql+{TRZ>K>s-C*CPG|=%3h1`pLDVpF;d8*zgqOKedtcI_O%5x~+pP>$Z^o z%@|-E>8BAsy@B*Ir2u5DF9KGQeirhcg^uU?0^oTb;q&uIQ0I>6w3IO)JS_UA!3Hh7Wl76i}kR*-si++7M={Lal#%|JYE+zd| z73trm0Sih04%nOvECP0tej8o@_ZWie+8Nei9CF%Df0Q9`~E$QDE z0ds+M0MhRd1?B-;NpA(;))oM?Tep$^0JI-KCe~a1hmpV@(jUUkZH=Tqg3OQBkp6ff z=}(Z}UP>D4sQz>k>CXs&jvcUj2k8HV@-I-woshS4C+RPt=P%H^3o>^t17OEr>wtBn zzjA;vz+zx4>A&>_ssPxu8}fHU?(S`*zXtEuko`>$0D0f+ApQ680O-C2&$kPK&7}VU zo`0bHpBcbP(*Mc@pl1*A_iP~jZ}9BxN=D&VY0M;G6B%a_8MlQ@s2h+Z(_uWYn@rkJ zU@n=CMZgv^=_|=#y)zm3V#Ch;$#g+@7}8xAk~tjZN7MiayQKk;c~mK|j!gGlU>>lU z%+X<>4p@onnJ^KSof!$jPWJ-ntb-;Q6 zaz^w5h5@sHCBP0cBat@}>5(hRjLHHKAGHBM*_mkoWSj{ZXD$ZT0^7-qhJB;Q1M`55 zz_(<^M1V2?d1Ka*IjaXy1tiIg%>bZxEOd+m?>OX-gZ%N0z-BUMqwMT$WG2i95T26{ zECN7NiZZOjW+G%voC|zQ=3LlwF6hoH1yHZDIJMNQ;qy;gj2=?;F}7)HABhNW&j(= zTr!8uv|IpXIJcSU%gNLuuVE6I#%{nSGM6qT(*(Ze{s8LR40$aCi~*8lT0z&kgv^Y- z0C;C?CNr}FSPbkYGYfpPz&C3pnb}=|B481)h0JBhzYOv&M;$Mp1*|7?MH!hN%>%ZR zxvGZDHECq#p?uz(WUhtGYqycPt`zu|%=K#k=$M}iz{VRO|AxiDCNc|9hXpIh{CGTo zyoD%RSOqKx!1I#`09iLe$4wbP3$TUEq9Oowz8U2=F9Kl4Ey%kCbhm)-)<$3rnZ;v( z&18O>1a^_Rtrt)V%p-Gq8i2AT{ecx^?m*cc3(4F$6af8QVPFoKr366k(w$`PUQXs7 zr0-co=4ai2Ml#D<$lMEm-1{b(`{t7QIdm@103hRj*mVC^G7oGgvtkmN2lL7NvX0D3 zMosH^gH4Y+0Bl~1 zytUwcqKeFuy@2Ipp2{M#4!rB;k@*dDJq@|fj3l!jwmrLn%yW~-JU@oahOJ~?fV>wM zlX(gJFKr>Sv5XAv_{_`Tdj&FH*-YkD=y>&8GMko?c?~jOUqa@MEo9yV-h%DFO9PgX z*^Kzx2;YJJce?@G$!r-$=Dq#^_|Vs8`t<=FlhE^48DW+V~IP|Lv@q5OM6t7#6#3W_m_AY_0q#6-jTBO zB#C#T0&HKc%nTZ%Uy*p{;|7`T67NEng^Q?=8mN(GQxiU9Kb30md#_=9da{yEMi`?A zMJXS#b3oM!no4{yD~#`K;8Zje>?s{4Ng5ufzW^P1t86YncGrW}t~?;BOTuM}oJKruijPVN)H_P5art zzvZVuO2EVMpuRz#)zK#DTwhx=tZ0C3Vbov{Jj69Q6{!~dp8}2Siw1b37BtqIGvLKR z@Z%s*vR||P+T{7MCj9jvgL6mVFWX>Kvyh5Pe54=GN1Ex1@R#e>;#-jot^22^Bi(0T z&9V>hM>dthql3Ub3+UrZOyKXO@aCm{>OB81+n!Bj_}k|Y(hk)#4pnwwui>88f}Yrn z-}D-c|5N=wQ3G#IhOL$G=yc>ZBMkZ>*E_Wz{?8>0-siJYv>*5Mnb6RL9u@XmliS$l zxAl-llsDkJ6{=w)d#n~Vw%_}M-t}J{O$oGe6=c>yHjlr0XyE=Hh9|g$M?jlpXJOow zB0Xk5>U4Y`@DJ6g2$C*AuR0fU!)S^9>opT4Tr=Ae(;=PP%i6*Hz0HC~zs;<*Vc5ql zmjHb|+L7(}{%8+FC)a{|;W_xrH4M{P;H>v0w>OvAagqbN_T;tA9sf1&wI{31w*7s| zy@S0_0~-#Ui|ia}$NyN=Xgcc0b?VcOwLAg?EBoy8L?7Q*2XD>xeDXh=x4CV``|ZH3 z+l>FgJZJkf_k5n8?VLT;Z!fMP_W_=-r}(8jY8w0*sS=*y`FAQPxZL&jlMJ< z&peYhKxzx9xtB1eB9D6m_cmUg(nThF+gih%Q^3RhlC5g*;%4}R%b7N?da_>=E3+B#$p_3%OmF-2U})j_i7nt&JRSApHm&u25cHM6 z`U8E}CMW1Ww%^$L@865K^=y4-!eX9v4%H@Hmvq#fR}=1YT+7tijQa~)-Qd^V*0F7t z-+#vAb%^WM;LixQ_i`3FUE2D2TkD0v-Qe@uJy$S8u&3+@ zX!AtsSlyqCYsG!E4t1G~`t9GtY<+F-wN&449ou%?!rb<31=okE+56nKZT0)1*0l3~ zDOTBHaG!(klrF)lbRKpi6a1V}$O~f*nt+mXv5plXm-jk-K*1$k-p6l`^ZZqAB$(@}mFa>pQKolM6Zg~*wR zG{<>&Rv`Mug3GS5%*QLPwX_uZVWeyg_qU2ATYYTVSx8NQ{E=ewaL69z>u3A3U{Q%L zcdXCFd?mi6TqpJs`>Yfcg|KLhpW@t!$Q=*5bHHV5&;Da;$AWe&WK8hG5h!O1*jv2A z<}ypi{yA4lxQ*DpG58c6*- zYJa~J>gZ%e3tmcn_Mo|K`4Pu$|MvH3Vnf|I2%*HV=G%CP>{W+0kRq z*==K`&13(2JFNEGlgD2*TEXs>d1r3VGY!q6NEnwwG_9c-%D0X}i?l*QTCF z4;+Df5=i)GGP^@;I~Q=Dvu8Wr@9{~Bt+F}RQl4FTe&yQ;?m;}(0-xJ`CC@~5kI1Jl zdn4C2YMGbMnNv}JZUbB2si5Q9)JPuhL4(sI*UnnP^j61#{^62C*Qw1)TZ6V;y4~6S z=N9a*=Rkk7)ih|kX5UBL-dsnn0pH#QHJAbqw9V$W5Aff5c#%)8fuH$w&~~d}d$R3W z_H4_3VemP+8Zj%M{TOJnH(OP{hYxluVcYmX4&ILkt8Jf@US`+b1Mf(1f_^dsb*@dRS)i}lzn`?Hb*65_f4h3|$%)VFTpOO*+I$;~pdjb_>y7mQpPa+~ z*@*iJ+sJxS&&0Oxw^?ax*WMb$ZPMONTzg(^yXoo!uC_J|PDb|T;ZWA^-{1IrTIc)D z-p&Q1Ef`6>3$kO5&-L~!xBvRfD}lW=Pxxnl_J+Ns;9eEXR@_tV*!+JnQyn;3+iGR+ znz;Yk`-3U_`kOsr@#%s0?d|Q9|NlEp@?QIY?=%^lVgDzmNggA-v;Tj8noK=W?SCHR zwSmvAd{*W*y;^7!nSdg|tO`oD0V=AM;$o^JmP%(dSC zF2$bY!{D{IA_3o_<__zl;4Ghd_Wz-iwY|}3e@?Qqd@??rjH*H+tR z*vM-?TVZttYkr$7zN@x(^H$sbJ4NfwL#?p~-ng?Ze22^H=S)9tpMCL;!9MS`&%SHv zGNgn1Q2Rt=|9j{kYJ;FIKjeSj6E>p<*{6=RzK3}~$+IKZj4ie2vcSK#J*N0&yoU&^ zWIx)wYQEj&y){1xXS%k1DDRbchi?0neWu5GtY<28{%<~c9qjMz_<7J^e-F>M&fGr+ zA8`9L2&H(Z(7t7{w=bQKn6jz1zj!x;@CBR(Z#=vNiNC^ExVot0!?XyWHa(I4jkh(b zR0v0%(r_12tvb?1dPSwvtE!XAz-`C?`c`#TUDRPTP<2JG+eEL?>-0~017B=> zggO#W$OqvqjluZk!tUy5yt{!nCR7h~j5=2JgcoD(rq5lZ4c zfIm|%c`B@Wt3H&cGHE;gOZBC=>ZeXrC*fUz&G=+&4ZWlKtCQ6LHBe=#Y#KtRDEyw3 zil`{wI2cM_s2Dw^a_BUbOP?wa^L8yh%rp(-;}R8D`Dn4}vVS7HAB z66?@JRi?_-`E;(jfc}X0S|;H`m*=Sq)kXMX>N2_#Z_`{wKT;Jcp(d+JRi&zNt9-ti zqNb`ERZADpB-*Jip(oWex=_{8XKK2tr@QGM)u0;HrK(9as}|L&W~iBJmYS_DQI!wG`jMKeu2NU4Yt%e-t-4NKujZ>8)B^QmwNU*;-KcI-i`32P7ImvytbVF)Q@5)n z>JD|Mx=SrpcdL8U&(tz?uewkDTrF4ks|VCC)C%>W`lWhEtyI5K535I1l7F37J*w8I zU#rK|<7%yXLOrRTQtQ-j)YIx2wO&1|o>R}O4eAB;qIyYfR4=Pn)T?TfdQH8q-cWC< zx72Ud@6=}Xwt7dstG1~3)bG{%YODG{{Xu=GwyBTQ$LbTcUHwsgsyI=0~ z{aJmf{-SoNzpAg)-_&mPwfaW=U45(mq5i4#h=rr9? zr|V8SLwD9)^kKTIK3pH6kJR1tQM$W6TKCY$=wo$H-Af;*kJl&YuMWhD2kF5&qN6&db9Aoube@jud_6>;qEFRB^=bNaeTE*UhwB1esEc&5 zF3}_ONIgoQsYmNE`Yb(GkJIDz*?NLLN0;h}`dodUF4N`ue0_nQq%YJL>5FxRPUy+H zQdj9}Jw;E&7ev?UOY}5dhp!K>*A2Q+U#gpQvu@F?dWN2)B_-TD`L1$|B5=m+&L z^+S54{*``MKZ3Ww&d^DGw*5FdOs~?b=^=9PDm?$f?%~u&ufaQFE^gD0rz5C9|5`t$ zAJ=R36Z%R0lwPNQqo3B#==J(p{hWSYZ_qF37xhbeBV9xl_yvby`epr!epPS6H{WOI z*YxZ94gIEmOaE5?PH)z4>v#0KdW(Kf|6aeZx9Sh{AM}TMoBl|DOpnrP{Rwr|+w~vy zr+DG}X?g~qzh8ro20x~E(Brg0f3E+eztB7NpY@meFM5~$tNu#=P4CuU>u>bm^|$&T z`k(q=dXN6M{!Z`3B&+Z>-UeTd?wXM4VA4!S{1Rs;lVLiWE;P>^M!%sBrmH!e9-zOQ zBg~O>t?6ctGTqJ5riVGk9BX=-UgkJ+yg9*yO>fi3WSYLFpE;3kGbhn6On*w4lg$7# zkk*&ry2BKjB2#Qi%m_2mj524M(PoS}%ZxSS%y@IQnPAQ_ zrDmcz*PLg{Ou0GVTwo@d3(ZC5VpCxfX0oX?Ri@fZF;h(qe%#;^GtJcDOWx~EgK0FE znkLh1T1=~%VP=|HX12M^TyEx=E6kPVM`o_M%3N)(G4sr|<~nn|nQv||3(SwrLh}=I zqq)f}GB=xB%&lgz`Kh_h+-{bbJItNtF0<6!ZSFBYGt11q=05Xtv)tTo9x%T!E6juD zm*yd}()`LiY#uR5v&yVCkD4{+*XA+vxLIqSFi)DN%sTTM^R#)!tT)e^=gjkFgL%Qc zXkIcK&CBK$^QzfoUNf(oH_V&nE%RIRJG0rmZQe2Onl0u%^Lz8Y*=jy8e=r}KZRR8M zvH8SoH-9vrn$OG*^SSwx`NHfpe>Pv5znER-ujVWBH?!M(ZN4#oH{Y6nn17monLXy; z<~y_3AxAmdG5FD17e8Cu!AWyEI_XX)C&TINba4)Ix;lqDM>t11-JGMG?#|Ip59b)? zSf{7c%Q?>F1p2oaFR(PId-31Dz}<+Zp5xb|OyHi8(n=uH!j* zPTa|NhB&7XQVUAInx>KjB(C##yaDi@y^-K z1m_&5)S2j<>zwD5Ipxmz&IQgS=R)Tq=VGVANjQ_8N~g-HcBVK}of>>m`z6jar_Pz~ z)H@AMBfdMl$!T_4oK|OsGt-&n%yuqwE_dcQS2$PVC)npYS2Yn|(y>z(<| z4bB4R$Ie3MC(ez|P0k|cX6F{?R%fyEQ|C74c4vumhjXWMm$THl+quX2nX}Bf*SXL6 zxwG84-+93Kg|otW(D|kFkh9YHmGiLkh?8_yIjfyVoi)y{oyVNVowd#r&Xdkl&N}Be z&eP5_&U)ur=Q-zjXM^*C^P=;Tv(b6kdBu6v+2p+Dyzac=yov95`mOUjXS4IR^N#bb zv&DJO`MvYLv(@{5`P})F^M$k1`Lpw-^A~5A z^H=99=Wot#=WFL1=kLz9&Oe-gI{$L^IRAFObN0IADp$M4bzIjCxgFdzx1*cxc5*Y^ z&Tbd?Ft@9FxO;?qq}$Cs%I)qR?e=hwagTL-y1m@v+~eI7+_2l*?c-*;ecgWUiS9{m zfA?f}fIHC5aoY+(Ng= zEp|)X5$;HLlzXN-+8yJb<&Jg7x#Qil-3jhFZmB!bJ=ZOf6-K}>U+(!3Ox5;gGTijN6hC9=p<<535b1!%2 zxL3GWx<7K~x>vbZyVtn$+-u$I-0R)>?hWn&_s8x+_b2X+?oI9@_h$DN_f~hY`&0Ke z_jY%Qdxv|cdzZTuKMt@1zoF2P=Ht6m7SMIH5Z{|JoUW$l+`HX-+@HD2+o@J{mk z^b!4mw$P2V6*mMQ((h>-eL(NIKc~L#a`%4s0rwZ~3imb3 z`Ca ze(HYa?r=YM|Kxt*?sWg`e(Cp#A_n+>++&%8U-S6DJ zAquIG4jKH`wHpfI2dC0P9Yg7%PN9rY=TMi>Ve}yVGSoG6c<6}Gk@zIg^R$j$4jmQh z9y&VIBXmsY*ig?!-ToY8smAJCCbrt)H4`YMow}Xl>~*&Z_7%uDLGJTw_@$ zNRT4I%L|?3=laTH(R`;A28K%8NMh09?nGa~#QhXZlsZhbb#Ny()z(i9P4sILI?tEc z>AcF?rpngoQ|hW`bv&=Cwz{dhxwbiU-qfbVjOtG1ZH1w7KPz;;&z64vK6ix@lbfn% zRCh>-vV=5EWgA76Z)&L857Mjm6?CY!JfUJ=M5x+Isuq_|ZL484mXkhpAD>ghEmSMa zqbzf+Wv&(G+SK-nhw7|f>rzDK6o%?;ZhcB_Zl0+|do}p(Y}n784We+IRoLJMof=YF zugS`5N|EQqL(P7!wB8V>g$Uo=*J@jDrZ2P8%(e#V zICEd?&9tpIyR9%Z+qT|iKAT(DP(QUf{jz-y^=-?IMkI_%7?Uu^h7k#e1a!Gl?n$}i zM*{vlDUVB-FX0fOFOu|dNf%1GK*As$&=pI5i49|-FDCk8Vs9+4SLkD6XH4vji9Io~ zFD7=y0=okFK`3^_#Lk%57YXPC`vX4&`o!*t=!uBli0F%moS4`d5&QEbj7vBq2u1D? zkvBx-3=#dqg>HC|7Q2Uw`~vY;fzTBQU7_R`iXRKbe}!Uiq1ag@bVb5nBz6>u9YrFq zNc0wo-eTb^7QSMsN3rl13xBcj7Yl!}@RtaGiSU;Qe~IvySbk6XuNSp)yr{^@5&j&h zUyjJhk$QSTzYfYpevY)KC;VPeE_!psKRIH5j`Rml+C4|=;{|qzA9I3qKqvLgk^Yt| z`f^2IuGpI!*emq8VrQ<{nJf0>iha3aS8iZeAU_Djj$E-bSM2iw`oR9c4}m_h+Y>#W z==DUOCvtMdPEYL56Z_+Vzk^WZ4-q*-ME?+xGhFC~2WiniTCc|@ zXZ*mJ`(H|H6anTiU2zeAnlur&~J`danyGgLd#biD?UsNYnWL-s4~%9ox$dT z&QBbEX=`;en@|-LTQlZ3p)9t-OfjM~3?oSu7F>LVrR)+PXGk4>m~q0}`Rs!*1M>wsuGC z#vN(tc@fbQD+vv^r%!aSlH!t*&Xo-~Vok@WX-PEAcB*jPa*A7<8l1Y?rbMW*x*7R? z6BGxXJTTGj;bRfIrX!S2Kis-3GF(*KJwD2%3GE&qX&E$juOExpy%9pGs*LGKfmF3X zs#+lO3x>Ff`l)r*8Hr}Je{J)$>4}z_E_{%ztDfFk*HYV9H#^-X8|zw|JE9{@ZED5+ zO9xB{OxvLvgh;1VPj76Qjf!@vzO=P=Mxw5|zOuSg^{iURt#7GK)TQA>iW6&nOFCwN zY9#6=w?$hTGdLHWuabvodR@cR+R8*-qQ0u5L>rpY>(NE6vW|#0w@!w(^oFLE8a^;5 z>|_)#jAb-7H8et$U*081a87lLUj`QFNYrICRr5875C#cL*coF%G(%U1=2~?AL{nOG zYb7SxL`%n(8jO}HnD1mHNDs41E+z*%_#<}7#pEJACtvdO?UWw1N75LEpf3lLn}n7= z7LlnxVw*h{v6ECxMsO@@Ckb2zLib z#bR~~htPKGm@Iwx8Dd*+yM;r!=(R@_q{T1xh=a8F)y^)x? z3y4tU+bti`B3~x|m`w69ndD1Q!noG`@-zxdH^?P4*zwL@s9ftV~BF*}nYU;HEeG$xB9_XE0%_?7_9%k1)Wcp~AT9RWD-5Ki9}JOp7$W^(h}b_w^vQG?8!q}}+Kkzw zVk|aX`hiS)v0y7B(_T!by_igUF?&SBun>FgQ4wjew@~aT6g%wEG8VI2T!dnW-J&8b z^{`u1q=nyZQIVE<*ez-dn-beTc8iL%*kQM*NK5<3N*a@uG-kJ`C>KB4t!FGpR;nCX zsd8kc%CT2Y7|zzd9Px9G_&G=XoFjhD5kKdMpL4{|IpXIW@pFzWS2?m=E|y9GvQ?H?{H`tX?b=Wy9<4bQ`s zYCR_Pj`+)a7_0_~rly9Ot&P5)qeJ59e!7V_$&!`d(a+-TpyUj(Id#=j0-8LVGr6Iq z#>QG3tAyI_;;~t_LnbONj@sRPENXZ22yIhEr7BUWN>r*ImEC<*nkFhu6BQRlrHP`_ zL{Vv?s5DVjnkXtw6qP25N)tt;iK4^f8RC+vdaRtb%F^GW(%+)?NPy=HVzjhhRN5~p z?H848M^v^QQQ3AxW&A~D{6!0LyWrxxsWvec%VkSzllZQ{4zp;1?KV*vmQj0hg3s(U zAGJ4@xG=ZPAGJ3cNZa8REwIBgT41|F)ZT1j^|Qk(D#JV~!#rwlHc@W7VN`~FRQA+S z8U9gwV+1;JL!q>Bp>!i0a)O>!6z^=i(d4?6&Q+9eoejda{#7(&UuIhuE6UrK$-T@r zi#;JjztmHvp{PtlQJHq4GVMfV_(WyeiOMjF$}|&|X(lSuOjM?ms7xnOnNFfI-9%;h zMeT_<7PTi{gyL_RcB1ygi}te9SJa+xk(Tx?5&KJouf(=fj%;({vP{Hfd5FvM5SK9( zmoXKWu@RTC5tlI$moX8SF;O5J_yU;@3uGEBkPUr-Oos)s;V+QsvOu<31+vYG%b1GG zn2O7oip!Xa%b1GGv=^6YFD}C-F2g1+!zM1nCN5(-9!z^OjN&qU;xc^VGJN7PPU5nB z#br5*%P@`0xQWX+ipzM3%Xo>)c!|q+iOYD2%iI;0c8bfK6_+{1lWl@$Z-B6i%ISbf zqpqQHn%_S?**0YjHaTKtNh+ON&JUJuCbuQ9&k?`cK;K>=l zlQV(bLV(UrUY?u@YVz=!5JvkeAdG^*puAgCt*ehoSPtFW-os4qn-f~9q{U%lV#kK<-wD!k0)CmPnHJ{%R>wA5oAsEFzxwi z*=l*Rta~yodNSR4GOc;C+^6g|M54Mn&$xLoJ<`poM&yDdaZ9liLt^poN)2?2_9BPi_}H zxm}P4M=?)s7v#Ya(lY+#cEOX|1y61lJh@%)(SHktW1VXn8m1*CH_Y&fI{GiQa6S)6T=))gEAw*g z-@FLN^P>LWeEu8vbK)^S9{2y+e9w>jPA-;9Uxa>VKZwA+>iLn5msK}4 z4B}hgG+fx*2p(|xk#zs@nIG*qrJ=P+Vz^VVbj`K1ES>)}%|`uaYL>9RRs{O%OjLFp zQQ0I#Wv3C96+S8}epGHHqjK9Bm7PgM#&tx-Z$!p#M8ZuKPM&L+!pse6A2Ff zcEyRvrA4$@9(@+eqtIfz!s9$zs7IZtYcFxeV0v+Irf%_jVN@Q`NAq$rrcK3z&w74j zP+Qq)dTTR3Kj0?@o$3>f4b3fhCQwrynrL6;YxM*FQ*3JQUOKGpQ*8fnY%Q(D=e?FW z7rAfadx^U_6-3{i+hO{5$GN-qeuDJndq4SZB&YEv?DMpgmNMP`R6dQ*Lr>uUP5AwF ze3P;J*YC=ikK>_kHoi~BhP|J$uDzd$t_{%D8*(JQkM4(Tx&ogOyC0wRDyQ2!{M@Nv zeI1^+VUn`KNt#$zTpkXOUQ6j`k4}cpIlnBK+cVj}ykbgt!Njtp?w5EX4PUEVS(!Px zXYbxgDo;{jX3=VVDzLDkAUmnDlHrOe*-4$1**mj$cG6^ps~$Doj-rCX701}>i(*8VR2<~GE`jF zJ8AlrPq?5A#61_3g_GmQBWqZB&u}uIWBKLf;Z>Fz7WGG#q{7Jvmq(a#{rIvlys;n= zPNt79t3Xbe%hEZP$FaPMo)zWg@1kaMJ0QK%F`ijxS4g$Sg>vWfq_Xz*3Q& z4EgScC&E>$I!rDIb0Jr^r!}AdCPNj)l}UF%Zxj}W7lao;*Q$uy4<0(ZtYUo6#Dwy) z%<|sl;pDJ$%23vm{UWAhCp%;%I~ERHjgNx*UQa_Zvmg`QC9@!r)RU(qRV55bb{LSI z?3fj1YrCLY4owCL>>XB7&LkB@zP0IDt2=g~!s3Dfz4vvTPFeeRqzo%X4TK4WsCq@X zctK`@8`XC<_2dRghI_)uz)Cc2W}?Wd=zI|NWM6QBd0*91nYwWQ&n$Sfa|V7k0Zr61 zvv>IbbmGIZR%uM^ZsS0eheu%2Z-ix3q!D9}k4(J^P@CcSkjk8kn6t zI%}2Uum@bu;W1gO42Q>Nt#UZ*nYGI0uvgZq5QoQQt?Izx@mZ_VI6NV1RYwj7X2Bu0 z319`Bof#gKR2TAq$xdda6n5WNc&RPSPANQbUtyCi3};dDuz?4yD(dxXTU)N`0afgc zDu!WNA5@XUOjMD>zNjLH{ZK^?Pec_tJPB3gus^EE;mN2XhXYVW4hLn0hx)^5a8|e? z*`p$isZUjK&qyFl4&t60$x03$m>i5z8O4AYfqvWWu*^*4XY%xZND6ey>|`ux=v7@h z6?4B!MhC2N)ltP|m>Rhub5cBXFq+(~u;*LuL7J6Q{Qb!Sb5Oh1az1rmL;SDk^vwKK zx$39^yV=?6OClup93AsB@xwY0))otmhOadLmv?j)~$xo&-$8LXcUK$nTj64JD{20$&T{wW9=v z@Z222Y=ZW1(dV#~9AF6~CV1ImBMkn^l-i~X{bgw2i!dy3PZVEd4uzXe+gFrK$E*?# zmt>A$rQC|A2W5U`tf!MyS~e&=6e~MhuWcrT?rVxqclISR9qrwmLb2$%weMOn#H2QEPO<36?kgZ*H(p+N^FBQUYpuQGSz6RqbH z*r^rRs&jYF#7G;2!DlN}lC>%wiw^gGzvutgy7Y+lI@o`w7qh>4DjS-a-?Mj0f9YK= zc8T&Cg3d0F@^8Y)Dr3^6S7h?QqOiZ7(#*!hUrybG94ao!}R^J5n>ogcf1 z>HOHmtg{$o6|9pZ3D(Jx$*hwjl}s}dkt(L)NHx=NWD3)8WU6mh5n?sIT^y_R?c&%a zzFi!f=G(=wI^QmiP515MSiNr-#~R?{q5B%J(N86Zq2N**9gb)dJDtgr1xPhxxkZ#| zT5ObQT74QWV44|VK5d`WnSRRWm}R5PG22F&{4&Tn&5FF-MwwuajWWR%pgnz`yes{b zFYiY-%H(rxl*z9G=jm47)i%lm*Vrf%%meKi`{Z5gr+j(W*(j4=Z=*~;ADm}cc{kW7 z6D+V%CirpI>Q4R^HyP@=+R>&MrzfmsZH)6T7 z$G^r^)S=*UYQFf)Q%?@j08S0-a=AMtZ9-Z>DAJ)PJ|HTYSL?>mq|lkp5ckB8pV_(K znG@)k_1)HYU7s~SDnOJPvR%%lrwC8WvNez0{%Cw%au+|T4`EQDAwWlv{07;Yt`Oslg>}D ztQRFi7d`4$g{Y_~y`^OeKB?JIgO?G*{2mEjDG8qzjtgpyZDyM-zQHM`!`Z7~8Q-!u=?-K~}XnqtQm8?CaKED2_pPG)_ z*x84)hU*O@vg`1=Bi9A5zNQCxO?XeVI(vFz7V^FCW!JKw@_gcK-0R}TrM9KodZ>14 zJ>HYd#s^LDFvfqqQ}XL8o2v1acJ{378vhQBD-%h_Yn6Cc1TT*w*_Ozz#T(|VI+ETz zd-~*tIzL)kS~46ZQyQ2xeI{rcW;Xl!@v`~k+Pd17*?vi&A-fruL5*BPyeVGY$ghF2 zE$Mix6&|XCDA?G#&&EmVSo9*{`qt@_xi3tu54SYn1<-JIP8Qsr9mDQ1CmNpBTvI!x zB^((P^TM+w9v&8s=A0T90eGd9Ke8NfV-p^WX2&2TXUIP8eXN5#W{w<$IXBV{NBqz% z(d^uucDN47if*?arqi!+0oqebgU-+_lNy| DKX?{b literal 0 HcmV?d00001 diff --git a/fontgen/fontgen.c b/fontgen/fontgen.c new file mode 100644 index 0000000..02ec470 --- /dev/null +++ b/fontgen/fontgen.c @@ -0,0 +1,224 @@ +#include +#include +#include +#include +#include FT_FREETYPE_H +#include +#include +#include + +#define N_CHARS 128 + +#define round_up_26_6(val) (((val) + 63) >> 6u) + +int max_advance; +int max_top = -9999; +int min_bottom = 9999; +int line_height; +int baseline_offset; + +typedef struct { + int width; + int height; + int top; + int left; + uint8_t * bitmap; +} char_info_t; + +static char_info_t char_infos[N_CHARS]; + +static void load_char(FT_Face face, int char_code) +{ + if (FT_Load_Char(face, char_code, FT_LOAD_RENDER) != 0) + { + return; + } + int advance = round_up_26_6(face->glyph->advance.x); + if (advance > max_advance) + { + max_advance = advance; + } + if ((face->glyph->bitmap.width == 0) || + (face->glyph->bitmap.rows == 0)) + { + return; + } + char_infos[char_code].width = face->glyph->bitmap.width; + char_infos[char_code].height = face->glyph->bitmap.rows; + char_infos[char_code].top = face->glyph->bitmap_top; + if (char_infos[char_code].top > max_top) + { + max_top = char_infos[char_code].top; + } + int bottom = char_infos[char_code].top - char_infos[char_code].height; + if (bottom < min_bottom) + { + min_bottom = bottom; + } + char_infos[char_code].left = face->glyph->bitmap_left; + char_infos[char_code].bitmap = malloc(char_infos[char_code].width * char_infos[char_code].height); + memcpy(char_infos[char_code].bitmap, + face->glyph->bitmap.buffer, + char_infos[char_code].width * char_infos[char_code].height); +} + +static const char * bare_header_name(const char * h_file_name) +{ + const char * p = rindex(h_file_name, '/'); + if (p == NULL) + { + p = h_file_name; + } + else + { + p++; + } + return p; +} + +static char * include_guard_name(const char * h_file_name) +{ + const char * p = bare_header_name(h_file_name); + char * guard_name = malloc(strlen(p) + 1); + strcpy(guard_name, p); + char * m = guard_name; + while (*m != '\0') + { + if ('a' <= *m && *m <= 'z') + { + *m = toupper(*m); + } + else if (('0' <= *m && *m <= '9') || ('A' <= *m && *m <= 'Z')) + { + /* no change */ + } + else + { + *m = '_'; + } + m++; + } + return guard_name; +} + +static void generate_bytes(FILE * file, const uint8_t * bytes, int count) +{ + for (int i = 0; i < count; i++) + { + if (i % 8 == 0) + { + fprintf(file, " "); + } + fprintf(file, "0x%02xu,", bytes[i]); + if ((i + 1) % 8 == 0) + { + fprintf(file, "\n"); + } + else if (i < (count - 1)) + { + fprintf(file, " "); + } + } + if (count % 8 != 0) + { + fprintf(file, "\n"); + } +} + +static void generate(const char * c_file_name) +{ + char * h_file_name = malloc(strlen(c_file_name) + 1); + strcpy(h_file_name, c_file_name); + h_file_name[strlen(h_file_name) - 1] = 'h'; + char * guard = include_guard_name(h_file_name); + + FILE * h_file = fopen(h_file_name, "wb"); + fprintf(h_file, "#ifndef %s\n", guard); + fprintf(h_file, "#define %s\n\n", guard); + fprintf(h_file, "#include \n"); + fprintf(h_file, "typedef struct {\n int width;\n int height;\n int top;\n int left;\n const uint8_t * bitmap;\n} fontgen_char_info_t;\n"); + fprintf(h_file, "typedef struct {\n int line_height;\n int advance;\n int baseline_offset;\n const fontgen_char_info_t ** char_infos;\n} fontgen_font_t;\n"); + fprintf(h_file, "extern const fontgen_font_t kfont;\n"); + fprintf(h_file, "#endif\n"); + fclose(h_file); + + FILE * c_file = fopen(c_file_name, "wb"); + fprintf(c_file, "#include \"%s\"\n", bare_header_name(h_file_name)); + fprintf(c_file, "#include \n"); + for (int i = 0; i < N_CHARS; i++) + { + if (char_infos[i].width > 0) + { + fprintf(c_file, "static const uint8_t char_bitmap_%d[] = {\n", i); + generate_bytes(c_file, char_infos[i].bitmap, char_infos[i].width * char_infos[i].height); + fprintf(c_file, "};\n"); + } + fprintf(c_file, "static const fontgen_char_info_t char_%d = {\n", i); + fprintf(c_file, " %d,\n", char_infos[i].width); + fprintf(c_file, " %d,\n", char_infos[i].height); + fprintf(c_file, " %d,\n", char_infos[i].top); + fprintf(c_file, " %d,\n", char_infos[i].left); + if (char_infos[i].width > 0) + { + fprintf(c_file, " char_bitmap_%d,\n", i); + } + else + { + fprintf(c_file, " NULL,\n"); + } + fprintf(c_file, "};\n\n"); + } + fprintf(c_file, "const fontgen_char_info_t * char_infos[] = {\n"); + for (int i = 0; i < N_CHARS; i++) + { + fprintf(c_file, " &char_%d,\n", i); + } + fprintf(c_file, "};\n"); + fprintf(c_file, "const fontgen_font_t kfont = {\n"); + fprintf(c_file, " %d,\n", line_height); + fprintf(c_file, " %d,\n", max_advance); + fprintf(c_file, " %d,\n", baseline_offset); + fprintf(c_file, " char_infos,\n"); + fprintf(c_file, "};\n"); + fclose(c_file); +} + +int main(int argc, char * argv[]) +{ + /* Expect: font file, size, out file */ + if (argc != 4) + { + fprintf(stderr, "Incorrect arguments\n"); + return 1; + } + const char * font_file = argv[1]; + int size = atoi(argv[2]); + const char * out_file = argv[3]; + + FT_Library ft_library; + if (FT_Init_FreeType(&ft_library) != 0) + { + fprintf(stderr, "Could not initialize freetype\n"); + return 2; + } + + FT_Face face; + if (FT_New_Face(ft_library, font_file, 0, &face) != 0) + { + fprintf(stderr, "Could not open %s\n", font_file); + return 3; + } + + FT_Set_Pixel_Sizes(face, 0, size); + + for (int i = 0; i < N_CHARS; i++) + { + load_char(face, i); + } + line_height = round_up_26_6(face->size->metrics.height); + baseline_offset = (line_height - (max_top - min_bottom)) / 2 - min_bottom; + + generate(out_file); + + return 0; +}