From f7b0ec9230f61e88d19962adc1a5a17427851f86 Mon Sep 17 00:00:00 2001 From: dev <4052466+mattvr@users.noreply.github.com> Date: Wed, 21 Feb 2024 17:28:31 -0800 Subject: [PATCH] init --- .gitignore | 15 ++ README.md | 55 ++++++ etc/dgen.svg | 20 ++ etc/md.png | Bin 0 -> 209850 bytes etc/ts.png | Bin 0 -> 241659 bytes examples/README.md | 10 + examples/input/basic.vto | 4 + examples/input/data.jsonc | 29 +++ examples/input/data.vto | 30 +++ examples/input/markdown.jsonc | 14 ++ examples/input/markdown.vto | 5 + examples/input/processor.ts | 12 ++ examples/input/processor.vto | 7 + examples/output/basic.ts | 4 + examples/output/data.ts | 37 ++++ examples/output/markdown.md | 13 ++ examples/output/processor.md | 7 + mod.ts | 305 +++++++++++++++++++++++++++++ scripts/clean-examples.sh | 3 + scripts/dev.sh | 3 + scripts/install.sh | 3 + scripts/run-example-basic-alias.sh | 4 + scripts/run-example-basic.sh | 4 + scripts/run-example-data.sh | 4 + scripts/run-example-markdown.sh | 4 + scripts/run-example-processor.sh | 4 + 26 files changed, 596 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 etc/dgen.svg create mode 100644 etc/md.png create mode 100644 etc/ts.png create mode 100644 examples/README.md create mode 100644 examples/input/basic.vto create mode 100644 examples/input/data.jsonc create mode 100644 examples/input/data.vto create mode 100644 examples/input/markdown.jsonc create mode 100644 examples/input/markdown.vto create mode 100644 examples/input/processor.ts create mode 100644 examples/input/processor.vto create mode 100644 examples/output/basic.ts create mode 100644 examples/output/data.ts create mode 100644 examples/output/markdown.md create mode 100644 examples/output/processor.md create mode 100644 mod.ts create mode 100755 scripts/clean-examples.sh create mode 100755 scripts/dev.sh create mode 100755 scripts/install.sh create mode 100755 scripts/run-example-basic-alias.sh create mode 100755 scripts/run-example-basic.sh create mode 100755 scripts/run-example-data.sh create mode 100755 scripts/run-example-markdown.sh create mode 100755 scripts/run-example-processor.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fc3ee64 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +* +!.gitignore +!etc +!examples +!examples/** +!templates +!scripts +!**/*.ts +!**/*.md +!**/*.svg +!**/*.png +!**/*.json +!**/*.jsonc +!**/*.sh +!**/*.vto \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..fd41904 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +
+Turn data into generated code and text files.
+ +--- + +`dgen` takes a template file, plus some data or executable code, and then generates a new file from it. + +It simplifies going from structured data to code – and can be used to generate and format TypeScript, HTML, Markdown, JSON, blog posts, or **any** other type of text file. + +This can be used as a command line utility, or as a module in your own codebase +via its exported `codegen` function. + +## Examples + + + + +Generate Markdown, Typescript, and much more. Check out the full [examples](examples/). + +## Setup + +[Install Deno](https://docs.deno.com/runtime/manual) and ensure it is in your +path. + +Then, run: `deno install -frA --name=dgen mod.ts` + +This will install `dgen` as a command line utility. + +## Usage + +A template is required, and ideally a data file or some TypeScript code to +return data. + +Templates must be [vento (.vto) files](https://github.com/oscarotero/vento). + + +```sh +# Use with input file, data, and output. +dgen --in=myCodegenTemplate.vto --data=myCodegenData.json --out=myCodegenFile.ts + +# Use with input file, data, output, plus additional processor step. +dgen --in=myCodegenTemplate.vto --data=myCodegenData.json --processor=myTransformationStep.ts --out=myCodegenFile.ts +``` + +### Command Line Arguments + +| Option | Description | Example Usage | +| ------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | +| `--in` | Path to the template file (vento .vto template), required | `--in1)?{@#*X}e~mQkzJU>@dC9)xaBCbX)nwh*n>U_!}={m~ouHvTHD zn;r_OV_47m0Kc8KqJ2U8->rif;5rHS*&$l9N`p`~#Yp|LEtJoiRL!WDS?1e2ffUzm zX*I^H;x#xCcZDFPVULD-ACzKYTDgrcC=$yaS&pqnoG975x7BGnGsEyM7tSJ?!b4S1 z$+-&8o|d9ITZbsuN&5^Za}_|5XU2Djfp87)1=T=M}7689xZPM0)F(N;29T;Y+LA1+Uacb56V}x&W?#@){%j2Vn{`m8$GmS%c>ZG`xFjQ*zt2uw~e#P3+ z?QoZF)3FU_W)J7=ZP$_Bi&~!1+-4h3%R@7J8?Fgr!g%I`)A@oCIr+ z#c=3nE$`ZCCXPsLsPK1-OEh}d962WHo_I$cEHkH$UYp<_&d!`S4dZkol4jxiJ)AZD zF8xLV4JhgT9nvn*Ue8N$w*ySLi#sMC8ZI;_H>}K@gf{I@h8_I}eExs!@w=hs3)Uvw z<>T?Q1hG11fO|@pUqilYnc&CuS_#?sv96m!xtJ|K1(z3f5i%EFi#ZUJ{i5h56S9{0 z^(--%N6M2XZ5J>*WD1%K4jd<#5EXm3(5TvQG&S-Cu H?B4Cex-y z78O*B%>C1>aP##U O02fm8H>A#xNAhiwYAZ*?)LV7- zlI+uYC8;W?d193z7pyK)CR_OmsZ )mVe>ZBs%xWSa>5s z3D8l8Zo@c6Jv6_lQaHoCAW9rpDR5r;8kRCU*c(H1K2#)j$l~j$Vj2Nwsqw!J%w5;C z65SUs;f_*JClp$qdTp+7ldw6oq>M&4!V5ih) 9x Uk>p&? zvrvrZ_bQ*Amn%Sj#y&^E9Ap>b=glLV=n8d9mH0BwuY-|FXhP+*oCj{9ws*Icn#)*p zk1gE@Hoo@C`hs#vw{TD#=^4?#)}_h8KbkzM+yb1gy_Z~Cv)B|- J)IJ^py>6B9V>8pSF< zongiE={X(O?eMdEzI$q3)yh873RgM}I3?4ITIe$){vPy?cWdx}d^m$8|7~LP4oSz( zUQQjEkPEfk5A;7BzYp<3=0ZMwR%}j~^jJsm%pELDtJTQ=O0f@pzg||G-LiI^2-5){ zhg+0(k5_kPH5}^q8F8w>#zmAqZ3sNWiwD1gu#I`PAW#%>E3d^iEbFbSq8nO6ekX`j zGlcuv-o_L}!QEEcptC8ZZ5>s~P*G6tDhi+GKBz-S+NfKNzjuH7$*DlEmNe7)!rv3H z;CLFagFx6>`TrP~|JQ*hK5!N;6`VW$r+bU!xL;gN8?N$Ef7(hg$`DXz98=4_Vl` zfwtHV|B}8&%{s=>G|7J1E_ erKw z1LCbw$M02FJXSjn-nmMXZ1)i^=zH6dpfOsw=V6{y0HxL|$0pL+tJSU_D0)QvFkO0m zl(co*Y;2cHwXS NLg?_Uy<-)-LFYO_8So+&}Zw6n>qcVBxpH9_#G;Orz2{Agv9WYi#;5 zkYKs3h%SbM*v=h?A8yY^UzgFc`}Vas9i}qm&>f6Ia%#xYBbtKdW$@ai1$ U+ Q(#4T)_@dxoPD8)kQEGEXlSq@0I4 zP8vQ*nG0C0mNzFe>vp$0j#vD7h91S24=Us^fwQ)iO9UYr3 hnr{vA|g1Z>s#FRw)}zG|Y3c7tOS1wV`i3(zp0qBs_Fy2VWXh3|@P zE ucBDy-?c=i@+nL3ZtQ9|2mcBTtiC`cs>*uVe>oj)NUI z53G1ylvcOjA3npx>U^k>=b8g~Q5QSUjT;b*yw|~xF%awu8B}KY!x^)J#D9)>wsp=O z+?5r181Gti>dSRy{<(U}Jlw{&Iwzm42mRCAtbs6dV#1bmd@9dzdR!pzaBpE;*}Lb^ zjHqV#REqVoH{4V*9*-aB7B{R+_*C`{qa$m{S?A>Ej 2RWrEqO|Z_#f?eE#EC6Pn-C)P8|5lvT>Z9*v%G@{UlMnkr-~oJ1j5 zoIyrXeFy$d_)Jq#If)(!pT&IqS|i`n{cdnKr#rlI6rN|wm)pMP?+kq7G5)-}bT@zt z@Z{IL-v!{|GJ{TTkSCke!>7Ki<$&xU; uxgtn3y!KEbHkT3hL`QYQloPV~I4!7HSw!KQ};fK@a3pJoq_xO)f zp&*Yy->1HP0J(2ka*`gYIxwsS*>~q-c2|@3P)AIsYx0|M`kj)iQ`GoW-JgU>k{9 Qg9;hNryI8 yM995JG~q0Y|^7lxW`FP;~f-HO_QZc)2ThcUTf2 z)B}+eb`^Oq_L!oDj6`QQn$G06JK7DIpzhmn@5sbLZ<(cN#l9A=vr;J~b>h=n)9mzY zz6&YDQR3dd&Fu~G7WXP>#A=yid^BXMfbOwB{l%B&!6P$QK8*y@@3lyRwq`Sww u93hv0w)%cv+~;>0VnT_IdFHD_txUt2Gi zz-RRA#=g&qlEqi?=@OvHxc!lJPs6DZ+~1Btoh3_rDA|2 #^A>EJcruAz+y%3qw3K4XJ#0~3ZE zmXefeoxHu37pM~en8#TL(zbeAn}4ocHs!_{sr%oibS+d@{bAmH3CqOHX8AA84dwQl z_K9yx{2dWlp4Q8~-GpvM&y&{n>jWMW=UvkQ76o7Z)Y6KkPMnCsoWm+>9;7)$3x3zH z85Fvf?JsWmPrx$Kj@+64ZZ TW)(4OvMrw!nQ)3(fOJ@NPBg?ai zHC%6BPsygtYstj37`WpaARtCJ=7%l?61Pq?Mxf!8@5*u*N9+T1+gDjicMWrr`}xfI zZl8M3mQ%k-bIi F}|xfx+`^yDy4{BbPa} z0!N= -LEt zf?s9^KK#_$*Y6p0N~0#G^HVq51O-Wf3q#H|S8jHzsa&pr*jR#9tPgG2Sh7xNUSdtV z4w6x83cE~4 wJmDy*KL1qnOtN?9EWdo1P=JbS1W_C5SyH=_o*TtMo{C7q}#Q)ZM;NzGFREIHh* z+J@hr@-@UfallHWE#lE1>;1fl7F#s1zb|{v)jKc`^l-* o3t2yx%RlJpE921aQ{3o&_}SB{_J#lDA+SLJ{n~>e`!J3j3~RQS%!vI=(Bq+? z8jaRZX%~BWhyeV!^i|r08gfDY+ c^pezSNM4 v@p<-Q-X+4`wvL@+x;^uRuYf`_?xt#c;67?L(^CzcW2LxWI0_%<~HI&^e z#Mju%E|HRSo((hji}D7F=O7AcKHLj59( tBl NJoS 6VHp)TqGdX@>O1=M^hbTAm&Q2MLCG|aF!GCp}IKu>*Nn=7>iV1{7$ zaiuo75Kg5S8+Vww&cJwA?Q#QQ8!P!1DFAG+_OcRdV;`xfQhJ~%mf>3zLJEGLQ()4{ zoiMk#@3$!p(>uD)rA4#)6q(T1KWm<3zXFpKz~* iFF()zLSKo}K8dx+2qF9~`38kD{_N9&-FHtzwg*LFx2g z3M@z0*kT=O{A=1WU=vu>V%Op@@j1mE_4+qCqYsI4ka-*b>zXj2^;b%Ru$YLCdG8C( zu#45p`RE8ytj<`w%Mc0LuAb7g76JNMm=WogEBs72Wm6cE_j=Bvm#v+n<3koj8;Q^o zvO7!LY^arCU)oM^??TQ`O)f=-cblo!@`h~Cc~x^>wsAfwLono$;4+1?G;-K3XG^q3 z5p{V0D6F;EwlL>QCL!sSdcAqJ-zAwfB3}>o9G>>-9jRv67Lxp)uXS$&!I)rv8W|Zm zCWxgTtz2(%Ykb40S}oBlgl&kKh;VQ98C#=|I`+Q8weA`I`K_Yx$8$n>)96z&{bK9p z$xOabL)+r)1Bz(io^r=MdSM*|)26loQ}n-mWD%8jrF_wRu07dghw(CV?P!f%rSnPr zuN!3AFP&9(t&_KUnxSz|*?3sKXsztw8s}=f7CFGzHs{b&5}O{q-Zh2_3E#_BzvB4v z*za5Eb 0l1DsVrmn0*?U+^h9E zZ!?(Izzj4 IjJ2CMWBh@y_sA7vUfjd2eli% zm%m7heAE6rxbW>i0~g3K!`+7|K62qCefgf2Q-+1zwaOr$9u3g @_*ZtsO@fc_GRH;dfc?R$8_t14VLFadthZhBF2j623=3d3XtT)3 z&x2zIyIBCA7d6~x!7CVhMmBgs`YKx4H4#CXC}S^V!j-J%WUMF5!irBqxollTN(1m+ zO5F{lkBPE(AQbP@Gzx;~n_i(nOsfa5n9HZzS2VMeFm0}5EX8W}EJ@05QRKP`;Ax6? zd~#N7L^9OZd^M~GU4cC&hX~b1bNIPN79i3{Hg45=5n(ENm>Ro7(U$a)( Y{c`cl1<=$m3t?OyG*5w{J9bR)eTxb}^4-Lu^2}Do$-wwUg zi1{#BU4qVEJBm%nI9`DzA;GR0_@|2I(CSGmka@>6zQgvBK0*Z3`>FBA&rj2L`y$7F zJ#BS&yaJFw(ww|S4lUzWs&3ua#GMu=6XHZ3wPl5VIs710nF?~l0W}<+qVT%kgf=fI zwDDR1(@5 hsCE*aY| z=-9Jz+&cL`P` YsiD1qB_1OYSm}ZF3xDy+fx;+xi5;-^tb{` z7$zp2#r}z1E| xVgg6p!CnVsNt6%UmyN!QHb6w9SHNWd3 z#E8aH{kBgQ^}{OYTwDxTxk7A?LfQrewqREBu?L8b?9PeE2_5{>2 H)?h<22dPTrk|aK4)hVMn5nqa?abYB}##Gg970>0^x4(26Tl~ z(tP=@-EJhg%lwY}ayP#V)PQjTX_vcoMv{tRNSVq)3r?Z5#l@Wl{h%(1PC`+5=UMF% zgmhC1?#Pt>UilzW5R*7vi?mzaH{9P(4KVVvLU;RUdhJ)YtO9_psFv%ivd5b*dkytp zSXZHI%fFQ)Y_Y7HmFBB{pnJN9dt>z%m(W;-@bOc*9hCc|OE7NlFv&5;agr`g3cf=l z6M0(-sXLMff#o&6WvyU+eKj2IL56MGR{T #jYe50sK`B9V4`Bps-A zz-jeTNTeufBu6MbOl}9e>EV9mED{+C;% >O*$ zK9UX!)s#kq7{W%unmh=(&$^8PVSK89|L7$jJe!Kpqm4i* o|$+QW}&ABGj=>J7|Jm z8$4`bv=MeSPXm|3A2ftPAjCUvk)my6E`MNe7niE_qt^Q8M{=1x)hIOk^rU1;69C@{ z)`0uy9z~%S5Cb+0iri9&Cwq8x6Ly?=4>%8(@}?FUdP~5%e2|Z36(1EnYL!W)P|8n0 z8jMOR+*=9YxjV>Ue7E_)h}vL?Q&lmpk&?dw(~!kq78bmf9B+GClGH*`^gv|Ly7=B~ zFa6NJrvp52(|k^;pL8(j>zB6qcR-IuL-~`)akHEnOE_} uF@8jJaY6dyK}~ceo1jLxt11WqX{H$-U-js_|4@_3*89+D?~G^K`+I z``6I@lJL#N)mx@_yN3sLd{5r!0mAv8(}ef`Ex|yI>tWe#ar+^k|Kv>C6l*Ie$#m^V z!uq;VFNs!ez*cV+hGLVbo0+p2s>uR{In*x5S9xVZ<$-a_;e&&oL2JJGQQd%^5_#7G zRNa~oeZ(whQ`ii06k0cL7+S-!U~%eZ$8N~0b?HU(g+rW_zRtaGW(zik8SEJQE?#!m zvpBa+43#kKRL$1)Fj;b*bdY8x4x(>LP9$}Z+)297%833lDUgX_)+O;u(~ EOKFJ?3Aes&)8qcd>#xOHxYJnO?&-BY~wi7-& @!P@ z;P~ExA2nYOFk}ezMx2 +9$xltr~EbTHjpm2 z=8-!0@q*pk*xhkvKW jeriM!*bd&0b3hm65tc2us(7I-n&ehik?d{u>!D)w0TqCxSO0Slx5V8QCuU z>FsUx`7m}AbFC|)YByCv81<(4SK#t2b}DKL3;*%sqhqgQjejd=`rUnU^0v9!8Jr;i z+g{TtgdE%W_9^n2^+Nqk)12!odXaf_slRmad~=^V>I7;_b@TFmfO3zw;(^_NWCBd= z<3CcX<`$4xtdMMoG%FQ*XQH0oawOs3MEyB!4ytn*X_4iyUJsQGriuP71R3{#_C;Bo zaNs0sr?A^V3NDQ-RjDAjVj0>e$^^Hz{PzCYCpPc(t9rYfI{5Rum(7NvHi*7R$_Rm8ORVO4UNffpui)pi)ZewI&!YvAX`1h zy|;1&i$6)n YORTbSF4ZaK$GEIVdn|<~kvKqsVIJG0NiP z)KP9Ty4~@;?yHlAGby9@YCn?|;zzPi1a2zu)ka(!e>k}HOh0qlR^fpB6{qujYJc47 z=yPGElXbJ*H@RS(fV3SZdBJ+24HDkp?6{e#tRto;e$(ii_}ACQaGwpcocl&9cG=r0 z^UAne>nIpCdB0d`q!~ob*c2s2`GsLuJxzAnb<^jq9Mp!ax0giQtYy`76x`yId`6vm zMHdcR_UkHv&EE!Q18a0*TyLKt&%IlWZ7U36n@ClW@cMxEzMUGCvn8+;g5eOy__@gy z89bUT#3twbso2E@$Sz%L8kw-RqB`5(PV^4TgT_P@jm<`cS)ILxCJy?eCjG)dg(&L2 z_u?+1ENL3j5`TCDvYMOEHnPZ05F0WGz;!(HpORS$S*9k>_smrHx+S?qxWxmK_oNV@ zqV1)+a4Id^x4vB09k F4=&^FkRs|Dj^CqIh_Publg{X%CN`swFMAR(#9zB@Yar_>}-XIXk=-YHj`J z$8rz)GogL~B0kSLuv^xkYRd^z afVLG_jNU7t%MuxPK7EoE$FR6&%^7(CfNU z3pYu@UpWQUp7c67{jX&EuU2Bc_`~$?D_L7xX_KXK;zbj63hHYwty!)NzgZJkI6VLs zN$-aGQRRoeM{NzJyaoy;8e8ZW=yaOK{;G%i#B1 *pfLWk^!)!pnZ-rjt$e73Uj?A8f!Y@$n?Jpu!qbkFP8_l8x zRddk|3eu)gpW`dSwYm3QI{Bk^tY#G}=Y%rAK5{__dXM*3(#cDB?8zYqG#(H2uh;Li zX*Cd_MF4Ls(Eo#?D4U#}rj1`c;HRVAcjJ{xa4*~x)1PS@xGklj7%|zGwe?4ZUymP- zy{d1ej(Hme+^5kxYz4XVWZr0xb}S1;FrR?U@%H990n?hDQEC?VhmOUU+IviQ3~~Td zc8%Ch#C|C-d3VGq=hOvk$QD!^TfHnb(xCo`mGhbF{vif&ALD`2Zqz>n9t38eR(Ovg zcAz`ggB;$xW0J@>C@R>>TMDUvP$DyWF`twFM*0N{|1$iD$eZ{Ako9>sU?v(xhNNkn z2LfRrDCxehf$>XTDs jKYmf}sMm?IzU|Ty zc_xWtHwJM!PNobA`+ECcyUpSkY`Lyt{VL;fV_!ljquxq03GM2cu;>WYsZoyHlK?pE z`H>ECXY!BH;1-oT_$T)pqoYN9o>iPFnVx(sAa $Z1e;$Jac^3O$wn5V&>3@puelQFWFFL^>`3Y6 zR7?2|3EkEBgJ4WwnK|AV1Ru32%z|QIC 4@4qUr3v<4;54?m&Ssrzb1k>+*eU52as%LY! z6xmibTB(M3pBx@UiSTOi>|=bxX8)o%b!7Y<8ui&MCn>aAKMplrMW5mb1ty{SX^)q! zsuG0+XcYm=W2-l~#Rpz|pWw2R5Cjf2d&WZ+j~&N`&PpY5Oas5-(je-t?u$+J4G-oF z==HlNJV K?UJd!k=-WZPA%uGxYm0okMzD3(tG{S@`;Bm&OJ+NHH+_Vk@^w9RnvbJEW2 zf8$8=>}F5hIZg6(nF~S2GN8J|LC;UqD!kX$!cO$FWdK4ZFYFjnd4CyLZuXPi>YVn( z@6<$w-rS>;dwZKFGc%Wdj) aUcR@q^;vnb-k>y#!0Ryn>3EuoDg^F$e*|l zUM>l&zea@&ReRx-h$N5(u0rf)S(u?^GrK+pP}PGn5>)mKaJz@3Z6@}@wlwZMc!L(~ zlEe&ob!TM?rv!fRJ(|yg8D|T@c-8>u>`ju@<(h9EIy)*)b=FU2p*g5baPYTihzJR6 zNjBvo?7Krx 3f9}}$xYJ_&Y?;NI%8w%4Hhn6IHVj=uyXIAWJBTJ~;KUh@ZS`H~{pW~9 zPUy73F)Hi2s_9x1DrHR|q}g$7cC|A!HhJiTYh^+vG+y~b2icrNhplZt@V{;L%WGr) zafEPXd1QI(Li$$n2EE{P->p*x04k@3mLw19h1S#7uqP9dYGm+ f=)BgPUTUrXFdQAe+~lVwgh(^qUiQ=q8_OhZ z=^zogTSty^n7R9bg{W9gNXSqzK+EyR$f9TirrDx=OZ5pTtTKCe?4j>Jt6p=*p4l|O ze1NjgaI0j&5gOij>*W^_p;abSXa{;QP;mT iT$}=SO!xW}J}~v@=H8Zf&vK@^%Pb8U{=^ zpUpwHB3sSE?!+=a+JtkbWm@sRCC@tob*S)koMLMS(c$T}T|kp>cnu7M*Bz2kO&%k^ z6}+GR6fXc&1`(WeX9j)Q@9Tb(!!R#)?4A(jWek6OGQC)uR`;5+mSc`$Aw or(VN%L3VAV18$V4#z^Ud`&wt9Rv(bMuwS8}p3*~(q7nwxa z{>$Zx*#|9~lE!lFEjdpmS?`v{+%=d0?Wdz^*4C*RCw-Jpg5}OLR;t%Tgvj_ip9gDN z_Q*vofko #mlp1q69Zer@_YKEmZw=VrUJby78Yz zTviBrja)+tg$u>dl3qLfoRp>5U_6x>23Nd(h07Mj=6JPin=sloQFB;Z>*vucH2*v- z4G%eHu&UYoFGt6Z=%kk`%kb2(N4wvvG$i(TGkaSbCvANGKsEBY?AY0^V~c}Q?gFRQ zxN{uve<~ABon)D1`7P4 =VuR2S-p>^bpAmRKP z J&&`S83 z*7Q6eHJ`1$=?1c2kWe@ufum)pf?$ {)>iQwT6D)m;+n;hLHL_W5bHf&{uyP{7ZaBWJ6r@!U(K*@E}k zg)i1?v(&SZzoG%WGabxs98EDnH)2t4UhwJ8yPe%4FuuTYHl^g(+d@ubLSCj>FA`VE zFKL3(sRM(zZuT283EEkR{ {5Z!||f!46a+n@z8ggqHs4hM17n zJ L@eIA?#-I z#nH_2?Gb3mr=U8n-Y~%&O1Zkg1N2*X?~fhJQ^sE`y1&K8dpyu}oz)O4-o%vv(lzmH z9ep;9uW9~T`jm#Lfjx0gvRMO!lGe1|e4Bv$qq6N|qS_~pKl$+u-#G<}cXLg5xUk;4 zfdN*^D~YXu=DmVbt#`{2k@kq3k`$ZbcUGExd@e5|Xc2bySxiDy;LzaqKOa&-A1g4G zg>yIuS&qLb<#q`dLT7ScSoZX(uX`Pd8+yLjUufc22ly$-LR`{ZY|<}6wuG4kJGD3@ z;;zqqd_3%F`poF7Vz0PQ&nMgf(#{*V*9zxP;8i<27bF4(dbOBNv1a=Z8i{DUG=jwL z;e;<&;PWOUEW2KoL!GP#Eqv=aDtCwX&Qkb@Z!=iAgo?W6&a7bagmv`hPaT`LHS+It ziV|PnZ?$CkmE9^`bH#ucA>q8D!6f<)a^FpiSt^mWrThicjgh93FG>v&jVY&f>i)Op zR^k5`zLaX})jpRtR10OWDnSs0KUMHMJVQCEKHh}W0_+JMvE~`g Y_jDr5{iYrwnV-ZyWDaN7lIXm$OzJT+&@>@@%8W 40?sz3$IW)c6qx4qYb}n z70ud1Ntq5o>yd}WPFwUZW`toU>$)L0RxAD%ZouQp=jTxtK?}mq|99w-|Ix_%a4!YW z)R|T)Z_=#v7IM&D7R0w(mGN${2go=8qQhGi>*Ry#gDD4;?FR<0AjTDkn&En`6S2{< z%ObY*x3jHNKCP!gV|Zm833(+KU2m79&&pmFU5)UNXP-@ihD&t5VR|y~!OT_jp|8(k z)R)4xtya<{T@x3srNB=7w~V&o|ETTO0O$qdlu>x}nQ>%dfw4Hj$_hF8pqKbOfo=Q> z;N&>*{B_%g@@JaqY*RA{MV}zDfb{cs*xw-2(*R9wKc{MaU;gag4?=LVWVMk;1^I%r zc3T>p!au$(IrJuN9Yczrv%H(yiS;t#H{&(v5B*FY4<+1Yble~;sARSM&FW8CzwJxm z(U=&{dL|}5;`hLA@dLV{Su7&0SnE6_aLY&Kt# eyM~K|Kx9) z7fdJ$8|N;g69(7>0QJiJm&WH(zhq4KJbzTr`{Gu-1g?9h#QUU0?+WYtpGEVcQp4qv zMh3-68mNU$=>cY46_3o*QW;K;N!I7a=h=dzl8L+$6BCLCac^&F@E}jgPr0s$X`ME_ zPi#M&as)kV6}ik}Yq|4j`mFAlcVFlt Al^uDo(r!!K=mS)qua1Qf~?c{^x+ zrX(Mwr_IhI0I>kIWZ|drhBr${o(D65Ue)nQOo9o~ujgz_(Tb)9<9{e!_p@*& ?){NcR<_ah3V9`+Fxz44q*ZCu2P<_^ z$<4G>S9@8YJ}%>#Rp(keIWRctuu;S1N_IDAdi)u3a~xn+y69WqI7qm|YP_X;>e<-B zo{-r6k4p=$>_H5hh}W*hnVdwEO1>B`l42b7;QXWADo(rgSuT;`cvt?Fus*>*1@(UZ zt2nfa{zx7_Dc&skg%$(GWIHrgiW7aKDfMBWzniFx<4^N!Qi zoX{$&t}lvf$;s x*eEA|8SgmxpH z3+1VtIYea%)}*4Jk;vA0MyT0q3Kd$Hpw|7*NTMD!&i^?}PX8rA-}=G?`wR=&-{QJ_ zb>2pE*rQ86eS>XIr;!mP>VzX<_>KP=DQ_~W$g#$*Fi+A~+-^3UN=<^e$N7}f;x4tw zO?x~&I}0JNfa-oX!86PC-IzD?Q*9FH`D*UGs{Cb?HFhW)KBa+=tCMhPTtBLrb-IQr zQyT@;OmU_EBmH{gtc2kShN|sF7I1J)jY!3W6KzX`fn;lz*Y4?TB@Q;$J$ZoGUfZyZ za=jt2TN~U4dB>0*p-7V&W1luzF94mDbuSM)ZJV`<8?MaG;`aHLKb#qszDS=LxZ@8a zj)trW?$)*v0uQMZhb_#Dz8a2}9}96zf1Yj9BeSURjEUZrga;|+QN~tWO_b09@@Kzp zg)wNHX31r7+zQRDCOJA4vJzuLx41d2 297_7)B%Mm0pF7K$7{0-6jpZi*!u4jDd4~~d1~kmZbnPy*CB#?Kd8BxyCM=; zlu^X+z6{K ft3X+3>8-+?Odh`!xS?vDIun`1+hY>(`ik z9`-fiR<|PQ7{uJ2dY&jrk%uB{>;{vnb@Yly(^&Ts) 8R;LrOHWoa|0r zfKGItt^hhLjULJRi}`sj I6tt avWOOxfq*h(`YxWb9&}W(JRJ3t_NoI;DSw@g(Rw5!W|+0o$sLs pQ!tM-csHEKWe#Fx?aNEla=>!y_8WW`b>tndyT>TSq8|_rm?Dc z&YX7tGbC<$#_at&4I3>o9tl+LCr~exGJTP!eREMU4ni9oxfRq_&i5n~mIJ)I_Xgu> z9UZhZy~`p8wZI2Q4)M<)4ONTLLvGVHLFK9+$M&UwrBw1-uzw81J8}HEyM5WsFRU7f zvCB?*A1seug#^O18!gYvG8in7;orPpA>6+#SaPSJnvuP^OdNbesZfRSbOEgwzG+D2 z*@Tah=up3%_DlCbpG@Dx2Tx5O5q#NOp-waHT9`;-OwG+FpJO+2{2wS@2%ZlC!c?0~ zW7GHP5?oq;&ArOJCJtmmH_BRN5H83DjnrL=um>ZnA;jlnUwYviPVDaXc}5_eR?(90 zl0bFT#2uN~d9m2z;*6lATMvm;R=v{VOKe~rw)pD{t6V>2F4m?-`tw_h^!6)~=h{ u`<(Nd9Uad=*?wY(3T(0F5=!)zZck0r4~9C{v58_wgLa!6V6c5X7mf# zpKk;_@G(ZS3*}Gw6EDm})(=v7#Esc<%=~c2MXw7t2Uet8lqOfeBMjz6KW9D@=Xh=V ztcStNOR`I#(~#}2 ^PA)O8}8)` 6`;>)Jxr`0%c*^rVs`c{;eW z`0j%J_OX+Rtp2jjkaOZjFxX$<7bUgb1k<)U|KcXK&5wDwXwWyO7B&`TCNDc;W@%s# zucRQGkkjhy>Ket0+|t}6KB`0%KiKx~#8gRx0mJ<>qb^HtW6grcOS7}p5P!b!;p(E< zPd{sZQ1T%7Iv{nZXEIft)c*5e)z&rNZ*-fsC)THu7XG4`aF>a47KajLqCnjCN9vQ{ zlT_B=gwvDv8tEn(v60khK)d 8TFmDEuGS~>68C;lhQ+PEtgN4h1orUr8C+*0h- z20}&TtkJJ;UR)&3uMyYQTfJvXF>VKkYWDW_lijx59OJ@!5uk6vXd5DrTd^+s!eq0j zcJ`XS ;yc^jTO#}1ddrU_=GVDRjj!#83&qNTJn4s_ zPPHOeZ(opY_B;6{xcwe%?U}JhWc=3$-83yC4WANrv|=!Q?C}hG`q-m(i(fo_>}4t_ zU+PXyl&*5`7pc5)Khav_%r_?AE04<)08aGc>si35fPSZhPLOPOYf?L5qT`D z<5Rwb2bn2AhUpSKyf;=R?e}78*nmQ2dtA { kRK(W)(JN+@E zx{ZSk;cZ2$S2|@_&OVGD0&Oh2!8bmRHeEW@ 0FLh*KQf>SEk_U1v(D_;L+ zCVz qi072#D zvK9%cGQENC{o(C#^w`d;YxJzza?!DF^C5B>bLcmiBW%%r4-Bi1&(uI}Q~EFvCcb4} zjJl8*>m?0Hh{6wRjMz>%$lQz;H<^3a7*mlCy%kufs~ICz%SLY*?iK3R6Uf{3qh?te zpAOWc{cfB|?s4FGvC`cNo*hCvK4dugbzOv6*pBJtWuOiU#QSF`VC^6$w>ol`^b$nX zgXR|mWmfqS)$uXqoMYyae@?qFR-pC0)?M5@`)|dcc6z+% 0eV#jzSICv%GEGs%3|Zvg}_?+r;pi8k!Fr zE}hT AA0MsW&5BJsI-l#Q*s1`hml+@I|t^l7?~?U)4FJ_??Oq*7@%}p}1L(r2o>XK(mVYI?^kHR1MrR41D?rd`VU^YM22V%u#3XA~I9OFVn84-@ n$r^x*$5kj zGvyl&>o+;|4U!W&oF>yGe_{Wl3dhg7dHo8z-6mkG@ZqRzFbN!NVEgXQpPZ)ckM%&S z=laQQf6RzYPkC1F$?@PL*`1TR1}=i6=KI+d&G;ewM3H{@uueF`J*rq3k=M|xmZm~& z_1<`tomM*NhgXuMzc-C7IvEkTayiOb_m(}tl2Uso4ee81yV^F9DBvT%RXg6mNOHr1 zCmbS-X^D~4k*0@9YnB$59z=`>V edF)f;JWb zwl^s|l-lxn$)o!^Wt(}q%S=;rvla9{=D~63YiFm{8hk>NL<0 mtMXG7Ek)uvl^hZw%=!aF&u*>|Z>tS+>wIN&_FTxOi|+w`QN#HOpk> zGO#)Q1p^LVl-+Fa2LmVUV%v<&4bSL%10rIBdivMCyAo(L10EA^1pbt?kUkbPoRR$` z)Wn`MeGrQMm4E3?(v^q4_gR*J7Z>8*|KVX9#MeucB_o`o;g8ujh1&jdC8O2nF*?Z# zqDghDj~Y^cmo$7Ob0jIq=a8Yk#E5GUq!oIrdn6^@M+I%CF3u=Oez;}l|0gH4DSPm5 zM0f(_9-?OD0x$5vp9>d-ummPuO~lI3B@PnMo}I=GSP0 xdje(tyXC-W)z6Owh(Ze=Ptj|FSKYpnnG9KJ7~4C<^Xz4t_zavWQa5;FB^ki zS#hDjT;DHf^c!IeK31l1ta-$`d9n8FFU8X2XA2NDr_&W065~-1FPHM&L>L{c%-nZ> zlb|DB9lnP1*U)`h=_0FScprQ6$<3U7Jv5ZQ5A>g^+=~6dAh1CDsx#U@G(Tp@_i0`5 z)Ks+n+8@8kUC>#K3J{C)fa}c}(X?476eD`^mPxLcg~F`%4vWw Z@h3jQbMAlj4v^Dbn2yP6DUO3=G9#woWMe zP)inqCQmWX5EFt_9 4NN!!;RaDR8npr3cu?nA3&l|_ag!;_KbGKNxZh;4EMlu}K5&33_}WdFIw zG4z_wS%+kd;*m8>2JF;|*+2NQoC%7Uw 5*!(ACL^^?%y-M^UNQwAWlj7 zzm&4S*KnDz{5NR-UXUT1tRp9Hqd!SUhX6@zzebpprZ2k@GdHk3S(({-yuL?T5vqjN zL 2kE?i?<-DVYbk*TUaS0 zf b5k}7+|11mJKa2_ zwc3S-lrz {Gt2Y7b1KwE9XXW5VL6oCoL>r?9 zJpn7Lqfbn$TVV#;d*>7T73pz%UBGFjiPq_A)cl;V^YR2dYtwao_^=r6h3{Jd93~N} zO-f$F?bQJ&I8fS)vtrI1+83@tU>P4uAAiYAvw{m8$TIXu{7LOs2t#DQ>ukh%e<8V5 zZYZxBJvbM_?%c;_Y+USh8i`{m6#~8r%pI|W_$6k><5*(;UbU7jyR5-JmaDD!ng43z zR|$`&(z=dQ)a5JiWc8=<8kVP$q8l-D_9WoitptJn)GbdH{HXtrq&O!r!234BdSP<% z9Z8eRO3d>_;Mgl@zxS3CGuK2>gutJ~=x28qn7X%@>&W?c$v>2iS$; eElc%3a`Sf{fdwr?#YAs-x|k{6%SZvdbb`x z9UVnfLt7mz 2E9|8Mxxway**bD*~)WuPImY9WZd_&H~1Ve@;xa!Uix&>xe z%mvRxIHWukDdy^{-{@IUfb&PY_!z?>38KujIC`K%qVcf)eDy{-@?y%P99+h7di=B( zYt1`UQ8_D{3t4;6*<7j*E^}=4pSM6LIXW-nqBdoYD}_KUhrGQQ+wMu=ddu6=wv+qO zzgtS~H}Z73I^r@bOBK{;+F5VhYA0?u<|w=#0`-ncWrbH)h(-MAER#7RY%+iE{cT z;8yE4rgohySd3DJSw=I5Cxc)snxrd3D!|u9?wSvkS>9MvX`FlG%WjZj((((XWzhDW zAh_LxLcyEM8AEC#PP~$9)=%n_M=TneSF+A{QF{OQ9txM;nf>mkq;8=P3d660>yO=U z$EXB-29UFL{4b?QdZ&71^QU#L@}>y~Ex-D~T}b2;CB}3C?PR<7%MVUFyQ^$SX6@IT zW&psBhr-;~;pVQ(>#4t4Kv}JEB3ttUWD&RD#!;${Ta&7io5J02sV?Qx`atj<`Xpq! zIJ@w5md%~}si%703O}FDusK(-u7o|=+uIe*y1;w4z6gC?7pZBJk#p^dVqfjmmaW{d ztzDC$9&TXg=`K-usHXMfNOK}ODfL|iM|vAuxxp=F41KVgoKhdEudE>@L`o}+Dj;Rg4f;x&n74%CZR`PoEzQI27S=p$}I7#K0EzNjXo@xjE0u{@JnA@tDs%EJD?mu;|Ne5HV#@u)lC`U a<4XD5s zUP1*ggD;>{U7hqF@D_h}lKOZT&p~hS lh25rr*=2&18H-dz)-xw!uL*Q(xqR?5@wxs=Ueas(&t2AQj4_+k6oX&`Oa{ZFb z=WrW2>MeYwQfs3rUM;F+Dq}+^vAuQ-)ptA`A2IfyTydxk!D?$^_BZ^E6!K6atkb%X zJLJcEpUCtv2P{A8_Ovn89O4)zy#eiY0)dQBeJuZ4b`D}{0wMgKg_oMC@E$iC>T7Tf z*lVXE`V=6(tMMA_bBoPOk^I>Tk9HFCv5?W*Xz?@S&$YA78xM>=N2^EGv$OAQYe{SH zzI~$cp%rNXMn5!7u_8Sbh&;L_o}pJ$<9guUYqr{(G|iOuwhG|B0=31@+`<#(YLTku z#zvegFf{^E-j~rd`)>W)TQ_zm?x0aJrW%YK6oNT|nNfhvFz|yh>y1YrI@A<=C@)%9 z %w_Bob)4tsSN2hbzu+AOfuK!{nbZ$0`-ejmKXN}77;HdG^A?3MiG1Y9Y@ ztG*nDXJ^=0&OI|^5@k||ql8%=*Cl~z@6(_UyE%J;j2746(@hw2J38sgZkG{qo@$l9 zwqA&^&l*+DtDKMg!2tH{R#u$gF4=pJwnE>Q?8P(`DS2%Ydm^Xz;4(8?wsO~_#K_02 zP8x~DaZ4N#?mLby5Y}<4+$`~vAaxs(*4wvX+be?60Dt&H7X6njKBTM?v7+94bN1av zd?G9@E{_f}SUiExtg&3%b|eiwDZ|rJFMW^UZ~sTRdO5`KZR?tVpteGf;f&zdp$XBc zLNW_6>XNP6vxo6X?L*cgl`W`j_aRO) aAW(xWN(lvKwW?v2zi_hJra9^j-e z &bdg!~sDu`R} zrOqs9?88RR@-F>4Y1`t42$0x0PDg5nnw%0n7%C++VboeF<6IYp7wg#N9ZAElJBV*} z-tyOJSJ#a`#|=r--^Hcjr+hbceHt{yQbMQF_23zC>wj`CKy%szJ-k5Ut %jK=z-9QK@CH%25L}_Q#Ex&LZLf8D^!FM&U zdu5vxmT8JmKS(N-3j6$)p4{_$Uy^ujvYHh%FL^uvx=$ZDOcQzUPCWYH z<|e~LP4s8K?34(3zc>1BJY(KDi@6mlDF;;WY*Zj4cH*7KpeH;TDP?x`0M%>=rUg#u z`Bo^Z#+wM2m5K6`YqQ5SY#@l`iLkwz%#TIyp)5OqSY4AOVS5>gMOo?6b*;Ojx)0X9 zTdFFysZ(opAB|p*sw&mg{Lxo ebkVj|7vzXYusOEEhg)a># zF%KoA9wwJK*WFF jqE7 z$;?p-+J728;mAgCDR~Se`L}4ABg$&`Uk5jgZM-uzQk2DC5?df@g_jnjz1%bU^nyPl z A@?hd1DcU<=Vbat^Fz3^lWD!@EgYAN!@BObb-f!lnrcEm?~PiCH_0$BffT3 zcV!fjV4NDJ%P;hBAZ^Hd)8sa-k=i~gALBJ3MfZ{oqg7q+_q+6pw|KUz8JN1X(=Tf9 zIC|U2`tA%hBi~dh+9i$-3Y(G=iSo1KtLxoedBss2e^ 4_UgxI+o&^gV0&np2g@ixSzL1F8pwXT=Ocvo3yt+##E)BD$%#FCd>JOVkJd)Cvp zz)sU)SUJmVleV6vzmRwXW#b26Of)18l{cLYj6G-7>4jdo<6bRGntz(~SxE1+Hrm5n zeX$iUMdsIAPUas!KxF6b ?o$dg zZg4f5h6hnKU^PO3MCCMOaMTV~URo?bQku*hCu>IAm<`Q5kgo7O@Es(x3utZYxb~qL zfA{ru|NFhMhw9||U_!;69{(1exVsPc- 8gFp({UANJ)Y^;awkb~H{kiS#!= zNjj)Lad_mK5WQ9DF(VC$@LEWWX7NwCIX7mXfzQH;>OsacX|#h6rYx3JjN4*^8k-%* z6~OxSd-R^!gTHgSylHP%&K+3X^D^n`lo6c=06Y2TxyjpF3For{o(=i8jiq+(a%Qi5 zpl}j7qTceRrJJ5T9Yc9m^MI>3TnG&GUU;Q3EYSS4((Fc_k4+7!J4kjcZz%XehCcUe zLeb)v$=KkxgFI )_e5p&R|7(|;QPtMF1G8^U+oN%2 z>p)f|0A`};w0{xjZa30TWo3Smj`8xM#PMg06-dxR%cB#j5`x9LBn%B=D4rQcYEeUe zX2|hCld+5Ig=&h6O)6OtiUHPn=3W#N!tr4o1!D5(`UlVaSpJKhdt)! 7g`0YO1lL}O$z6bnh5oEO@;y5hnthxRmj6jFSXg+mw> t@OIr5bq=2Y z)c%k#F<&LNG;}tf(}nm29jgXd_A1~fN*8`Dc>Ag2o9)|?$JJ)8OFxPYN*+cfM#x7s zt{iRN5;VF6h<&%rZY4fMXMX4&QXd|+j}`p=O3G1#!ojfrq2ZaP;0UFuC1Ex`C`yeG zY@($!z0q>$*|>KB_hj&!laNVdACzxP<-=-oq14s#K^^71j@*3^WuLo}N||mFo!Zw> z$=a%H@rg8zud$_K%*P5+ !llwa_l;>C}4F7OC}{e8JB|t-yjSV_Llh zb*&oT!Y|P>%a%Tv8Y%4JGjvP0FBo|9^lj(N%qP@81n}k9GegB*y_b*W7Wr)5tgGo9 zYbh@(7m{xfurWFRjOvagg^5PJ53VrCH=2z rJ8X} mRZ}?GJvs@yY?|SFvUf3pqxy>VHgA7QTc&Bu z&jV{P9Zjl9go#_xO}vo}piwFFw#ka}Q#PgVSv4>57gH#Puv2TWJcKyAOs*^LJ5Zj( z0OVuTQ?JtNj%)cXLn-~&4K7>BIa`d~&vFi*Ij-%bjSl^ccD2}8nNc|$mU&q=NXZ3a zy>zfH1XsZcOY3iRG=G}@P4g2hu1eRU-@G!9M!t)z?hjuYeS08Gci>L%WP7tRZzR(q zjPpB?=*PPQ?0w mqp=;bGdQfhb07GCPlX zK0?g&air;4Mc}Z)6TqML7A9T^TE;nw5BD1HmvhyH!hJb@FL-oCbJX5sZ|vA*kl>JI zc`Pp3C38Umhw`PaY*1Y%&kA}K{8;B{aZe#L66I0X^5rrDi>V>>!HMaj534DRV8R;M zTg@@PUv0BV%r@-a }N;cKItC?ux5rRDV#_ag-60u(4ZS{$p14j4y8^Hl5-9xJ6+~A$=J5nIO zzm!xPn1V`6JFXw(EsATt8Js~DyPUS>Pd{oq3h%rl=P2nMp<5QM?e!C{bDFZ=6NcG% z=9>zo!Id2<0;ZQYrY}_|E~#L{=Cpfu>P#wFRh%8?FYIQ%y20++r1V{`G%6Knp&LEF zDIA6NBM9axB-{j_3wn%IErEqi>QalhNB7C}2ww6~<|u~GpyO KXg zXl|`z;akH5N66 4& zeA8way+ty>_E*nA|63CSpC_o?&Z*E-Qp>uypuL&QpNUml57!~5Gm)C}t}VM51+qs! zhv543cH_t%XU9aM2wKv=D$(qM!ub55FS=Q*a(Gu1H|a0AUAIRX&5 z&lT2MW6PP-wSQX7He6Wq>RsCeDC16ja-z)-sq{~Xis=$1QNz7XyaM`BP+S(x-^;wNl z+oRdZ_~YYXXF3hjx- )-j=q6A SA^SE 7yoQ!2k!zxq`C$tY*x%I}qc)$lC+DBHX`o!oVlI!H?s#EJCjZXcXBYno~d7yLO3 zA%7nd(;)l}eUgsupCN~XQ}jxd>j{AyGmR4s$RGqM?nTVXDHMBz#KC=`{(eY!gE7Vn zRxQ=ED#T(k2Y0 #TeS@nZohrEkk;*q z-h7{6ty}6I52(A=&J>dBdY*^; zlInw2EWc0JwigAjO>wx_YCQ>qef$jbg51lt4+k!9IW{OfkJeMV{&co+f={^}DE5Xp zjz3uKYB?muFC j3_j0$+=qi2FOFPYEa&b3VtxzcR!oy&XFYkL;A(RVrzbw+3=mgAHCG(I2CXX zgMJrBMQ)5B=URtu&Z>_10`vz)Z$alpKPxz7Uu0gJhRILz@$yAe|?-MB=*ust6*6oOw`WR|$v9 zADWzn#vFxrL4cHp@{n~lksW64D&)ej;bX50BHiRjtaD}dcgp%KafjU*BwkQhyTOn1 z;72H=TNS41pD_*iZCv;P%#082qfqd9_mLCXxi`)ER;e|=s!=%>-Y>x4ze;&90%~7% zG-*`gQjS|$+4gSeK$6}dR#UbM>c*=Smuhn9c>iC!Z-C6K>zJWs;~s-QI=D{EFzPym z-L=lq(XLOD7$0vzy%1la1zbm=6p~V&J**vNc6tKw8_!Jm7fXC9@2qzV*q&k H=52Wxlz5ZNtu$XJex2}0ZK)~QJ9T@N@HHRNnJ{SD^UPJ1x2+jd%3L4g` zO2B=38{p;I{KUG~89cwA2eNqnT1`i4;Fz3-0ZXJpQ=7UP3*W#32{0m$KW(V)*xq|m z!!Y%B3o>ZWvy-NZS9P57J;2_)g0vf|p3r`vrB~v4d2qs^kRek5jy_j7RikCdt?->d zv%mh$(0@7RuHT=~s6KyEQ?PbJfp+?Mjt#mIQh2+O^gi=hwn$}1F-~?P2kj`SR4m-l zN6vH|DdiS 6CgPV^)y*cGE#?-fGM4<*$(d1t(&kQNU?jc!p`CLDiWo6)t5lKhYi9 z4(@acSguz8-Y8iIFYSjZSBSL~isU^QwiPV}ZKUnPm<1p7i5GWs?Q}FvOlE(le3|42 zy6)SuDbH$9qEAG&vu=AqAo;$`szC)(gx@;OX}uNN9j@(Ty=@+myIQ4-S-{xAMZMUw zD8Q9$ue*w&fFS+at3ltG5!$#GDl|55ywCDpscITMj0%PwD#qbBQ?;g_O-w$BZ z<`kH6Jth624B&s v3NYUEj4vRYndgbVLMbO!SGS zDVC4lB}@qa#Ww5NZnX*n#q!O`r=+fdiq9`nN2i|@SwW7B5^g>w9E K5cSGRY~{8)Jonk$D6SY$Au zNB|P0;ElMk7$Jv3hBfp}Wuk!epVzmO(9PrUNjn&)S2Up{*My@}`a2zz22eD=nO(Yy z7|v92x1~8i`nnh^8;Ud4y8z8%_BasW Sd0e0$v;4J@j6T7>r&X zMRzxl{t%w3r+}e`POgpt4Qe=0v-!Gh|7CVXl6-ETY)F3OtcxhY3{G e+>UxvZ{D6y=&^r@?=U3hY! zx%9Gi?98u5P&baU{_!94bhnRbXNTW54F8&YNs z+^zGa00qdaqsT)9)yKeYX9fsp=_BLUIEQae#Z#}ZZ~LN$NXHWq$Q&;iiqA@RS+2xF z$R=l8q`g2u*)#d0FvQ$kBB>Uc(ouyqwRf#nms7JdPr%f;t0{D90GHc?zCfzhn}atN zCz?vK61IT!dUGs0ses6zP(_9ZOypvtQUa=^ 3TdJw3t1vMx(oT zhtarE!h`ZN5KlVzLXzziH4lWZ$7sIcWL77}W7^Q!Plsg%M)z@5e(`+B@Sv1!5TnDp zK}BQY@n$P9_q56uvCjsHU%;@0QF&-0IsA|+_&R(apnpbXixl5D{XWoCAuc^F6B2H% zmu1Dpbn?TZ!~)jqMF1iFv)4e(@;3*XS#ai!^=;5D#t(boNCfESK!vxK@o|&*EF6aB zmV2E(RJR;whhs2+p4~J|YP`7M)3`=!_OlV^Z%tF2)Io2@r~8Ses5WF+U|hXD<3lP_ z8xn1WN5UEeJiEe%R7#I2Aomzgl)<0$Hw@?Rz$QPK$v*)so3Z;nGLIG`u%wd=+>e%8 zx}@Y#i5!LV`Mug^o6iS*Sm @9;EOk_EN^C$h(iZzCf?T@k zhk(;aX*gOlj@ZSpBdJ$vd9vv((RACPU37AL3c?QVM9*H`)z0z*JByy|Li<#oZZz&) z+YYHb975xDoZddjFe!M{6MD$*X=W3?PgKqG+vCV!?5DT;3lX6CvN+a6wz9b<- 5uyxR X@gnnDz0Q;@}wCogCtz5q2T8hwjU>t^TJ z)GO0)qLFj+z% !^TfH+zQ+y_1WaV>Cm zQqSJC!YXR+ZQJ;kK!z0+M$M5%+O5*Vx@reil=cVZ*f)_qp3(FJ7*VAdMGS@rZ&&Gv z4TNE>bG;@-` `$3Td~gz#tNjX?ySM&Jn@=<5JxhZ&g+(%5$$ zm8{*lHpDjCo9tJBm-~?3h-5pb<;pX41ou2mr)~#>3&VXTo7uXh&yY-V{?K!Kkn~xa zr)Hp7FTjIycV2rDio`7f)NoKE$ToW31L?xH?~)1Xz!NGK{T5d!z=AOXbyl;mAb0BI z!SEUg4FN8Ko!G6Is@S^a3|A!GZm7_@#q@tCk3`t{mJV}71@}x~d^O5#FtL+*d?Iqn z+bXAIK-_Eh9QjAV#dejWnIWZt;LVdgG{7UAL~o9s96!Fj*)~ywS;Tz??u`eB&j&oo zDFjyzo&@6_@FOt|6MLeAM|rBbPl_9z+#@71q=%4x_giy!u@Ty$I2Mo+P`^loZ)KgG zNSqICU};0fs%RBT@$t*q-_cwCSNi||U;kf_fb{Q?O`9z~Uv=peYXli0wUvOdi#>9r zZEUIh%09eOV4|m$xpY=>VYK?tp*p}0b!W0OY`sp-NZaGu6(viu>K^}0G0G|PW%zMW zUQg_hQ6cf(Tw`jUHS5>0<0s{lH<7vy^YW?130Mu$h24~s!C}2j&q2#Gb%?a^K`)}Q z$XH+Rk;e&c{}O8yXS0Vp$~!{r`o4v`o|rF9USf@3zs4-ZKR%&`E3S%c9{n2=LgcU2 z<9^@e$|Z53B44r!9RW`G^Y9Cb@Q-8e9eZc~goBwrAA+~%^Iz%lIEQVbd8s?p3EFiL z6S600mC`9z*RMm_y$K**h5sH*q}99KhQQ0@iIUc9AB$D?aVI+dy3&0j%pJgoRlPUW z!u{^TM|(&0;Dh)sQabHqYE8_^W=&!?*tVCdpYeG&k*Pno#8f7w_Z+xm=5EbPXa9^r zxQN0WkAemmJ(DbB(T7wF{zMF8k}Jp1Saz+5>x0eeL_Hq3w{NBQBwXt?M%B+@vL#f+ z`Z#L)Y=?%m3*agPRv;1%yR?|MJH!@`3R8gf7T&GL{>Zu{#>$`9LA(B|ozkbIXT?x^ zV#WtHP0@M-F}uVjBY4r6*!o6AWi_yu)y3~TI~Oo&`ZJg!rq#N~Xq`V$%mG2+0kdG6 zEfgdGHjp&(V2>15Y&r4}NSfbDPdQoFDo#Kk9r$ITJLH!7Gm6{1R9Vjy|D%(%mM_-s z<4|1~D+fD2X;qGTaF}RL%3qRmvZ+jZmz&bSfwS(*nF)4xCd;uRh-t&5;{B}hz2g>6 z5(U=bB1AvwhIqj~EEQXGq3d1d#*Y82Bpx*=QU}0wBhoJRw8Q?!jItqP7&2UJrp=<- zLMS;xaN0w1Q$y5PZ{L$WkMy|W5C%U8{KOWD(EkbtUR-Tnw2S(C`dX%$3-26Ci1kBm z%$r0wy;`UKU(SG!eoHTT(v#Jj`oyN{2jSkrux)0K##Eh0d=7LuV@{!Q_Ijww)@vc3 z4*^wwk9c$pBDhC}SB*lsw0A!KN!N5jM2ClyG%YZ(M3CM*gnqc0qh~}crN3o XsIjBU9*WO;~gM;-BOT#(+81NPp)v zRP^!rK&>89%>#aS>{2heuKu>HNp;e5)S_)#G1x!#G)>g838$Zv>VLeK5|(zI6c$(w zw$>##$bcRD9)hx>+m23>Yr8|`$;lL$mH}|n;`q@93au7L-6QQXy2v%j`N>4|fw4e% zYcliO8a^E8r%lrpTAMwg0nYzNr`Yz^%`$HPSIbzPA}mKXX~u5cOX*@{-A6Zr3s3&5 zZa+w~b3(6zMPWgo6I0Z=x7#Rq3nz*gb061cHnShql%hVa*tYX|_`nDuEFiC_7?h<3 zUOU_->WyI##Bj i7CTc(swIw|XNqgG4{g?(ic*NzMXu&dmHcCU-x(u|Lxb6RGGkScw)HJa zOw@b64La7qlea?R*i0+ap^;(~u_4bt{+o9<`_=5%=h38tI#}6Pov_1m6d@-$U+i2k z5mxwAk`%w|-rCltJv|>m-)sO)R;PdgQYU^`1!C8_4jQu9&QNCA$tx%z$0#Dfv%@Ld zQ5}ziXTXi;Pjvc}^GYdrEtI7Ih=#!7b?F<=%?pd#KYaL-GUSe(Z7nL@?n57&QLmD_ zDX=;Al*T=hEL8z&nW;>Kf$iQvqc^QaGD_zdXs@50iMo0U;d5w2SCE|hA sCZg;uw$RhV&`?*H`KUiZv@2i9tPX pCHj;ubfP4`Z(nT=?kdh&4;OT(1*XM-{8=9Iz zQvb=8YWEcp>zs`bKjz<#+DZ}8c=q)y{3r^3G_2nC?R?|3?bE#v-jmgiv4G6D&MW;; zfJpQ`!xy|9rY*afwY5Kr^ZuU@LT-d~{vvhL;rhEWeXZbmDESc)1LH|OccE*EZDvBt z*Sd})Gha&DM{JQJwxX3Hc4M*211dvp-izIF{Qp3@Kf1oXVuT34%s9 D0ft5G^9eEfp6<_wTNIqI6Vz+ODJ^e*wiA{gs z!Gm7 kl?>*kq4{fX^H7JMMqZ(F(@ApOu> 303I z7_)05zLRIT#B{@{BO@c%HuE;&*m<_Ti=9+rk1O?>*z7X8-mVF~j9#_X+OtY+&uGh8 zzM=-IvL?#`q%&w_ThsF||C)~|x9HvHz3)#%28@*M!v9G6;P%JkUS#9ErZ#0jC5kPn z(t=d)unwX5XUD3O4ixa})MW9{S)P=0Q5{M?Qy(51P3sN*^IoE^Y)hKU+Q5)VB*@72 zl89!|kPbEcD;drtv)1F8EAjKWx?ARI_Zr&Rvpq@s_E0E$R9=6~lf($U_y}9Mg6IfW z-v5rG6O|QJejXj~^gukVNblYGE%rV=jt2T4?L3Y)2{@J&JN^>obTU?|dyu8>Gka9D zPkYvKm^zrHzWooW$zMs49b9@RJN%>DOQ<{a{?*`J4?X5?JZqYg$2uXJ y7>rS4=3AFj5k5VuvoCv~z#= z4!mM7_0wh}5%UhAv^|Yp->0&Hy~O<@Y4+VEs^c4Ce-3Hi=rfmEJp=wnNYY$FYQFO) z`U M!+3PK(@e*xTvgicjro-fWoJPrDXvvX86D!BVual-jx0V7SM$ zGtk!ds54c;9 sgBBXKb$$Y6@y}l3Pm|u$}{p4BP8x!`vBJ+MY z5o0*KcJn`)QRVJ8!uOeSBda74M&J4cZhmP$V=% zN>f(|yRX?UX{=Od)03zs%o$vyR{{&_czvGyf6im^9s6aJOb+cBhM1*96Xv1){9Y<# z^qVF7>D8|~qPVzxF|_4xulSubLcTsfV~A}$Xtl>;zoS3HB`qGlwsaEp*yl@Oem$rT zZU;#yT4*>c#6j45*cHa^;d-PQG!1T?JEWTHG4}aOK|a$hf$OjST|GHJO0-3qQKU;| zD=)L19p1J*M)Je{CfG8Kjg2*7A1Hvv*y1$m2BEIrmx%FU9~|b`W?y)}pzPlr_}cW$ z;Y#|7LPfp6tbe~kN30SiL_%?RL?enz%*hrAd~hL2f!%h-p#0|@f*gZc6G;1Dfq(RW zimikVrGo_#D(j7PoU4uX1(AwMN@>MUjg%nCp#54S=(m5(?vW0l`X^q$aVs0b;pU8y z@BO*Zb!1^+!8V4z^^Fm|Z&VBBcMKRlJ6aQW_Uzd_lNsbcEBztn*A@+7&I5aBVT9JY zI@??jLIdui|EXkJ+PXuKx8jTEh6kzrn#a7?JkTZQlr)< V`y1^xnvt8YmGC7xkEn=2PtGcebUv6*5|4YJTINHQ8QfSkGsu^&fAZus3D>fyi`? zEADF#o7~h < zK0c2mj(EaH_xAR7*q!@Asm1 fNVhaIIPl#tc;BDb z?>GO!%sFT8wO2grS! n<4D}AghRU7)`zQyU=njfcO{ThD z+pQVixY@O7mDE6 %E$o6Hr;Yz&@ t0c3s~0=)M(z27B%7S)Qx8Ih$w IPn$8b1%}NbeZ3Ok zm#{aG>S>R)?;yI-Bz-h-m qK3AY^9Go>l6c!jW)&yEVokX z-{}{M_MIGH-R1|lwkj~X83l2i6Yk)ksdE2IBIEy*OILI2PY8*vG_{DE-9q{2gZuxz zGZ!84nlAQ{!}3`;5dwsb9--V3?!VVjtaa7ifOShg?2qp|%ONXn@7W2g1GNMhpqu9n z{5ZdpkCmAO`xs4}x!x4pCfq^PmQC$Sc6do9i_!nYKtqM7j_cA^A}(g>0HfS%1+(^i zKCTa|;v5@zP9(aQFC>V2xt{u4OW3d9rW(!M03ku&Xl`cYy6gI=y&DM19g95)h|D=T zVb@Ka#@Tn2(N_Cc|5kzgmRSi~f$J5Lw?C*EC^z(hAHY6GchOdY@$!AsR=fC--CpJl zn&k5x$=j-T`_D|_EJL~Uzn9AxG-%oaK>6>$8EKPYgnd2|MlCGW{(Hf~C|JV>ou`&v zKSk$=y8TQ&sQXnG_?=(i_Yi>ouyU*%Y)%Pd|3D{;dP@1uk5|HDSlQVT2ZviTwimxE z@tO2KoEnF*ycQ ENHZW%-+@%snu3RrK^(MIpO zB$siE01(X0Ry}ci|9M;ub~HdB|DJi0s(X5Fv&+SrXUH}6&Bj&ygZ+%=nqU7h?gaQ0 zzbVH)QIa%Suv`$_wTJ)51en*rz8x8Z^gkiMNXnA{yw7Md|La 6} zyhH2R8Cp-_n&L;_18xfWbUn^tu^z9;JiG-UqY5;An;Pp555F@M *Zvp(WQnuh_M2}twNfMFLeDQI`9LYUqvrJF`1*STE~?wYl6Oc= z# 0Oi<=^M(tsnXYm2EvGFR7>bDp*6w$)z5;^>t*XEiG z|6<^%!5vHpH^@8Bcihp|(kde%l^i)bY8P)D3%fIAWN-iSass`}tq-*L%a>o3_@17$ zoS8Bcu_VW~{^nF&%+CurPC!snQ~ ==Z>csS1C?NsCxog=AWIc5U2x+QFw@%7dY0CE$ z=aTLK2q+sJ#g>50{Z2(6hX`uM`3vpFe%mQOKHOqw_Xzp)^Ycw JHe;m6p_a+lf(`1FjK zQGj_4zY+^-8tj~wyVCx&o?Mze-QxIH(k~(Mk!(7n =+~ z15L>8IpSx{s%WZe;*mFV5gKG+4kDQdB2g5YuBwuhmrZAQPaOD!_`#q440flU3IfXn zuZbCHBnM9Fcc1wQ69oQYm%8u0i4h}Wz3|os%yrDM ian4FD zU+Y=HwaQ4SuWyrb9K%w%^})GBIcNsx9+Ka>PYScNv;_Mxyjc_$i1BiPy@y)7q|0(k zNJt2s@c1BCRN)kyXc47DM;!Duvu9Z-#k%}_mHoE=ymGm%Qia39)>a+7%P#Z=WZ?H} z3Q7_-2*F>{#IQ_%sGMAI+>;NgEyh9= <=&1|BXWfqf1K!;MoAq3O$HY)tH{8ar3O zX1A|~rS(R6&THt$Di`m_@td-e=YXm|e#sa+JUN*NeXzW;^747whbv9s*ybGALrF== z2sO#M{|3@41+l$y`4Z#(P|K{WtoNFtLlRdnfcj|9CYj)m3JWEr7Kt3$pUg8j<=pgi zLzVxtn09 08$I1tnEg zRr>cm#tCKC3sj}})hy>^j=d7_)F@=CzyBX2JIDIM{@<(V0&ew{<;%pkZ>dAW!?_z9 z8>YE>yrOlM4(q-F={M(@nfgyA8$c$dy&v*E ze*D(GQ-3?~`ORwqZR>e%B4Qhtb(Nq-ok+@8ylPNuV7DzUK>JW|(VW$fB;Uj$%M` z;}+*HoM1Csl{yEf^=Qdcc?M!jdHK+R!NH97Div0;;9M@0r4V=mc_n?&v#Nh4lpz1& z&T&OzsAh|V)_g@()&1&`LT%~b3$Hoan*~F*wMkho^(MvBd{+X2Cdy8LC7(CWgjcr* z#Bd2FI7oHdg@uGX6b2jS-CZ6kmf$5;DifUe;*qg2Qsyd2(~NCH!mZy+)`h-8k^u|K zrpR)mynlZvI+~2WgI7ev>RMH{cc>oJ?-2_Nl@%P$yu7~dgjf 0Ju)(gC=EhQMI|!w z%}tzWX5>x3b2<4{vw7cI42L((_%@04ItWpP-KklgE1vcD_s?t;8yg>wAEKo*;^3}% z!|;2uhDyXRbg@4Bu-wpJlzakkOUuN7fPhT^7jIm-ys5&(YebAE24dL?2qD-gWm+Sm zc0*2!=R!)lx}xJi+d3ILf$?PR1v5l{_ E2^t0p)6@H zWQwxAFBUIbIHk{QdZ?RB(An8}phzv8koE$Z8gK&xh9M0GCMT_~R00>r#hq FVhfIXgLNY^jlI4dF-AY|3UrJPgdLu(0s`7?GC0eyK*t13bhhc|Z!= #I^|kcyt$<0+lvHjwCCUo2|OW@r)SpAJY43h#s^Kciq3O=|Ng6URER9t zBJIVaas`OnT~gBAo}Qju5hF+ZPz|10*@kCW#E)%_y--%p*xTD94`+?jm2|)-LnIH4 z)@2yd-+g&yR8v%>KzJ=cN?VH};Q~*&lmUm3$jE5o4wMKzJ#DiW5ba#50mCDB60@*U zIa%2upp+T@P@em$g%M)-hZ59{>T# ~VekbfPPS#X0mzS5f>)W>v=)pny^86465 ^3YuCCQDldBsVbRV;_@^0R`av5Cx=f&0ZP{y;#k_ib3h1`I&7`%X6 zS@9s{KK^$XdD*KG`)eclN-Ycx9{~~DZH*TcERrm^HH5QDFgK&IQLkK2x#c3Txx`nH z2?AtO_EC!N4*s{Jkcg+inON)a^Yfc+X8z7*)_E)lA;d#FZX#MBNT})Q*<5KbEF~Yz zIhRSSfa>_SYXMJlRnldH6M>Je1h`AH+9ru1=7a8qfoY%3@k&X2d^|(AM8tPBPfyS3 z_VcU#c1aNJ+|@}6X0lANASylvJ|XG~NvqP-#V|_(rU)TYhC$ttmgeR!dK&xa?%sIJ zRfpGUSV-Se1XEhul`s`16BUj-AjRftpUuk-|4pqN!=$c~&^Mc`92YE3D!##ck)Zy8 zdyG`KDVa0n3->Qw7&?Jp5+nmG?p6&zPPeQqL`6lVUNDmdcamOWJ0B_J!4#czs8mK= zCb5Mwd^%hH_W8dF)=gdggA5futZr`d*$fR0k)r^{!CUYF$Hcej$jFZ%Fj?yACY7>u zGRn)#BXvGsxro4{Z6LzQ4|0hnGcz%9ac9ZO$%Vp2k6PCspWk~u?d`LFvZ|}q9qXnZ zYxaNpX21|zpx=~CR*8RfNmL;rM5%#+`l}M3)#!(~$E3FdLsQjjCGkUxB>*;JWED4` z)|D9+9)8EjYi4q?Kudc8e>H(iX`N(PG}{+=cYGO#zqV2%|I|Y~`2!0f3zZ6`RLD_= zTU+y@het*zjU3BAKf+&VaQ)0UfZ ix`ZHX=D~ja`SzKn5h!*B zs*vNAi(q|T$tv@D$ |xEFY}^b6vAXe$#;RkI0V3L2%M zgM 4FrflK3f0uqRM^Rh&(inrsoF$t zHT&OVn4@G#mtU7;Hf}!LF-Yl)d4YdA#fp&yLgyHFa=c$!F*s{?tKG1)ABjZ1^mdof zPbtXFh4S(9=Tt;2$nhXA24-+C#;_cO_}mqE4Hr@#Xv;#?%Nhxye_#HV9(UUez%lWC zOWbNQy!`-=spe#DncccjRqaur!q%3SW!H);;^Xh1MZ2^Y9U5uZ8)C)I7peIQz+xIK z*;fNvx`oOm6}-K@YyAj28S&CAK>$ fw@e-TqyhW@!oCq9-O#-XKSM2_pDy!>nzs+%ptyRym z_LeOqC^I{|?f$oc%#h-}_jnqD1jOla0CCR%fGW(tC6)7 s_cp-C5=dr5P)E6|lPPR)&Ov+}1}j^5QZ8inSPsIon3j2Ng=H zDub~T7jyL-1GvRsV_-|uM(%0^Q1i9lsndC?dq21}5@Z`8rCFlZz$c#}+sTw7ga6}_ zH?NS;yH&pWa*e*35tpKTmh}$u@c#X$F%2HJ^&%=d`g6} ~;`%nfhPuZ?Lfc;qShZ0YnIXwzM_Nh?X$KwVc^qE4Kz)8kQ7E9h`)6+ zA6u&w@eq=k(3qEp=OgeX<3N$z`J?2{rCsv6qJz_R&B%^ETms@Qk@3=bs@6FdfTvx& z`2u<=ppX>CV8?jooVPRvOuX>U@k-W14`ZwGipR>8Z{{!fiP6pjGC>fI;tbU2!a344 zL492oV3vL0Jd{mqHCPtc*VY_6EAhjA3vev#8r0dja$tO%X;>nPTONBpBm#oo7~nf$ z#NEi$==Qn(YuB$2CnwXWVxKW{f0FOD_1Trc?6TKul%6)X7`Up(=%c5c=Khjy`uVnR zL;3s;pPE5NL3ZmJHwuW;be}jQwD3X!Mw`!~qcBA^(m>78(b3e~!XlSTNGPvcWd?V6 zns}T+i*rlEkB{fUhS?vl{TL$6xfWf{nTUQ100!tvFHl5Pd8K5S#{j@Fvv%M}i&n$7 zFOd}UK@XEz9^%cPBT431lfvkFz*E(>$y^m#pv}B(6WCZCIYokhes@Y##YNtLoUy)~ z+Lj>CZF6vUuK~E!sJmz&K#!ZLdB2TP_ 7rd13jhlRsVi@pnZU* z=HM82xTdb)Z6)->Nhol?^uSzRzUSYOHF<#0vjF~%j3kC&za?Jzorkue!7}`%_wwb- ze{d ~zTcdepRWwizUj5P0aF#E)T;*^hSM}5tvYxxI4JSx z?trmUU`WG0=chBf4ygeQ#Y0wy3vUMK4hT%fA&8 +g4!1VW@GLjJ#yl=af zc1@UKC9YkY#NSI<@!CutNMC3@^N|MWh}KFFb)oyj|E&}Ag!a4)GAMG6cNieP5sz (}~+1Wcec*VZEi}A8#AyWp?YSpDqHP=81q&kHl@n`_8 zVoEE4Js)qRpUaORcG{}Yzz`s+fo@G@putgk-yF34^*#QE#XY7A{};YB?cKV#Q=q9D za4|&|-4+Qzx)2Awxqs_g=z^0c71M9n#CJvv1!w^BQx+s8be)VqC0QLV0|SeLp(s?u zPciIyLPB8_W9$QqIn~w027`<83+VRAor45nytK1pVbkB*C*l@XS1sqXAfC(jR3ly& ziq*>_`tg3+kMN9GGt@98kTX@RtgdDTgq>7yq6`C_D-5-ac5L!a+X>~Lenh!;(ssNh z>;|d~)cDji*3k4=)4QPX?Uz}Ye~<>qG%DX;1W1FM0GWPV8!6^Dm5pO{0K&LS=t7ul zz!jl29}6<#vLc&VzrmGEU*0pB8FZ}}!BuIE@>hbWWTo3X{S%broq$J0>ZB*L{7$S! zzo2hGR=!6aH2*;)!0-{!kOivh>iG}128J|PAWusyC}wMohu`aQA7xuS2J>i2&6qP! zV|hqSxHNMz6{GIvJzZ#9hh4>cXun*OTLu9wsl)(YlLBpzhwYeKS*h>?^sa hw?Wn$Plo}8Z68v$_u?&LHS1%uoKM656k;^Fn{*L~^wwlQ9WCh_A9p03|d zy><}n+%YjMnv=(szQ-}v_=Ua~D;9mwQ8}~Kq)#g+Ontk(#D~JUMkfP1>X}(o#CAqT zSy@>PfdX)viig()R2=;b+`!67Z(igaDJv_h=AqnG5=K#!B}Ajv$--)LvgV~@O?mlX z@%f-R{^}r~D9}>^1V|+y23Z|e*Vdpc7wddRSH5&WO7Epc|F9FNIK$5Xg*#Zoha)@H zw1s_}>!}e$W8+HanYZ8W9bhye))gJ$vW&p}$$}7VuMe2-S|6Opu+<;u!JmL&wB_JU z5HLw#v&${4s{UuBI{AoLieen}9Z3+3SmEPG^YN g+$0QMJbsgUu$$*Pv5@sE91ggV34!41kk8RGC{yP zw`CIXPJK~}dunZopC(7c*f^cEC^Rqj(FOCd391`Xm2I4@*RFFz1ulsb;=RJkKU44c zP@qps<`MqN=FAdaKuH621vy+QgqV;%mmx|P`XlJ&m_*zw!%}5Jh+Z*&E?&_4A=}Pp zGyw2~p=
V zZ(iFo-Bv%{P9dwRsJP2?J}}rF$DMbYEnkO#dGPS@<#A!2YmHubZ (;Ykz ui{IEzqkGPaYUlw1krh0_|!$8Y(bIFTQ{PAOna8SXJ|B0RWA0@>#OMRB^fs zyBJdyrFW=>f%uc1V9(9E!|4FhsHopQ6vh-A3raHp7ujn=JcmX`;K2EqJ-a|1Rtrj2 z3?!MEx3)lUScr*5I5!WEapY>$4M?Z45&-aBusJ88O7Wur1T_+XWBZMXkyS+o;;{Gc z-@iJ~$NV0r6SeHBG4;1E{FiGM0yj^`np~*r28u 0D5M-P?;-o3mIU$c7)@joJYP0~k_dno@5)^cx&k&A3w30H zGROHB9QG>!wO@k@Q1uqXkO=~nwyZ4+0*hCAKCW}rM+$R_SK+)vJT#DNN^2gcN*dgH zk%_#D4=K&)|EQ*=74IzV?cETk^6Y{SB{ veg^fvz1 zONvpPRXU*dW {s{+UCbk_iRCodE6Bq#${^HKLQ#cRRWx G1MtM0 zx2lUGZa_jqL%BKw{=-FG04{^YRqwe00S?i@M1>tx74jHjj=V0wH!MVjaJW-~s4^pi zzFcp7xa;fhI*S4zEjpFojcD9{`%J4=oacNnv3_nMMH=m+fU}l`!{OPIy+BF+!v}>{ z#Ri6FB_5CysjU3LiUNdqlM>^f_)NApMU$H6ekjvfu76&SiB Is8X&u{}bIW<-2 zAwomwU;zNH&hHx3IlTg^Q&|-iLmv&4)YZ*E$?i&o$neG0euSkB{!p8gC13$H1Av&p zn=k};zpsXzb5*ca0B#28axUl_6RRSN`~NGM0y_-(uA1yne+AD^l|XHdHOu{>0MV5e zShP_QK|H>*GA5~HY1x<+DxR|4MS;VvRomuz+QYWp*5LErKFRI5?gwL^6!gnzQl`W5 z=7S0s#?(xOquUYA)|=%*Va63+$0=J4DOD-ahdGI_>MVO}2M;*SJaeqMml{$Igcfn` z=zR1 ^I>qi$4iGPuD+yiXT+OM2M=3oaon?qDZ9x>;2ZTLoOZQQ(cGbU zn lcX7=;dLuX5S~H+1udz=v<#{9Ay-#p0Y7Z{hy^%>9fnjmbQ?`Ml zM=Gx&9Rnt75U8mljHpKStErgD@Ae)kg@^eoTTE+59fAr9HyLseLETHQe6Fvse+{qe zi}qIP?)#^KZC5v;U9Gp#RE%g$(NTCYCV5wndnRaq-vJ@IX2#ULp*5l%=F5A?EibNy z5+o~ZuluqyeHUdGQ^&p|-1%$T0pUCLZeOEJjICk4WV3hymyb63Jn6c2&^?p5f4p$m zx1~RKSj_b6 1vT~X$*;cCUzglVCN>oCq3E1hkt;ggI>j{+0gkO5FmWL{5m-0vHgs-Y z9+UO%Vow+775PvLdY|ro@A-PGN|u0^+E F2+g7+sj?vi*O&@ zn!amhO2XJZ_W}_GwjC{prW(b?gN1FZ$DEjZa*f^(cv WtWqwj*xn1%OoTxyj_+vG#{#Ckx-HCT#GV>L7Xn8>TyLXQj{_WYaG zwPZ70)#$pmmeur!d&>KL?&{6r^}zK249!C0Sr^Yd#dTc|Un*?t=s)g?i`YHaMUKO# zn-L?(W0TYFLr6*nCMo{dz()*i9lsW-{Mw!OFqRV`>|Re*w^&s;@nOWq!lHj(G_Ft4 zH)b&?s{2F>LFB04y{Z~L!p&CJ>qUg#Qm-=eNp@I|E!EjAkJ^Z{*ITn?TJny2_^P|F z`AEmn*LR?*$K#f^Z~o30YInYlt4VHme}2DbPVs;hN6CB8 AVCapdBL0~GO#C7abHF%*TU_Er zANP3Uye2A&A`Z(e1|b`;V;kIh0m`V5djzpR6}v@$=*ZvXyDQv#SU=fk-4oB7hY_9k zB*G-89D6TrRyzwDHN<$O6gxNVQhQ>=61<8XvnSBrB7<9ut|@(04evO8Y|(vRu<>2w zy%p?cT4EE&oZG;)*?Q~ZjV iQ?b&}MwjCO5=3_MDTl)6Q z68EQBj&n6;@@wRGOUrb3%gfixO}%GUwpiCn(S0*seKjf77=g92g>vx?VO|8$nk#Zw zFSM^^@}B0$!a~(QUO! rQUYGl&819#$Z*z)UFHx6biSL$Q7$X9r5KIMyQj4eCp^s?G?jXb%{h2We?!PG4J zY@z$c%81@Cly`Z|)XcnfKHV*CyzXA0qb=@;!sYD?l+Xm!^mR@()|@Vy88+s4wRdRr zmD`N`s_*VoExmGBcpST{b>>qW$^O62>D*f_^5slyiQ{VHLrnH#!%QJ!& =8l zo?LXz8HHRb0nw2u3&J!gI#+6G>rV|(c9=(H`2HP7Cg|}E1+w|6QjLNqO$j$3wwL2+ z>Q`*0)y7Y;o5a2w>l&B|_Koexdx%E_c9$5WBUY2;3$w0kkIQxC%Ne4IbtXwz*ye3P z?b&TmNck!Wlp{AkUvBkMa3)O%Af!#HxLX*gA4Q<~Eo-|g`wz9%Ryi5zS27C=dt`+A z*}q_0^Ys%~g1 su?nd&}d7p*Uu0e=1L0^T7N^2Y2DK` zIa`s&=`fS-cF- S59&MOny2m&%9%Rfl??>|2Q!aRXYaE^a~|GVsM1o@@A zF*6BHq}cgXWhtZQz5N;@Bpln3@1#^>cKvB&q)(QD1Ordkwj~!G?8fS+qx6sW_)M !Bv^$f+ruZ%NIuISRg*k0GeAPn7uF zf7!92t~qLl6f4zU-eb&_>q5P`O)EZ0ZC8_+i_~m=PCA@rkLcqz61ykdy5HyeNX$#2 zMXq`ziRl&w`X)9thQ`yocNb9~jiFTWeyO^3z0vM8 5&G8RUP5&S@};MH9MJw zK7>9tfU*hNefKjmH ZDSp5D5vQz9a5ua%Khsb0^v z%j#jK98^*<4#sfP6bTiY=4OOKKw-i3yR82uY(gXj YRg1^^Ub;54xR$};4RJ5aG|Z {dUq?BQS($Ct=MY+lc6@?0{1HNESuz+RH{60Psvg8Sl5JS}cPZbuATy-8H% zb&wDfzqaJNr|Suy_H+#7dcHp4QgRe-D_%OFITPQGu69U;AFqz_!K z`2JEv7@tJz`u0V67S~(%gkZEmzSRbb6DE_a3+mi!#-H0kqkW{3;_U&7KqIYziU>~5 zxzmA5Sx#$|P_~zhH4F{wAM^5%Ux_K;T@pd*XJ=(O+JXbct3h{4!Q)4dKFORjFb45R z!oMB1JsRSiiNub+gMA05Cq|&!Q`~d_Hm%k#iEfSM7l&0>SGPw+2vQ+m7*_O#PYj4k zF~!d_M8lwy?dU5JPIgb+!S1!pkX(ChkK0kv(M%xITTUQFw38;L49N_n!RT9KSVcKY z4rNMf)^k}X_9EZ*<}!UbDHf{`i6ZATorvMr8Q@eUgyc}jH$2Y4#NnEHRVRAs(^9-~ z>iJUdq}vOIN-<;nmaeu|Nx0c2H#?(OoWp{>41!#;HKvq9=sr>VUoX@bZC`w>uzQiW z_ozdr5qb)?6Z ZN@Ji}1%}NPS#AED@=Yu!gHguIF9 z%zWOYyWmh`y0%%rR#dks;<7#}2M*Bm0kGc2P2Tq-gNg*8$waXln&XQd8iHBvo|!*# z=tjmnl~PS5zuk;CHiUoncU}UW7a 0BUJxm36b#i(Hni5V}GdnvyIHPcGuemir z%_IKy8;YQFw%z`$uj`>gqFq&0mC%pvPYf{~oH_^KAWma6*gz@f(n_lCB?VZcT#3`_ zQ@!F5Pn{;WJ&nOh&|!H0q7!Q{DnxU?bWOzjmiFA?@f3DLfnuVITpd(tV-L%v5j41= zn8rQETorw$(&YE=Z^Vd6xpZmNG&WBEW3&{Jz-4+juKYdQ@;aS1b8PG$|HDhHfst0> zVoyN~C{_c-w#lBoT*p))g{xNzt8>2OEHmvfE;XJ;XE@FjQ>mH?s5;LR)#sUMCNDa; zsv{fP_MZfgBv13T*VeC>NmA$AYV>nf+Z_0@$T>$ypW-?_plsm_U+N}M6WRz;bmo>X zv;DnK$gPuzI=++*``f1B Iqux z#T>vQh-4t*uJ3(9l!L(PcBa}$k9Fzc_8uvPcY^NEbv|l*%Vdbvh+`E5Xe$~9i4%1W z)44SB(S2gp`QdKiy-kCI9XIm~sH!vPguZ~In4(!)`%%HvQ(rW8vd>#&Z%!{MFYkt4 z6F=PdrbtfMKhSp^`N+FRqDGCyVYqfKR+%nSQt7Ruj)}wEUgb`OO4O2+jko@n&A=wi z5tHN8c2$x6!`M*_2DV^k9bays28+AmQeVAtps5(R1?Pe-95ekSHO56ZG)6SJ+deqv z-xT~}O9O%$3urN0Sy>5>*a75JzRu9%;^O0#mYa#8mDb9&ykXC^ek?!bgtFPo$R*Cs zz6$h#N?&anr*BXJnVXmOz^#hH*G#O)yJFK=C<#|8Kfa1 z#6N+vi+_Oqc9?!p4VMAs-TSu#r4 I3Z!*d=$DV zcK7`Toc;a^< t82XOBzjW>Fbc_{tWUQ zZ>tsm^&{*@SYUDzTsKBG#CW`D&vsn9aSm}Z9I;h{YW%fLmeX#%cLzbcva@;Gg}4`b z=uG6bF+1MUu<_KfX7kkZl*U#Sss_KO-Vu`^W9XIK`^*=;w8}!|>)&}^7iXt&uP{9; z%bgdD+uA%4^&6}C$B{QXv}3)AHN`QB?&35}u5QL|&1NFKYc#vwlAr(Z*>$lu*-quH z`Reo%SAX(j=LMvcE-S@=7Vhb= ~gKIFjLc4{3`y<)qz%)DfoI rMKu#y)R^)bt4qU@9{O0IiJInH0jaBj#IXKq9 z_k7}&-U_y^UuPzUV;*O*ZsmVUH~)!*uL(!%Ha_yI+PJm%SFLM9V{t)7A-B^n1G8`+ zo$K=gED5^zlT@|GPOF63;Ow_B(rx8Qq6yk^!nd8?g;hF}c8W#yum$zje9SBMm|gEc z%H4a{aH)^t6zz$_`0moA@UOY+(VkU+x}7|lTRuhe32-fvfxc(imoLK|+NoX5i8WH+ z6K4OzZDXv$9R6MyWN=8iOot#Eo(S^SAur!2yZs1q1(>{1zbPpa*&>#Lc+YrFGV-&E zhLP+Y XKZI 6H~2kbCNiy0o+I6_Nprv%UoSFS@>%t zKCuMR-$rP65s?=!-vG6b$0D9|h~?E)wxi=>uYE&D_x3PqlXe94uD*LKX|Zlc*R_+x zH{^&Jq`?nI#O=&M-CmUz31Wio1Agg4TK0Zqe0+j29rQ-iDL<{7uHa3m+vrbrL}5vC zx45&uewvO}HBF-PwyNC3%>HbG)~@w)af}| ot@oYi{^pncbSy)Y}_ro+7`7)KI$C! $25IQjJSr3mReG5j~LDMJuh9oz%~{S6e_C?6ph}mLQRzp1rp3!Gdk;o*b^aeL*CR zx^*tsfychrVH0kodvH}G&IslD?n=Z!9 _hCycw_~U2bjvJe5%P8(*|!w5C0_mOXL6W9<8j@%;*rnKL!x4_ z2^WU``Rn>VZmJAatmJE)VshFn)k`WSbj9p-J3-<(-ed#>vF^q@QV;&-U oE+Y6KNZepziQ+`+$t zE9>?GRH_&7;2*Y_{LIwUClI!LE~)6!G9T@{UqpcSmkA4`50@dgMw(o12fV$(ythnI zn{i+O1P~6BA2gMf8YG&?U1i4f2z^=&Ij_zwvFvFhsaYQ0W(~SsWMJS{u!LxPmw0?~ z5_nI0Bub~WzI=x|hSv2{qSny@waM(#%tx;L*S8M$Ft@#zN-@s92j5R7t)pftvdc?O z(tXxylXLj{qHjFv61Wo6hv;qGs^wb~f;-=tsqZr1Hjz`D7wcQuXGqd>Rii{`y6SoV z8l`79HRW&?udzobUbhh_q?SG8PAI<&D1~}1+pCvcmsR#j)SDAjsh<$Lb*qVOem~Nh z*Kr<>@&-K}xu+%E4>to^KF?;!#prya^_z&m)wuu4QQ*3Fq`(;K*89Pr%xU8@8=Ns1 zL~WDpv#4EEci0tRW@!=upRm