From 49188671400ec7195f13a5957575de2c059a9898 Mon Sep 17 00:00:00 2001 From: Jeremy Penner Date: Wed, 16 Sep 2020 22:34:36 -0400 Subject: [PATCH] fennel implemention: love2d lite editor w/ custom commands & imgui --- ROM | Bin 0 -> 262144 bytes asm.fnl | 250 ++++ conf.lua | 5 + data | 1 + dkjson.lua | 714 +++++++++++ imgui.so | Bin 0 -> 795368 bytes lib/fennel.lua | 3011 ++++++++++++++++++++++++++++++++++++++++++++ lib/fennelview.lua | 225 ++++ lib/stdio.fnl | 46 + lite.lua | 1 + machine.fnl | 109 ++ main.lua | 21 + spawn.lua | 41 + stream.fnl | 163 +++ test.fnl | 14 + util.fnl | 9 + wrap.fnl | 47 + 17 files changed, 4657 insertions(+) create mode 100644 ROM create mode 100644 asm.fnl create mode 100644 conf.lua create mode 120000 data create mode 100644 dkjson.lua create mode 100755 imgui.so create mode 100644 lib/fennel.lua create mode 100644 lib/fennelview.lua create mode 100644 lib/stdio.fnl create mode 120000 lite.lua create mode 100644 machine.fnl create mode 100644 main.lua create mode 100644 spawn.lua create mode 100644 stream.fnl create mode 100644 test.fnl create mode 100644 util.fnl create mode 100644 wrap.fnl diff --git a/ROM b/ROM new file mode 100644 index 0000000000000000000000000000000000000000..bff67e8f0cb86f5efeb7fed4414cdb8dd9a895d8 GIT binary patch literal 262144 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%0DgswD?<>Z5{XMxSnyJ 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

jW3l)t=4k#Lrw3Ub@IoQtCNx4uo9xofQ zk%`MX6-DE*F-7Ctiz*sZXsj5B@l-8ig~yK7l~3_=XVSqd)om1L$#fHF8 zWra?1K((=4Y8elq5lps{xJ@1cwdFx*M-y=pY!~v5;Oir*QXGG_>4%FXfZ{9fMk8R1 z9I&51sE7D|q<`TLbhomC2mbqhprN90D0OC~XU*tY9CM{PsgNECU^$_66>+;{3m9E2 z_F=Yn0=QlH^vstHmKVMR<{JhE5k3R>3oyU%;re5(7jgkUmiVb%pbMb|HVSL?T!nxy z@zq@q5WU1QD;A^{5WN(Y=u!QYiNurb87+^Zp?r1SFr}))P}M? z7_Qxa{O2FVKm8NGu|Ep==N~WmQy`s&>tMu{VK*2`4C(QmB3o-ysU80JqYX)z1!;7R z_BTZd#OlkdoEj;L7@jenak%v!O}MfyOKC#Z|B4!oM%CB+302?pr}{t5{&PKkV}BG< z|EFL5IRN9X7gSxrKy^+V*a-k^A=d|HWxB}911ZAe1td;g&-z$nnT62W2n7p{)@5nb zndt?Xmd~Wmd@dr)EX$}%FB?YFbb8rv>W%cWEFPx}cBnrhLWSN$De5Rtrey!^QS59> zV+da3{5NrUsV~<=OUV{dKsnPgaFD~D&KUa}lqT}lLU$SNM{w7|-3|8})h)-f25vu` z{u$^rS3)luE^{69r{OB#-h}%U&OulGuDEGq6WG0R*qG)2rrc4NED6+_WJ%lb*jfyM zN&(6f*xeWW5n^H0|95~sUw6vrQ(j{yHA(t95Qj(<;;115aXthEbh!o5?${k!jfVEUlLmQg2!sdE*nAUW6vhd8!!G8ZWo8MxG!v&k)MhFf#T()_u z;u%YMLD@If78xASHP~_2&O?8Gn@TvaAi;4QOEJ18P&J}b1v zvn!EnoshXyKp&OpAwJWV7$mcN`BD?m5_PY{*_KLfMXnziFNS5v2*c1zvGFq~FG6pV ztt6i;H<(JUbhXnO#6&eVp~k!-!C%uDHc818MY4!X*2}3#_NYlpmD6_b#xqU6%q3sq zlG9wI>U*V2&PUn_G~UJa>-qkosU)9Dry?p%fQ|}T7;OWxH2S(P0?bPQ%nE&jb*OJn ztj2~Ctz;&oQ!6N6?n242YUamPUHK9hHJ};K>(gH}49NTkMNb@DG=~GU-vNiq(S&xi zq=zsBhHZFeU;o>7oR=9vUi$Z$nWx-A9i(ln(@NUqlAdN^E$;}eWSIafN6Pq`<2pa0 zoJ`b8D_ejcT8apR2^fJFMkG{6j{hz%8eW57pR zzJ~*MhBwv?m+a-Eh^}(`0>g<)3}3tv^dAY81^gU0=v&Axfx_WeOBo21fq)Ez#yUX~ z%C#4XLOJ1N9FZQ1os8JYQW{8gsuIZQk(=bHSY|DM7q(o2LqozlLd3L=t1}+=ed%4I z_ZVz$uN%V)NQ0h4yx`dOIm)07VL6C8LG+-mZi81Y?ujM-P#xP)u8$wv%1E&wLk!EM z0wUSmi+kMEVRrC2m3BJtWXGDN5=&D8LZdut9;dgE$b#OgF(GMEW9rnHY#^ppq0HLi zKRrizOymbH>^vWIv%LXTf&z~ncj16C@M7W;4;e_TlBS77nxGFCFmu(nYJsOFX+Bv@ zp&TpzC1v{4a|Aldfzu|W0lZPBwnE6HlvKY93J>0n(S)c(#}H2o9jk<6oi3ll!^v8Dr0YW2M0OmNvyp39EvAZg`fc=5BwXf zIoQGGE6`6Fz#D8I(2TAvUiE^K{eOmKt6o4K%ftXtQL+}`;F`-FZJ=fVgVyMf8IHQN>-dB3r_*bDM4Ch2x z+iQyAu)qY?yg~7!3jg+B`o+GEzw8!;yPEO9f`t!XCJz3WI2WOp&Y$=2!iVwUPS-_p z5ZF`rH~ufZ>^eC5C$N!hGn>F7ERkISc*Oo`n4ZmG!`Y|I;=3;{JocURq%}w#`Rl2IA?q^`aC#dkbY7-c-xait-a88ub~=@Bi)dUiLohZGXdJ&(Ul&yOr66 z(XhdNE88keMO&_ey8&(%-0g5~IL*yBC0u{^f_qEm>u1lud)@-wbq~zUM}7O=3n33Vqx*?-g3o9w1f_ zx5O@&Us*b7sS}2JUO%CKjR>8SZj)h^lR(HOk-mf?}o{67qmy2!liWu&-m^BYe z-3P_(+bZaqca8KAij)@0)A8v#g#V4g3*?DMXA@y^)=kISE;BQ;J~VwP$_&vf=|9u+ zgqD+Mrx!VZk%`r~(g~KPim}k`?>ZyN;9L?|{qZCBhfn%O?cO~nM79wtoiq(P7bBCf zLE#u~_ZRTXjqfBtkQqKSZaNxw9dBHnbLk|W1Sulg7$~~#r{<#3-%+K}Zor_++XXvL zE%gzt-xw9YZ4&#M#Kaw9SCja5HOM5$D^mgeU9y*Y1f$Ti`bBQVvUkAFhcgw`Jv*}>1yQ+wVilLoh!aQDl(Qe1hWFNTY z50(~F#{tsCK(%7=>g_b0$6m1n$4BT(7t>Bqu~aKgttQw2n>WewA*oaDkdAojk!0ya ziiuvEh#tUx5#A~fL4C7F+%F^3ilo-NS!8yrz#=ylxQU%FMkh*pP9SG&F40TtZWjKK z*qY+-KHyeycz0KQ&7M$m~FaOl${@)M?d0zpbE6oR5 z@9~G6YQ$cbnW*2U9QK);5Ii(4omYJY`7E_{c!%c zuA5HXpoM-L)ns}r$hH9{2OK#E@nl9mz1bTQ#Za!UVqhk}(r2{Auwrw7Y9|j6`;jqvG z9PN3KH-lP06v-s*Lq`)_Dcu1|H!!Lw9Y@IpK*_=Bl6X1{W=iV$Nd5q1iDP<&fsnF9 z#mDnd@iPS#4{%icK>i5CE_BCJFQlNbdoDsgJ?E3=uhdzUpe8$kDpyDkdKSXg*+amSU?EI> zE|4b!3+_<@@?cMW0j$D5D0`Fun5_c3Vs3ehrdKgGKiJ%S+|Y<6iZ&e;C5kp(rjdXL z4FWs}|MBor7Pv8q$m4X`jV{OI9x^O2UG~soX}a7-Yo+P(0iZh`sH|rpAC&#`?B^U% z7y`JnegW>Re^69HfZTE?LXPx@pl$Nc5pr992pT8fj*vP1A!wa^CqnMxA+V$vP7G+X zfbC?c608UfOee|JoM1p+AqK=#<;xRGwnuX4SQ}U2MB75nJnWn#s(g$W8=@Mn%R%#M zm0Z>04etfW{x`G`rf_3yk?f0@+Z=78nmfAu6lccZiAi)(Us&5zu9S#zl^Wg*2w=fy z;z|ks4!TVtPh^qN;IGg-U^YBep-BjVdATZZ1Dw~uv@ch|mjC@_W^|-tiy85&EfjA= zb#h_L{lQ6zQUGHY=J6)Ms{Z78pf;0zV|jkaSIN>y?S3aYVo@{xf`r4VzJj_*Q0g;D zxmt5%A`F3!2ct(Mb&{>5Kq`<6DX+r10?_aJWubz~Ty-7;BhuFdIIFgylj|FpApU+k z7RMWQtb=Lj@0(D1-6WJ}Rm=Of0S8Yl{wXvuhbBRZ@PaaJa>1jM{--jFD>>MtT&inb zt`tDcaM4F%7C6<`OjeO72Z&=B&ZGcZLX{|J353V-`ojWn!N0R;vP zeykNX?5N8{Osbr=VK~E7=aB+D-T;eKkwKf0ZTG~nT|G#MI-(Iac~Z$e{rw6kA%j@Y zR3|Sbc2f2buic`L21OAcc(uYPzZKS$zvY`*TU)b9 zUgDV9+*@I+MVR!KZ!)MjI=D)Dg+^hO^qT1kAC5msE9G2=yrZ{bwi+)5Af~*gD|yMm zmh!MeUWOXo7>(**1iT~J{8f)je$^`ae;t*}rC{vsr%}h_n|iC0UHBi+g&m*;_yn$A zwROnjoxs}%^a;bg_N@rvCt&fo<8LqbmU>?IyaL0JwXj7QsB^XiG1c`DwFL11VCv<1 z{fjLxBJe1M07k@)Zwl)J*rNTV{0eQ{YW=OWV8CaXo7DQ>#-+tGpY}l!gU7?B?&Wf0 zBKK>VZww``z~YM?c?DJn8(V5Ce&TSQImHp;j#TWB+|!m^wEJirV4XR zK(3c+aA9t(Z{qnOL>ph1UvKfEB`5pjDt!P}2CHDeKOkK}{1}KZl+b2Y2)m)hwT|wB z8H`Q9Am9mDz$%~-MjonD=X}Q;PC%uSBgx4A_z`dTtAIYscdc9%F^jd^F{TVz#a9QZ zn&YXOW0b0&jOwc}wN+t-q``n9bNMR${^Ie>}R-5Xp%?fR;*imL)S7wSI1|~iX%#qaCFhEL-1d=56aYCqt7qBk}aF+36 z6z&Gm_#_0ZHUXo}{jgLOYO0`FlYp)LPl(2Of5QlHa zeaAb4#l-8N`ldG2Ip4Vf9r@8V>`VS6tc zZL11cxMCO$?;=-Skqfay#jb#b+uReIn)rKWW$~^+xLF>|?80`1D8p7d$`Y^Ip_YJt z2o)`LA*C2@LZXvm{tk31|C;EM=C+M&8=-D5cloHU#Kg%y@aN_%RD!eiSM4aMHXZdR z*6*BKVHBtBz~J|N9&(kL;ioug{YBDXID}m9m?9~-RAg?&DK*_^>t@jEiGirBL_tnXkfQVX04=pN%~!|Rm@{FIyH#jU-{tD@omMC=I1TbMmxY-{A-)WeD> z@e_fE0vB9uZ@0Y_J34_=hs%^BTp0LQ;XtACkt=6R$hx6tMG4~uRO zeej0i&0F8>3@vzL(Hrs`+e3r@#NxN*Be>-9)3^O!_Cbp{_?@Q{M`sf{+g)3By0$b! zky%k)k7&9&d-&nl&y{9ydZeHYANR!1-b6S-ZQm##!r_u5C-j~5?<9kB>Hw3W@g>e_ z>j2U@yl?c%9ni6&?`5e#HD$1PIy^@_on41;yaj5YZB1?4VwM4{jLsy+D#S&WN?nfo zC-tc?P^x*O0B~}E@mNH+2J-P6`p{m^#~*L&3XI_A+q@BbA+VQ3EBB3%ib5lZOwHiq zMd}bA|EvFlA9#wd+P>^haaEzTnnW?HVYL_fD#g-jMOsl&w^}+PmTVK(zAf%}`#dD$ z*y&&L1L_3Q1spr?yK>Of^8=q1aDWb2;O=Y1@srVX+;Sw{bvC>eSD&S~;>?YO?mtUx zb+U?4t%WQIRkls%WtU3*;LrF$J8l15@I8s;9{+26EbTz7=e^Q~Kmzl8N(K>PwQg54 zsr}TucAIx?ll&<+%lB!|@s1=`@u57>=W=Icg7gMdM5T6W+Ke|UtZ39=%sq~OXh5ew zg}@PqpUS}Ehqv6sFM~c)Wu3?jPxn1XV+hICkj`wZH% zHL;2yxO;aKxcqNja)nD?P2->Hkim5Tylzb2H7=KHN=>TtBh?S#rMsK3Al5^mRp4%7 zXn9R}D;`)g+uSa`F7{$!T;TTF+@J;JVSet|*|N+%NR;J*NHDjuKoJQ-M#!RCVQGPv zkD*&2&R3?b@pTgc-+J3T3k;lxCPIXWyA!K!0Rce*(`7*D*gl^Yfc7d262-tQtrMn# zZ-^ME8B-wzUGB2gO-;mlus$>uJlV(8g@l4mR~-q2!~O3l67SCryn}infQy3MsF8&P zaRUnnHv8$Dyd-8C zO;R+hv-u_kt;~r~IpuV8J03%6oel+of3XI)m6{#DeYe+9^iHp%;+U$iK`>m1eaQRE*nhi_M}TX?~5o{w2=E#Y(UzS1xBMEo^qS{H)Oz1uo z9ChIqVmiK!Ca6c9m zpz@Qv(&Rd9FHq$tNrkpj+RaUJ%zw96x{Y>p74Pk~lG~&?wDp-J71zuHz+pJj)wWnw z?(|AUUTKE>M4_#uNGig9^$g-Egn-&V3tIlh1F;gmQ=rB zLlG9!wVokQEI10-%apC%SiD$gn`l;$F)KcmJ|IWc6Digxc_;tAQ%f=HTlKaV%x(fe+%j5}iH zL&?dDc$AmM_d-K7S~*d@LcDEp8!(GAoyxshz(Brby|h4Dh@O!jvXwm8@`O|0wXopm z6WBprXe(JDEvziq`B+2;+f$#FCPKtj+D=Du2$`_gsPJ&!o;%1$!&n!18>Yc+aT?At z{}vLEnc<^ z0IS@9`MyVP24$k_ajFRQYD(q#VWD(|qhoikXO~>04vA&95-YY{hESA7xd>M_6)Il} zjxLklMg^A1UN!1U8!k(HQPB(7#G%(8b*0pVs4LrE+PKkYmg{XLcS`jbsf{(uFq-Rm zb-tH4uuOLmS4tRk^{jq_wxEDHIs9tuj!v5@}u>7N~p? zjW{j8Xe+r(dJ&mzl6Pgc%&{g*yJTO%(PGJG{m}Pc8%uFZ-M|!3Di_Zr9F%-=5!emL zP14@$mEPd(Qr`3N{uZzN!233Ne#`ygQL-07pep!<%DvG`Qpf|gQZHd3o-UWu+@OQE z?f$m;K2rlYl>=?_+wNB{A@fSLUf}onZ6CIQxBhgj_0E5k)*g7`>DE8CZfIS%Cv^{p z(1ywYF=(ZpAjUnffQwh=9U*un4a9=ag+%FfZ)k(`TJ7tOl_NWFgC6;ojO@?{mo0N@ zDg)4{2|^yX(s~JS@1uX4U?8&dP$@6xMsQ}*9?u87=tlk)uG?^;1L7}T;+}A?v=8XD zk9RHP44O?1X*^K!#EG{0V8_p75vg z-d2H){b1J~2sS@BQM0=;fNxY)ljj3Uwa3@^zpjQ6wUGU>dgLbTGolXG{yM0I=Nfsj zLkAa|q!zm;{F(2K+|p?D$>_A`sHi1sh-#w(jJmTY*)%qaS(t%onSk3bU|hQciooBq zUe<@tQD3wv+7XRJzmN7t`-U^d{`p=nJH5A;HNM}=-htZ(R}t=IIS3;+WPdMf+Skht zBK&Fi-EiK&K~Wmd0OD4*bDQKy!V@aB{t-)cl}hOvl%}8KHLsdH}Qr zwwCR&o}17RUGuvA@R}XGl@O(vKMWYT+>x?+$ z^jjC)3uWrxlz7Bj9{Ak?k9gyPg(VL?^t%Taik;$SWZx_jz_^fNaE1JZiiV5QN1YJK3bc)SZ1s~Q-1HQRq`2rJAnd9NJ z&CbC+iKX4P_pkxpSZKS~3_*S>Eoq9kz6W?zo2lMY?x32-@`<&vG8wz+r-A2)9D1)G zH$XiozuFYEQZP9bq9d%JA%m>8>(Pq!Hn%1nsP zk*HI|<@1){@DmN}MB{e!*}Ul-?fXZN+q}Z~7&Y#&YvW5(oAM&mMpvH2B(9p;)GTg( z#eR5n(wf)ohi`^&4IB`E55f_WNWno}eZ{_ZmB$4N)cA zX6F`mqS?tcwU8fdeNe{R-lNhnN|1T?!gi5dEc0X#?8Rw z`b>(roN#I#_w{h}a#B{T9+aYBylt8FoF&%XjOBvq2S6J6bL)HNJ0f=*9|IaxC+67=S*NhRu#g z7$9Ln!3!FgPwFu~CU?8!?_AX>Qa7ZFr|P=%nB|0vW}wEL9;aywLsJahJ_9~jENfX0 zAtwOeSl8_W)A;oVy~n+IYd(n znEh~H`DPWuoPwdQ0C7U7n_3WSa%DFOh$C6l;wBhE!;wCbTI*{APIJ$Dxuu;>D2rHH zEm&AS!x}kS6V{-ui`eEj?1x=6UAQJtOCr#XW)`3qK0d}U!6c#8$WlIn1<r#OI+Juc~VgLbV& z-25TNX{K~~3$tF?EN(Gm7{k_Gr^Q8Wau38F5hJ{wV?jv6c za%dLi9*AxzvfH?#{0s&y$W;R)S_Kk7ZOJpB_lI?#kWXXpzwyNCYlyxyU^RZau?iie zzKi_b(EmQ2zgt7ykpwjc))uGhYtL*kyVl+Bt_ zZI0`(&3oD5PN(huyiwBW){zwnjyWIp`mBxHF;gnNY!vVMFn0ir8afCgVyI)?Il)$X zCs>~?EOG;`FHJ#!u3!g=Cz6?}I?LSkj|Auyo^65Om z78VM|UulULZndC(i`sJCs6X`|v0XO#v_ikUlo=S7Y9q*W@On<#&{}MXHr98F4)7vn zi4JfedBW(#$Z$wx_k@4=>v_SNhGhB3yHKkj9VRX0O@7RQDC z^X{=4Arhx;?!lW-g1{&@iB5)r4K_5Wh5H$s_@QOCkXdE~-ZMx|jVr`82eYco?9H&YQpBRqH)J3zB(4u@5k~Us z7Y?f7xJ~s@@t*eJL$ZkZJtDr|9=xwve0*La!~8E!K8T6)aUc_3a)YyQeOuv62Q01D z;FS8r#1q6m>|VF(6U(Xt7Fm2@W`^u|;ie3E^b5rqa?T4s$v}&rKWGv6wPS-6CBjox z#xQpAT*7<_^u)!O_*O%;X?9ZGU;4=6oV4!~{Jhj|dH;X~h7Q=OcFWi87PY{tcMq)m zhqj@2)o0qRGc!z0tHw4p_yC?}XYsy+4Hm>j!d6XKC^S7N{;YjpyT$r7>WpxB@yVH{ zWK{p=%nY=6Hsbh>zI2c$M6^#VzAZ8onr^x$lToryC{5w2gDAdn>rXOV&CabiWfZzF zoMX^NjXRyr!c7M(dz@32Cni$HEn@iFX7SD08S9HP-kg=Oer5(J?e61Wp*>&jJ77WF z)t_*L&;Tw~{(uG`sIvObpcmI1upC~~ZaLhazj#x7Fj;)KJ!m9I!d%eJ>T|Z*g%sf{ zjM1HAgZ~g62ZJ4zj@`a*<348BIjCPVX)}!btQ5_>bS!0r+dFvIz=PgEJ&c{=3ZkUd zDG_~@)#Mw^!3)3Nlm+w^0pUP;Bj{sirUxjU5J-~)OW-}edOWU4IE_ryGFB;lp8O-UbH+yJ&U z5oj4qXb{oqHg~5}7F!d-BVJl9v?f%*3@5Cjg8lL4MO@ooZ12Sel*8L>RiKlov|b13 z*xV+gAwjRxY6RB!(zvGkmj^9qN}$-jC-NJ551v8R4YM!#*s|(lOJrQ@^l&1ErE8;O zHnde<`WWaC8B(ELWyN%Y2rKZR7#|u$)IO5I8xcvtde7YHbbP8k-0bvvY5n20@e<4^ zAy15)Mx)%&d_!mCIQ3|r?^NECc;p!*MuV$9lC+yX8veSLEen5#6Q#)AUEe=e`1?BX zhJz6HVxwqqaTpDcVID|hcNBsOVUFa}vCq)#gx-d!ULLs?J05Fsd(qm=@^s7-xcIOn zeV&drZp@uPmLH!jRRZy9D?N4i@Wzd9Gl*s4r#Q%~x*2#T!`%dT=v*InzlQ(kaJCAe zfUr3VVt&Zp(GX>8PTD&vba#GsuCKxHk2NLiaKnFnx@I2Dj9BB}hiIh?aN^%V{>XSh znSsA4Ny*#kT+z^hCCN#9W~(kZeAP)iMrE_J+W5j}_T$H^6Y)SnK7BK7IF%)ByfeAC z&-j>YGb&L?HHjoSwcgxPwO*T1FU%w1e{TNT-eIK=?Q;nCQ9^^T>X7}Wd(7;m!*;Av zU;4~m=qkn9yQ5>{#>c>rZvEWOi|oMWNOz~W@1))Ox91Ppo5hWbdwegbMP^cw$d!sO z&He`+yf&~t+(l+&f{=tap#m3`G4e&DbddWptpPlgz%+(WmmdqB zJ$dLct=4kQF-6gg|XHRa3PJL|Av1ms(bK02ApiLM#0?}jtroHp*%~Qwa zgkb_Udd0$*}d2H$JMFFw4Z)&A0|%Q#)S3DQgC1G{k+I$vi5>c(B zH=o2g^Mms>L!!M_*0E;V$(O_fo|R1abNAHlcUbq{1Y!M-{ZqSl<-cF{e)-gHc=J({ zu940weKyo2Ny`$bRhW|a@7%c$4)40LiMd;!x?;NZx~BZwi|<|`TwXrWa4v0x;oJAW zcw0O7UUqNtva~A>nBF|LjuPzcRw(>J<}P0=N>mKJ$24BdsNqbY;M9wcdtA6&H7`{efrpZ z_Rh$kZg6Xx*xtu|$*&(UzWS=CJS*CpuzyLW6N0_+eCNHdTJlHkwXu6|-Tzhona~eq z-z<%GpPRNJfAYb(Q|Bf*S;C@Y8|LqyJo5d}hDFEr+V+n;_{pkrTf(BlE3fK0ce3l; z*<;V0J@fDr-TUXBUUcj)U%$II`t5#nzft8=Uy#Cm_`(8Nt&6>lv$QifXcS-TSY9^4z)^B0^7IbqpaJ9(%Iy*RST^N8Uxp*8AQ`I@c|9 zuu**vKYRDOxr>&4^75Lk&qX&UU0ybF_1)_d7Ja^Ve-i*`486PenT}(Tg!T`+oRd~E z+ZC6ud}sgU{G+PColWhGk5QwdU=_+BHw9XfSzW>;^zLEP6z1uhSt{q<;y8Lt0q)%|-(#5Ig_O6+B z=*iG?pG{l3`iajc|F&LdZ9gk2^_ig)4 zwC}#l90yDOvh}%7zxm3dVP`kYJ+x@slaKrGSu=V+uMw6+%s?XE*gyDya0CCGir3(a zOlu*}d$3RQeIrz|WSk)$G66vsh%-vU;|W z1=;KDuWSd~&GxZ2)(%PcQT8RI-KSX(hMhr37Se@GK@`Rc6NM{;0^u5=NVrM3Mfj!g zYoSD#Cp;)D6c!79*gRSx{86YBUV#1EdSR3Bn(&6O6~>F+74{1s3I~P5!ZG11;alN* zp-<3jk~L|X;hIsJF`99jOEg#FZ;Iwx%?+Aj%`KW=YJROL(UfX_t9exOdrg_ll-)nx*=(LI2WbF{GO*>LM zT02pDnKoa0mG)Y#OMA2SR_z?^ueBxGQtfZGk81w_yHqQ*f7DiLU(nWRH)&tfzOH>+ zyHmSI8`gfP{fG9b_MiCc)}GZeol!SLm!TV>bLet)6LgpA@^yu}>HnYp-JqMLqbo57 z|I=ajf&RswMqnD9nNUK{|JAVsjZuijNzfS3dj@6{^ny{)Q8=FG|LO46fKYM+F(@UE ziTq6PksJJHg1svxBmwE*@Jr>y{*?3yNhzJ@VK@?p>53pl4C%w9P#w}sWOE3%{J>vrU*6SQA2NNm zva2@?&hGf}juEWlOR}$I0&5ycY|yZ(nJ`1;vo;u+4F&-9*eEpY(popeUK{?E8rfIZ zU&{1s5{Tk-5YFp>07am}Gx6LU>grtswY<%5;`s`AvpfIV)r;lN_V2oST`*H|rrHYo z>O){oJsrl=lX3Per7V4l<7-q20!~;wx1Qss(b4P`WkRU~MkW>NTFOYA&~m)D-`#mk z@!zdJ>Dy`e_u!fEB`(^AD}bAau#;c(vPbZo^Hncf1lI%?f&1a>Ubg<9y^Mqcba<}J z;J=eBRF;_GfM!;VXKRs48Irh@-!mGDu@!|lWU5NFc!(I#TZr9N znu^+ykuow$W+HpoYOJ=jw$y-?YZ7C{xp>MQ)%vwCGr3k*Ry;Em^&*G zB)gnNk1X+_FM>D9_DCwCNp`$de5*$26l;Z=tk5tQoxWTaGFJ{;w$o0sHU7O2vaMRd zi$HuuSQbyeOCPR6kyx7H9$bH6w00r{)^@S&3poovwG-tDj-x%jZpxM{wBa|k#*SYA z0>2qpEo;LWRc!aV!gtdm_IE9j5h2URX_1q@jH>AFP#VrtTOuX|bo+D#KEZ}9v7VaY zwvu5uB09&_?uHSy&^SVqani8z;neXMtj|II4pb_)NXZZ_`Rn@-T$@~DQG?T@R6R1L zK2J3PUsC;L6r(}oqez5<5BEV|c*-5Vfe~CAS;36J2(DO+!z!Ki;m>gCt=3;g zJ1(Krr=j1g=NVG35*Dcmt6<|F_Gx$HM}z)C4Ufx0ODb*w)3gkUB*WC+qxf9$WtZ01 z)$St9PbTvNIC89@9}ouXK0YD z&%<>|R}@Bu<5K4lK9_8A$p%+oBv&8zN(QfFqIw%l(CagxJcE>s%YMv0qfC}dVWMq9 z4=7hV0aeNBa%4prK^^U1WJQ{bJgde!LpcoN4&=ZIYGa+g+yI=t6vWj<)@}3>8HEI) zB?T(Ibr^Eywx!7gquwR<;K+j+7XB8?CTzMvp_;*7bs@^{*JoR7D=|0XOG&bnTy9p2 z<20QLG&R zxl^ZyGUC7|^R9`l@PQ`PYhkCqcFhPvXcFMEOP zXM{**MY@-#RIWz#dZ{_1&H+D9as2!o6{R6Yy_6~$>QVvm)Y>%h@YgP?pn<>0U&|S- zIEy@rZZD|R<186X1bRtJqeCwV7$5ww7Ov+&EHs)EQ$8AMvpNuDlZRu9uGHgTX{Day zR9W8njvY* z7z5+4b(c!nRIN*;(L^t^mD%HUnmsTuvN3yL>dfY|2j)u*l57HSHXjn%%8(dV@0Er( zuKOQmmVca#pIQEK^8Y-uTv(YOpTJauM)~)DUz^XTnpY#3YF>@h=F3-HFxAi`Lqrgi z3zt-4s)5OSAD9+9s3GhhTL!41#S8iX7+D(YERv;s&?NQma>*cD%KbDIH)hhsOQE#J zx-==R{Qo??VT|BR6D9BWf)9;^(0HH5ml2wg4z4Ckf7i46rz`nl&e|D#O& z^I36w54Zm+rO`xW=hLtqtwpwWSWiXY+o|vM9;A?e=1gi$XTh|@#@=VX@!@7wXchKu z`$qbC`E5k8W)g*;Nu<+m%|c;-Z8~+5YB`(6nB67vPC|9S!xBq_)oe9w0;=px>Gtnu zeE0kA`tN4&za`x>zRNm8e#Vp#`Zb=N@m>4b`QN|ueU*g@6WpGB&y{j&L?vZW=pLPK3ST*|POq#@+yNMeg4JXxOAk{xzpc*At49(G(K6B>vi6F=-}8{L-O zR@^qTDi7ZpVN{f`2Ge;0ng6?oNn^^#$-~INEix@E#K7lc98{RvpPkplT79sdbNu+0 z%U+ux-qJ1Z`Bo;|FRr#R0bQ-E4{HNDnNtNGeL9XhHoWz%xanI&Y-lEroQ+{;d(@5< z!e}YmTNoMQ56e_OX7~-zVp^5`3?P1e%(87RD-RSP} zG153<4afX-Z61^>&jfV*5F_$?f%3yV3h#QwODi3`JNpJF4#aQ69PIgxM)JdGMcd6 z0nI4|$8gLqee;+mmiH7+^aT=6fl2{b)>Gv_5rwaC1Q0+ zSGE1fEng)~k*@Y-c&6-{;->_S?aI_aM@%PYTeCfKn;jgFsx9S`D2iK9S z!j_sT&VQ^mdEtL0hFw3dttOUv+J1{y(@ zzT9%ETTYIgD~x>W0wj}dB^Z6M*?k-wM5dH1{*EY(_~UMz&O&o%BdV=_S?#RdJ7-q_ z0B)HN(2OG)!GEr+ch_DoUyH?`E{6k(6BMV`zZqgW7Mg`^^>8}PO|yXOFaV5Y_AD%| z;KOQX7BK@vzd+1pg{NS~!cuP*=IVkovs|lt(lCtXU0K4!vsP)@reLLqTysi#;1(2+F=NrD0XGzJPS)SQIEOkhUV@~l37rKbOiCwawaE5Li zQ&#WMLqpLHMQ4rF)^va1xY)DU&AHmTL@+9tTNA;h4xuZ3ai08%#KtF%oVn`zU-7@w zXZp@)zaR2_NGSLMZAqpE4GRhA=7KXqPy}>*S%ftL(%T-z{f%fmOxWWiG|x3XuC}DM zMD@h};KD*erVBJJBoJRjY^S>7no!Nk5~?+2MhyN^qP{>tLQa)awM(NZfnCauajMke z3TzvB?_nxZGo!l9qP58^;#kpb%PZ|}fO57nm_Z*f>3#SutexO=sCxZWTV6o9l!}ks zTL@a{Qu$_}++{WD+=O26+s^?Rs2Vh9fCmH+v!!u$+0qz!R;!K$^_b!>IqSai?3HJ4 zKKrY)@@SWw?UH9ji~*}MJOftc$g%PzVC5@dZnAPr9;i=pESyVn+%7^z-q(b^&wkf$ z1c5`1$l6R=a?V6!XG){$WTWo3R>YZ) z?Ap;m9Xhtrjb^7&-r1;8Bm<8pqm|hOZtwy|&I@QfH{0BWq>kh>yTr?TyunmZucS;D zXs{Q)6BS?B7P}j(^{(XrbWaS>#eCejTxbvI5$*<24^r7m44Au1OoPCw)S0gsvWe}y zrZAF=VXSgk@yzEqmpo>GZ5-pp1^yDaOYwd!obJj#mJN3Reh`3pW*RHk=3U1YAaCADaYs3*19+ zZ^Ipg>wz1-u8$SK-F|x?TMD<}mwoJcJpT@NIs9Kdh;o11$Lx#HM~?!gkMyyh!QBDp zf&1+|lmT}TaWm)ivG;E40~654K7?zBi@?pep^p{c*vBT0?qk#8ehyax=Z9;6dj{>v z!ZQr#%;{s6C;Hgej|1)~^NgjBt(pz^{Irj~3bz7oKiuO#L*D{kvjMM1B-D9nAFIdv zc)Y)a=Vf@lg6AYW_u)AQ&k&wh;rTY6*Wmfp6MgIlxPssJu~Bg2;lB<}g7d`_y%{bQeSSGyJ?au2*}=4}_O~L=z2$)EJ$>r21CSEvL`}KFWAzNFP3iUZ)oRO=Yjx!*6X;H*o>qaCmiHN> z=~0?jP7M+1l?FLpuhqu%Hl97EG;0?jeFoLD&`3}WN0OrYC?5~zM|UKKa5K^m_C7LS8c*@(dP zlv{hshmfRi1=p;pF*Vs>OA_+(Wu4-iMxoLSH9aVk+?fLtNf(V2GOsrZ1CbhR*cKoS z8BnGFAOGEpvb(c?U@HW;|A)P|kB_Rl_Qv;QW|B;j$xPnJBm}Yv0TW&%yvK+TAy>zM zh>CB)+7SmGL_sS`jarYBoPgmLQ!5S?A3L4NnPkQ`H|-T;tF}~uCOrM(j3WnIf zA?z3FLu_H%5F5@PV%LouVhvM=SaI?Y^WghF;wB;9O~pg(X5{fc;?GDLVprkmg#Q8C z5bMXc4EbG+ZxX)QDASIo17D8s2MB);-y`_mg!iivz6H;_@jQs92W9-wJjA|-?+$z) z$M;5r1rc@!p6}pUjOVxUoQ>ywcwT|$COqTF^B4GDhxec0Np;9Zy)DRNC;a{c-#73b zKpCHBpsx4^@ZN;DTM>5#;ypcch%Lr*J-$Ce`+r?F#7>nDvF>Te?}{O|X7UjGR^^a( zb6Z3;ZC~-~b67fwn{1{(!40Os_t<6$dswhn_EGqZf$yIrA8G1qJ0c&Z$?%AbBNfcA z8hnT8lqbJs67D(VB}wF1Bpfp*`KyJaY?8l*99R&9pDghm4xand*}PPF{6!Ee-(ltD%HzAh>-rAs@d74c5(DS9kXfeKDe?9fMX)x= zrmewE6HDmIKIxtw2C<1_gLqpbIg}kdwWQbSKLmRy0_lOV%`z`>);R@ z{D(1+c?Ffux1t_mb&lQ%*v;gJg-CDg@Wpo<15toa1aqP}-Aqafz=jcQ2Y_U1H`ckd z;(=-%FoM%b-Q3hJhs^EjLhdX9x90C={2wUoyHth;=RA|y)(&nGH;Z==SKa}6ge2~x zr{0!++hEl^!;jsWerG%3~>JCf+5D$e(% zihh$QC}4V+%2am1B5sS^&i5qq?@kpc^qJ^M3B?EPRl`aD@U+~F+Dd_85y*Q5ws(ei$j5!RlA&)0e;-xBTPKTnPRg?o#&97H++4F5j88^`qI zOOrzFO31Okl+cF2@sud;rLQzv0138a7u#a@U# zA28jf!TXv?tbuNTNVxd?&cF_K$W&*EcAH-q-lK`-?qqRl4gTT6C1WbAmzzKj|gctNK zdN+~!Pih`zrgevwtp@Tj9sI5#`r}>i8lx`(jwCk3-b%;?w|5dlU6AEyx4^`j=B4NF z5);!jqMAp_IlxX8*ozk;-A9}v;YfK$BA7%mmBQ-pd&k9*9(>xEN@tTZaHiDwPl}Whvg;-_Y=3L35JRf?Y!PeY> zG2SK9)<`zCMsy=+h2TBJL=#ui%*tn}nd?3CH?ZnB3v+4CctM1@q+B35h$L zZ#FyDH?wwd8M~XyjV#jDQTh36!q=<$g0nfy7flN0X)-oFH$J{ZYj-fe!bt6=Dt&5! z4S^#8GqD|VU(-?ZQ8h(5Vu6*YBYa1CLr!x;o}g#JJY$YJRZz>yzZHxS%!E6b;>3R- zQ^;iE^}&3*1%^K}v&5ix(af~n8*Chfor$#h33kGA8+J%FW{mLFLH(z3fO}h{%$6 z=QkYzEx|l?FoVW7enHL;W?;Z$+u>;jjMC<4LH2o>{>i*EoGBmzUDVx^Ha=7J;kCz zUu25eu@2g%xE9hn1$rF;Sge={WLGn)RC84{`NWCMDVx*X*SfEZT^(BzFjWwAKso}Z z%XQbNV3WU^$*a>Fi{(i$Vn4H-uGt9HsL9GQnlkvHwdIKPF+GfksBd%u=g{2k-r;AQ z;bKC`*zDM>fawOx+XE5cm2xq*ize~P%>CC!O~u_hwOp+R=xF^H2 ze{!WunN)fFs>l?`0;d?&zcgssl&V%LUh zG{Ct?DM{bXRPwO3NpFh;@F8a)sq&TdB7&5hD$JZ(;DuofeLXOSi-bo*kZgE(G{gq_ zprvtzUlU{@Su6*1rrRGe1TA*c!oyNh{$bx?u$W$pgyBwt^AK?Wq3vF%$iU-u7PJzR z6tt1w`KQV67fc$UX9tsx>d#Di9;AbNBD^akINMNzZM*jkk>+(h4Q5M(ZTAL*@2{B@ zqZIEj>G$+Jz@&Zjq#2qd@FDQi4c2DL=3$Y5>Q|1dMUaDwJkYPa2Xo6B@nT@odh$$S z(%tkl;_3!^LYwqPdYYMZ9iBl0gz#Xrw|lS&g2gEIb|{a_o-QE{8Q|9#SDgXQ6pRhv zA&N-R+89pN(tP?o$`=s(AIjGfH3idDb2yDjxSS%I8MI;l|4Fof2!ai3VZaic5ny?E zySGy$1fs~4qd?Ge+r2YI84j%qT)Y%$FGlfF$h?kW0hBf2@mfId zQ%+2#M}j%9c^>i9`QI^6i_i@^%O@7_xa98$DDSFC9(kWfJ^F;Siu}X ziUwS%2unL7LY&*W_SMTBjsFoyVS?+J%xPiY znYX(FlqN=#EyNV?X@T9!%3I^OH8niKg?3I8?=#lb`CH`NtI^ulqqaX+kX)HC<&)$P9dYq&dMj^F0kwc7R z2$e-)7Qs=VD4Ggw39eSGGoXot1SVycqCZru0*IkFBMfz;E zbqx2)|2~l)o`?kqS&Jezx5I-AVD_ad9p=tx@`26+9S1u2vqe0o7@2}gO#_#j%ui0_ zzne(nlb?;9A+^;H=1nY$P1^Vb%<#Y6`@f&?--#-aO2lC@Uki|+y}t9 z0gfbk^7@}3j_QZGymyk;19rg+wwR!q#>pJBMgc%obeN5e1^52OX!5b9Xp&pnzYVTt zxV*i9bRj`n116|=E;tn0v}@;HHw&bE+~UzkW8RzkR{byTiaO&DKD1KGvp2q6Nu2bTS) zkHnJG==~KfEWr>3nO-{h53#s-m>SCSEvnJGl_{b9-QWb<_a9V^$YEr?G$!Utlax>h zmRbLAmX#2Ep%+1c5A&;wkcYl**4I~Jl%if5 zA_0rUdck!Oq7yH;WE`~vze3ibb7C%_QqX3!s>?uLao4sDlok&wzp+FKz(Rbo()z9q z>^5T{4^|clbK+cKx9k=9MaMl>`6b0K?{eH@lV9d8=x{^ zRq0x{!&p~%#H$b^qQuF>nQDa+@2qt=_}3j{Sl9qy^8)gK> zWT}I8S~`$4QII_QOu`^9uylk7YMPZKSA@lK$QctvE%c(Y3k;jlyQ!@3N*WxG|_C+x3kZ+5IZQPq&Y3+pr&cmJaQ7u&tlwm`#y zfQ0?tgyn1Zz9+_R1j}%#xt?PxO|$O>S=rnM2ViSPfhiXN7RqhKa&dvb6(*3^Ld4-Y*`N zUu$}u#$;+?)P$+kML3#TsG7irxUf1@Uc+<<`;o6>Zj=wuc!0iG0g&umvB%})_fEnn z3YbIDaCoOXLPWGV}q*isnGQuAruvQIt$!EZ~UbOt|2#M=r{i|yXIk7{)a zFt-2q5PJ*{H@};sPHV`C9f%=~^83n@c}(6H3&dIx1(o;6tsXhxe#PzAcp6b7#-w`_ zY)$1!SZIVK`y@`93SqXC3!2;^XmTfLhhS+(_9TvZryHn8ib#lr>DF|tUA5E1K%Ob! z128A#DIK9s@(W`@Fg(1Q?=JFw&a~m9Pv;=?n2kE*J`BJPAR;oO1Sr;YtW%vwnN3lS zg!(|lHR37+dnH81^o6bnU0#%^o`j2sCxXL}JJ9Li1u*ZIBxYicXo48&S&3;^$mIle8j~TW7LCL36j2u6I6Y~Cckg!|!3Kp8150_r^-mFc)a^*~K}6fa~&- z&4k0^4nB2>TlA?kiz-qg&?0msYK=sv_8-weCs`u6#X@85o|};9MnVFJt$V(*gR!v$ zbPi%p7>n1cp!X1MB8ZNp5j9#7;pP3Efk21`U9Yr+cIkUkPzjfI1q!I?81b0ym#*QcG#$<)B@-XA}#WehwO8z;D~2s&rlu7eiG z6Mxqd9oPJBdNhkTrwp-8rAx-Pd%sQTale@nGrZgpK^6b4LtO*B;H(cDTt>l5H%F}+ zy6SrX7(U+s{pdt=cmn={EBOlKv>in6;6qsb-}#o|ul*88B3Zz7fuj{3Uh>%1)a=q) zZ(vfY#@!J|@8WOs3R|k6vOerxb%lH#WiF-DUZ!;PTo_i<-JO_XcAy#3ICm!q_H*ig z`wa|0{ttk*t0Ve3^(+=6O1rP4tz#=LYTVjEBnZt>a7iH$Kr#X$zM*Nf=RlnK6%S!# z_*Y?~1i*}-ZD7W=F>)tqHtl(3=ZlbUoO2O<0SWih3?ETmp$Gp?31FjnIW;fv1=?oJ zdx?3&e-~DQ#O)u}n*GHvU8Qi?g_M3jN~Me-8Q=Q~Q_tv$u{`o#%l!X=EU?H6L7#&5 z5qpVWCo=pdiI_+X3GSo-7%F%ZSN|d9J##c_qeWE_A(BUa&m%`&%6sjhs5z=;9XJ%V z((ZFo37(y+|4s;ZN+Z}1^mb;q{nh(M_G!VNRh^_Xg zD&3)j=qZg#=YXrXVHS})pRiD8p^IEZL9m1}`G<#TE>l7uc0^OL0B--V1M(p1HDaSX zqz{SiAOaA^f$ca`A=*UMcZFYM(vt9?lef#!(Jv$4d2A1N#SND z6@_1c3T60yhUIaq0UDL>7^KwjT2ey$4y%v#I@TR_){(FW;YUd0646t``zZWH<~{ac zJyF;?S3L>)>s*1iSpA+P=N^VMw8?GszsBN;U1!|x{f7LO@+QzdwGTIkY%hd{W|{$Y$a% z2c`yck_;vo>|pOBkjguwmuJQM7sD{O!^kiTm6wFCD6LQWcrBN{Jj$idFW}k7rH@@4 zCG?31h>ML8{8?ejz$$X59!ZC&e$AD!kF*^Y_dNFkrKAVi_$$M!SZh{*NwiCZGkCBvP$?1 z(roCmS|B{6gM`+0oJ6xW+LWT6Oi9Jvrc)&&|8426&hc&5s;aG495~>w8_rO0q-hnW#`cWu+L*Ms=z(&%8k8NU%lMsl(5C?y&I>(=dda^gO#!}#J7`GL_%Af{M2^P zTyBHgs8pEesPo(C#@IqoL%M25Veayc@C8)S9o6;zUZC0tD?QFLau0>&&~rC!vH z4qhjE!V_;X&>k)o+bp^Pkwlv(3egs6#A+1~!UPR0EH(OVj1_Fo4yLhK7H!fdi7tVJ zhz=ok{!Ap(AVHZCn!p;EfGIP<#;Mj|x^jD(X!$s%7TyPX?fdREy@whGt3(hY=2k=p%qjDHX7v zN?w|9Lac#dx^@lfPm>H9O56q%=tky)(k#0vhNV!zEH>htVgMBByKFSVAT(BTeOAbf zm2982t*8h0_|g43T}8BTDk9CHBANh;2xLWaN;wR5TRiR(zcJJMB9zwdy2FxNIWZ1G1&5_*xy+D|d z;m1c{BH&~W!>&y-8Pfk**^ruSPoH8|(-EV~DwV?dIa-q*GANcGhcM};|F|8edx}~o zh9|L@VLBGa)6qM`BnbFrev6tF_cR$JO(o6I6oo7lpr06PH0X>%t9EXPcw=wYeG;o? z%*4oOsU(PQsyN7u^{t%a&JshS94j=V_fr5*??X=-ha zrqM|p8ty);=ny>*;12%z$H+-w7p=Igz>SvF9t)uAk&L*g&|iwAh~tU#mKgvW^*|;X zNKevNg&9m7o6H)EbJ(S~(P4BtlrC&(AQ1CA5MMII$5c?9QwMM{EVJaCkl{C3V8`cS zpo0zrSEmu>*YdRqT9d9A)<6sn)LA`UF-~vF=>syGAQt(aA5)4YWcW5RC}$F2x`F*B z1#Zl1Yrg_q#bQoZuNP)55<>_>9e5_@8GQt)94*D+OFL667|A%hl8y&~mY6gvL4t^( zKE}{an}YpQ#W=RTL_~&%y>EPpTri|9H1_3m+6KmES(l|70@+1;`t(4ireR1fF{J%n z2#w&xd;0cR_N%YPa;Fo2`|5OX!6JGw;V7Wr>>`LJ1{ZiSGwr(K>RyZ+9cp4OMpRLQ zXcl6yYV`q9f6k-T?ES~1cLoZ;a}i|&K~QJ(wiP*>w-)Iaof1_=^#TbnTRdBf zJmC`XuW-a&NGk0M6jD7v_AV30FhDoV0y{ln+)`si4qB@Nwi!AgTyavc9vxl{#^wey zfrD|i6vLmmbPK^IAH;@akww5Rr@#QaIC1H6Tiod)*KOM(s~$Y?BB_BW-wdXYEC zf16RTL)a^CN+AqQiOvNaQ$V)JQcbQiX2!Y0#J#0ysHK$JgLy9#yM$Vhm@LF-K$ggm zKx9O%)OtGKWK{2l7SS0uB+d|iM%I(gI#Wfyg&3p;2B*)60sve7&`f_C3(Oz~wBB7^Mkg9#-0g#K z*5fmZjo#KBY0bDZ8r&G=KZ#0)#Q68qWqLHl0B(>M!{JliAB z<%{P)Ndx%on@_uPI8C#4KIYPJIrq)?SFx}%$2TAQibDwZUqf;fdiBlc>t|Kj#{u=* zq@5Q2*ev|R01$BCGig~`M9G5gK-B!!-Z_%-twVF_a3l^==~~$WtpVBU(SlRoIyMLT z!&35FXXk{aq&g8JonqKL{u;3swos+OXPm|Su`o7Y=TdPN_Ys`MeN>+@Vsm4&b>5I~ zo5gGA$j#U#+%r|p?%g9!A@9MlB8_*{E|@(Qdo=clu3D?-5xy`CKq;ah1h<|;v^!5{ zf&@6R3kt9sfRH`|XsYr(+>7(1+@#dYjbLBVnbTjTNy}5>VSg2-hxo&@Do<80SDOSb zwO@)R^?O}3if$FC=5iMc7!p~ivQI`I3elt_!wPMeM2w8ojvHgvLy1Xhsp$7gGtwd? zKF@nQb#BiG^P;(}cDp^?F<;JkD|_zSMROwu4@wYI>o1KHn(~{|LUucDjVX2)xW_{R z&Hr;w7`w{&H8BxFN?I65x;7x%bdz06B?R2jyhB_PZkRK+& z#|EXCj+B!h9`b{+h06RwXD@$s4pl0bQ$b_;);-ld&3(E1L1ca-L*}WvhznXCe*&g4jw--sIjODj$0A_@9gtLHA*Pf_Ng7v;IqXZt6s_WhGo>(=@G^ZPd_8{Rdv{KWwZ z0h2@J}aa;YBu`2?0L4$D`{Yt54LwGhxO*W9!Z@H)l~(2qo-9!*3V<3=9v*K!)` zrd;%#DDa!UV@ee1^&jyN^@L$ts-Eyjz(CZO`a1EUHo!3G5)m-G7qT$T#g?4c3ZRD; ztQu9@UeV^gw!KDGM1*Bhqlk!~y+#oc0dP@7d{H<>L!q^fmJw>9ZR7urH z<&X;%(rQ6a82O-b+9x5d6K}wG{X@|Hf7_j?!brbTfmCHJKzEC`|4TQjJd$>7YemLd z3-v~!6nyk1Y7cD`(ZCiTrakpHilSw$kpSQ}gDT&FWx92#iS>-kD}^jQf@SA zDRZ=4j6=ME5`Fbe!!ts0`cM`kBfSm!P}kqY$QzBK#nehfWkm+UkK{9nnTv!vN&!to z*i*^Fa?Ux(rNQA8WyCsA%Z<1%nLc1N;F+$ir)4rWhD_vqqywXnC+5PhWdm`0;<$K= zMbAfChJ)}h>_V)Gg;)~{O;{FZ8%!K#-a!*}#3PRvp~T2pdNG5Ksgx!^QL@O2j+_tu zfIP9F5LN6Y#?I3Nvx9R=JIC1OM!b&TD!m zv#5h#xT3QZcNF}%N=_$c&dR@6)zT-8>zT%)85EepZ>VZ{Uovw?RZF)sHZ@kN&*<(_ z_tbhR2S9-EPk4*nu+Pz%+EqwAsKMbv zU0MjXm9Cx&*7A>@D%Lqzd9nhhVq1;-%q>%#3aoj-=(#y;%8a{YGjS1P%Io|TZSu4l zk8)oM?iVpST)0c2YoeUqjh_sNv5VW%QIa|?f-RXYa@O^tE%EwJGYlx6cF@j@@K!C| zbqJ_$`5zZN(MP4S1s9vAxc;;1^{Th4ep|J#>bmFcttb2s5 z+{9LY=W%}ZeRr?l$ZmXe{bsgo)5gu~H$J+K@jonf&v!3W=7PBpCLEHkRLa3}mC18L zQvsCOY<%;Y4MkVBEc)?P_g>YqDDkJc<5%%d7xOO`^ApuPbqTF%4PeCNVp^T&%j3n7 zhFye10;fI=6{}`}N&G-HI^Gl*2?`ZQO?1^41q4ix`iPT*x^*E>>nzAm-elz}a}qQx zaMbfHOO#@Du7;QxsO9{bYW{I`+6fp`(~eQVLxi^Tzl@$4qRM`{SQ(FMsy6JvoPVbp zhM(Z;fhC~4N@BJ1Xx$A9lXyLzX(GNJF0c=AK?TgId+nRy5CF^Rgz zJvSa5l<1BxFw|=IkMB%U#-l5I`FcVq{mAnZ7^uz~$t5!Y$R4{&O~!f-9JuC>&bOlT z$)D~UgFm$+Jd4!Lfi?+^e;4jJM%dTJ$hgJcKcBBy+_LC@=C z4^fJcXAxR}_F}kT1)DEVfN-#DJkf98ctCJG-FRCJcNhykE8JKi6}u-9Zo^uFfq-mq zhKyt*(4>pEQw(JDw#z^=I!IYOK4gp^AdbUDV&M6%I0;k8rk{{e-AX!{8pV1WM#pLNND*84_nJVMvw(uUpJ=9>|7lb3nd^mmF7H_4CzV z%N5kJ-r0*ybdXeY0QvwVoy&)XSwcgji(TTAb%{^OB|dX6@u|7Q=ax%+?!Clk%OyVB zF7f%%B|ec$eBQjo=l7TR{MRKur!Vo*IM;vv>;C|FTw#f8B&OFT#wo0Pb;0_x7^}oA z3KG@cHa^~j{|RwnOqtTzi@p|J3~eo*iyvC8I7uR$iKDp>E|XU_t?D%T8S_4r)v)a3 zvT%*N=9ky@UE6={scWY>7djtuD%Cg{+`R1hWxri^blE4%_LsA>GJ)d5Y!!&6p+>SeLe(h53BB`>9k_WtWS(_>4aWT6RA5CQu@|AohR zre&~>|Mcd7sgX#C69-c0AlTBFnCOJOSl{MC^tf7ugDTiQROf{ASzk7`h#-E-kL3jt z5}e=E)eONFW;C1TrWzsSMLGy+a=}633vGz;xS#@|n2_prcU9Nt*Z6S#I%LCDEPC4C zDkj_ER`YjmCTnw6d9niSW1BpM^yIp3=08V! z9-#J!YRCoUtVo44O*bJ2gQFffACUmnE^!$+?T+XZlu}?%2mb~s-50g6(5Dp8PDr|9 z^)o}|7d4s>_Gqk14lHUT14M&{FiJ>OQhIgZTJx|mX*~z42qBT;l8A&Ho zox(iEnARb6s#-@46p6&HAF`rcbE!j6PjrZ53p!*ZL*!J%`~#wTQ~amLRu3n;M`1_R z^Fzbkbu)0v{|-5Tp?fTqpPP4D_GDFlZvEV{Gi#3-j-6KQI2`BeM{h3^7pUx_a|IZ z76=j1w3@^g2kCl6F!;r9TXoM$NL>Af%u1JkIqRxcC!-XQI@)Ee*0#w~4TwvdQ}*~) z<8)6PX&0~n;Oq)5RjM897t_3sHJTI2MKT->h1M>n=NvIx*UC0+w#EdF*&3Zgv$a*s z)nuY`JH7^$O?m>zA)sanp*d>t9(>alP~Ux32&A`cJN(xH7g9bcFzn z4&p;j@3;&8LA=v;Jb9jjB-wu+M9QCR81a?!n(|RyK*Y=^Uxy~;0mqS;Ps2+nU&-T> zYWe;j@QWBMmjgJ-RCcyQ&Uz8*tN%ApFl>Bc@!vC-eXqwjycrL6# zL>gB_9g3BF!c2O}1AWT_+IJHPj1|Ww=sKiC1Mee}45Qd!c}GYhfBX8-HA;;Gdn{rp zNl8Q{HB*+f8DA4!N|5+w2^v9Vr z2Wu2*ra#pnl>so)WQ<2?q8N&zhojcr(KLSsvZvQtbS68gChs9ryJjGH_6n>CP-Z{sNIG_3EAv>QOczNSA!URh5ru#@Y2En|b*E4Q ztr4xmpcj=A4I?yeZ!6Gji*(Bq8jGo|6MV4QXg@~`glQKiwX=3#!8Gx)b*8C>8ghH+B zW=tATW$CKfY29Ncq{a+%Mu&YO7frQVq!f4t{cxBq?&T-0$2l*pRZt|bVlYuHQ884H ziVP$fxOF9QWxaJ6G`oSO7y|Vmmk{|8rlSAyB5iq~rytg|Bq0h$LbK*Xm@hBl*_uZY z-39#xS~)C9Ef#ROhtBh=(|Fe^_z}TEHncou zQZEm$0z-q&rv7eS70A@|V{^4kMTrumbX3&KT29FNd1!Z0p~%pQ3`9Di>VvBn0^>vw z6+Z6b7y=Um#mob1*;LYHB|xS?zLpd6CjoCnDdI@;EO1&}QQab{Z!U4+n$t<&CHTssyXnd9Wjq+$?GpOm*U4=SXnuF*#w5 zIhYm+rj88o_BM>+Mo1hJ%hz-)UuWDjx_te4($bq=yQ%QzV>kWs+Pa(TZcZ#;1@_8$ zBpc7aXzlv*oB3m_3q^BkRU;G(JeZ&$z@9<(w5E1pM?{w?Vw8j9 z6Ou~Int+!$W$PLt8!)lZi!&`ih!L?|ZGgmbiA5MKzi8dHGi#@1vvso>^V?^F=GI`~ zSAJ0=i`$55KxFA9g{J*Ph=pw4CqmLS0dN%wfL)<0mBsQ3ShZOW*?ukU_6SuhjkPKh z&B`Yzf^Vj#5nM1bMR&xT^5RYTLg?fD!38Zv(brN4U}#ZY*D}T)yKRWwd+QK;2G1Yf zF~pw0b0fawPv3|!d$RGx?zajhVqZC8Di;o4Y8TX?{36<6yG?$R>Yl+?^AF`@Li9*&mmtg>M#fI ze|Q#oc!tk zrbipikg)4%C8`j(z&68V>zBa{Ik`1C{1*d%`Z<|3CD9;Z?QKkEjY&tjzZZ*CAKSKf zGmD=4<)KD6$@Xr*&fZ>rn>~}*SF-$F57H^6wK{`S!PNv)h{n5F_H* z$viugLIaYe-Q$B5RQv$vaI|WW?EGjV7Wwx$#m1N2PWow;xFU=MDFK@{i^-`TIgNYQ z25e%R+Uu!I!Civ;q`gu;OJT+AEorymA!)PpUFk`wNotmMNY6|285#XdfzeN7<=6lS zcyDC@4O#ufi(*k{BS*e{t-p+Q<;nvXx49U+<^eUct~WNIZ~oRxe~YEXQuQ~kJc*e& zDF!xf>=7KQD`1QIYLNB5u}~|aN-qJkPA(*N^6kg~O+?vT3*l!a=wV`@g|2}uS6{B) zK)!FScQfS?OtYJ&n4~1LNj5cPcs&bw%{_eQlQ=&|Jt($CUltU87F05YvbDRezs`LP zY6Md6WBz>lnTww=EXQ4erxNksNPc8UoT6Z`A>uL(dD&h8Mb-*@@A`nRuD^uu=4nS}86yJin3-KW`j-3LS zH508ZM(o0fciph+o%guVe3-lGefw8lG$o(z!vNEa46`ZcIOIggf^SEDHu3;v#%54& z-7h=5{-+E+)_RR<^UHAfzfV6q@zX0}XHx9?IJo-gAH22&nl016452gt*3*!IfA6{Z zcy*t4tM0Szb3w?KpM3icR(I@6OlU&B6qqWqwRD<8o~wNWwc%az+(DWlhtlPGym{GIEo*s}4(l+=4aI z>oTr@IHfmF83>&cXbZ&TcPay-7n@2t3r2fyAkll6kSPvt$W%&TPY`wg;as%ol> z%BSUf+uXFhuet}^XZUM(Hmm=JIxB8pk+QDaSJdY2F$}9|)Qz}SWO%DP(U)k8a<1IZ zEU<`Nq^#PC<3LK0V?C^=;}~ga<5ZxWl*~W)77)#`Za^MT+>UkUar4u?vRf30RfQF+ ziqBw#GiuD$3kY;~QDsmb!puE)VmD!1(4c0$xveqoH!uWZQ$Ox=?{*Km&xSdZ z&uIxF-aqI`Ny#Q3p55|U#O+}``iXLu+ILnu(z6Vvf3yVhp!7bZrcsdp?p>jK9qZge zZWUlu1}@r#+Kh$NW=!2Dr2i&!^t&3;1L?$hs6$v!Xa0W9H!sB-Di?iwcs%{?CZFZ;7(G54Y1C)t4iZ(hIPW8xT3RIb% zyz#Cd-nHef+wM}hY*9*N3uscRq?9-nK8l?%+EIdVGs3^BG+qLwaZdQnf&7kX)27L# z7{PUX{kJ>q*lwY*o#mlNyEIUbT9i4Jsi>{CMs}>jEoZuqrVa%fG}QunHx=}5s%&hV zDjUMc!b++SwpJ@;dzsVOT8gc`fNe4LS*y+C!zQu#!6{iB2c!7jL&J18DlX0i6b(u; zgd3DK(UqxPW_p-$|E5Vv2YEqr#hsJ-_ygmKv#j2=6W+PI1FT~GQ;A*=)y!cQ>6 zn5L!#Gtg2A))n;$12qh$QH)@Quc%@Xh$#x|brP|~LIl$^=!HSBGM$drq^^PXHjKT- zQz(%r)PNw)I*Z}`_gSsUzmf(QEl-_wdK=QReZ#J`k%Dypvep zwN`}2DY?2iVV?37pTAbkL)&mZNk2-2eE3#R^izK4J;Yl$C~t5f|2Bp{iBJi%n}PAZ z+%VRcxAWY)G205gynrc}I&4fSXpn9U9oh9 zclp;?1g#+vW!!pjRan6aZXtI2zhD-qe+f{VM*wwyFpXEPRb7CWZjh6vg`QGMEvulhs0?1P48!vz(D;vRAi% zlMc&|W>WF}chf&w^!7}uN*;C7oUH>y1S)(3dc$2#Latm0Ivnfjkm;6OCw0|0lpZuh zP=N*MUni;!) z#Po&7eZRP%Q0MREQ|5taM)+!39v~giQ#hGD4rSTr(tS?3iD)&ZjDa>zCvUbH(j+3?) zs1{YLMsR$)WCTa(EvadvvU>k2)d34Q0H;=rvPxd9CTnhf?Y-W0!>%S83WSpt{0(r- z^Jp}?e<~UIOCGAa^3xv3(T(03Lk|i{a=Z919>5V{m-?}Hwt-Oe!?q&%CK?iVHr~}# zyKhm8>DZ!{6zcbW^-X^20c3!LCbvtvjB>hU>kl(3c@>ILrzv;tU({(+?%Kbo#iD$m zCiVAvcQQZ@Dy({g+^hN2P2O9EF9y=}+OT8>nBrX>O_Hu6prOup@M(_@4h|2h32~8= zPk9u6x-uSxW-yq6(?w#QXqkJp1p55{1gOtmKuz6M?nS6S^nRDftCfu^7Rhk%?|S4# z?kd3iyB_bVA+$70sj9FjPOP5xSGA<|_ev#-bAMH5k#bngMo_M@0tVo!;FHn+k(8{g zfGereg;6EQk?64H2BjDM=49^P15qU^uOjGMlvNmP@~Q(-EhZ@`BK0xY99h>duaI&D z6SDu17SWD~hYlR#{`*?{rJI$Hklp9Z{Sj=;9FkWRBI<`lTEuF3RsW$eIXd^l);DS> zJEd$TO8qYi=7<*UkMhp@lz!S$Y*(D24^$%+ouRA11#&f|{{#NceNqO!*;RA@ zVP51RcPd@B8!(DpI8R*e8}m|mysrmWB_>Iq0(XwM0Q3pykM$`Gpw5xf&;cjO-I78O zO_f)<6sMd)Eure`V@c=-j;_R&Yt&2b>jy4rPXor<%t z5Qo^L#DxIL3fWG8$+%?Bmy5g>=s7PIZ`X{?8MRJ_Kw>m+3|=5)07lyPZ<4EAtqU;a zaguk)CEeYaCZ34Hm<9{~RHH{})D<4(b-4;Aa28?g=qBa#X_jAeKM2XiOE7^IPK$w+ ze=&?@=H2)6DVx>w{@A{gFVm&}*BhQ9w{~=tK2NX6bN8$7B4T>7g2&u{-w{GHJ zZj>^G`^$~Gmx%P|^)MJ#`V4>K!2?GCeW$Xb%BdU!YGDK(1rn#wcsnYu@W{tJ@=^ZY zMhsO%@4biL_zZ?~Qd?<*qn{`dS_@7POE$jxewy;*Q`|?DC|&X>4~T|V9zP_XQU;Lq zDK -H)tKMUmP4G?~lC4xEDjIK_$XuCVPt-I6Xlm7|1JN2OzQvngT>CRLH6_M?Ry>!+I%0QRNEdj66pfl;^p^r#0z}*s~?h3W^^jnc#oEpWc2q z@|K7wwsgX0v{d3nIc-mJpT?=-{bxF{26XqjKXQNIKI}f?j=7JzkGV0lMH^+E6kt=m z$n{MtWg!|WYcZaXr#ZFaV$)(}iGqbW0FMhD8I5vukGVhUoy`PH0F7uBdOB)85cQTb zFV4(6D@^-OcUlNW&i<&>Bgl=K2|DwEKs^g~MvGjaac5d;l%trr4)tK8_6p_D{+L<> zu1KJXO@v!$kgYgyNIHsdIwGGFVAgp;kx~C)SNk^Ao~R5_VNlKg7Wn@dNetDseAWY0 z@PJ%}VKjhIg4uOspwO%~F#ri1)~yh=;5<3)GUcjiU_u>RazR^?X^N1N3H|Hclo!_a zRX&Iyl|{Y*ov(aha?lQ;S+*=h3S2ArBqCEPKP0X8{k_X=uGLS zM@xiQr_%CmEb7O6GiZ=vi}a;{^c+p-LUX#P`~{d;q_Jvm9YE}1w*R!6jsY80X=?un z>Nun8igx`pQ59HF@K-koTq2mjob_Uuv#$0YDiO?uwlP6P-ZWd`2r7S8oaBp5Z~A+HQO$6#rA#h4eOH}4G-8mCdQ%}EM6l%{q!Q6=n>3~zL z5)+jWJ4C{#b!8n*aZn(v3$5q{l-J{c2bNh?RI+X_U#UyeB=cf*se7Wgh=vF+++<{M zeWlg`tXYpTQaAr5{dmXmm7N(8Onq`~vt!*#bUMy%)xK-6XDTZzkJpmvft3&v*OK;x zz!R(1Tfh^e_giS#CO~;AKk&3tW48fOodjz;)md7EgJff1FU=qhFFuU_#K8#ge%fNS z#jY$i<0filacD`&!iR>S*SQh2VRbZj5XR&$MpySuBaD`srV$({07@?TR*0j4$l1*h z!NfK#eyHK0o`)7by!bnjNBTgt@-${WQ>#AI4ov75S1+xqoZ^?jwkTE=)3S*GwM0$g zO+4OI;-rOo-aVdpABdK?0^VRq*mE1hV;rhH9xaqltCN%{|Jfr^i;G(~JJw~$cEW)# zzN6T|Ml9TX;55W+V7iGU_D8proO54Fpf#AGO5+^QzE&e_#q7Ia78J&Cy8O^}|FfYeL^(u$ygA9yl6mjpTC>GVrT5BwKY zhYo5TKOvTGrVj)<-GjFLgj{qqgYmy@3~0y5;QhbId$b$0433{@57qLCPtoAeG?C+# zCm$uls{0`}JeDNX!f-E$*r(C+8i8p!F^BIo225fL0WA!UX$yrNOoVv|@@PNKgkd>> z-XlKoNOZY!YdO||vms_mTwO9YN9;-kObe;n`Yy394#6lB^8?3;u`vJ*ngu{d!Rhf{ z&9s;h4vnJ1jEk#Hyf8X@G}%QpcePeTM79@!6PS}gxM;2d);FUT7~HO8hO!UxYc@-6 z@;lM4p-(1I3Lpj&5Njw9YrNlpy(a$TlOEaak?+-FhcZu`Ks>@F5vdqBj7ZO16iLah zJihk0mf`E)(OOqcis)2yt9=_vceRzeFvPHM+{{0FL>f;$T^h9jVd*fal%o$f8e~wl zu=gc~pGT>cLD1xErPMqXV~r;N6tTj?p+GDhTBF<4WF*=qL481UKq|Wqc5;%GeiwHO z%ynrd#z#z{AqwCO(!5;>31qu~&Yp76h z0B0$eS_tAeYNT&lQUB-K^)W@ureGTMXh^mvn67mTfB>xv8p|m4vMs@ktuq7+eKW9U zOf7k!KnL_wfbwr1S08~W3%87Pm14)NR2YG`|D7o73DMFjUy*3g*S&>G=$(9)rCK&aDdTMNk3Blf18v|b1#i9%Dgd9lnzdxMQw zTU8z}tE!3|Kh@qf1MQtrk6QU=96ShN+-X98CAA?tk!Z zmyttpAW|VBSrSc{1f<6nt`Ht)x(8^ABYqlC{D(5okU`Bop077|CUyn7ajs}}R$ zN|>X-?*}t0l8BEFX6Vl}dQ!T#6X~)@3^%VKLz(lbxuPMB!k$fpWozkU{&pz-39KAm^5l%i7d^i4@i~u!50S8eR}K9H+S?`yHo|LoP`i<;-|bZuOQKMfQ>Y~|BTHzJS*RmPfduY6kMVLpvLNWgOd z1R5?7$pM0)D7Z3F@a0;;rC%+WHlgpu#wOB=9ZhUHi-cd~>NVyfA*RHAYyC+!?;)B7 zx=IDSN;P=Bm56$UR>mwUBb7QFd!p!xQqkdhYoDC(#Plc1o|yaub+{27t`*mk$fH!t zqwu17UX&Zb^A3t0etOtR+p0F9s_UIE{3N=13p!BeJ{b+d)=qf}b2fik&K%+d?r5Ua zM7a~Sa&rYlDSAUjGopWL%+OH!!yFwRG%C=wVpJq+qoNd}qEu_g8;NK$f*Gm}hXflk zq*Og+ftJ!nO%u!w8#V$))ShP&$!NGDcVPyN7#pqdx}}<ET2ho*?oa|lhpb!O{dkAvySzCC^sC4M~`Dt@czVrMea#WmVrm@Zq+cFXZtTPq5jg3Z?(bs%RYls znN~~MV2H7zN-I`GL6uUV)f6?MiLhz*o6yrk^6BevO~n~yWfg+njG8H=5J9gaNTr}b zQMa!1Q&f3?YABzYGH4$7!CB>$Ue~Vki2!A+ck~maIh_caa%N1LF>O zr$X39hit1H>_r;%vLsQl$ZviJjfh?aWrv^3@&ExpsUM70Y=G(osoE)6`O#D@ zp}+-$fXUwf)}<6!fs_hampTE{9i3+>5<8qUx#+42ARk)?Tr~fsqIg;iUNRH{i?8^i4EbQjqg6`p%6WC>Atl0|bQuR}k=%9D01U9-~!lV`%#62pfq zCXIcPhp?q2QrYO0f(`V8k6rv`*$w0{z+eHrk9`Uc_=|`JJG~;qB~$|ydlq;ldvr_i zWqV;tj4XO-x#u#&YQw6$TW+bwm*KnGe9JAX46AW_AzSGkVkSz$Qbi5MzNhL<)9Q(; zYqsfhi&WGKiS77G`myh$>2)hz)O@PrNWQ>(n*>PMY_I}tFeDjG=41;0SD#Cma>%-b zDTk6vm~xnV2~!R=moVjU%Oy-X+4pq7In6-sYX_CHtuUMm{ zAjS|4XVFO$P1id|Z0Nx>Ll&kQIcpsmLAOO0@xgybR)~#%KQ_D!Xs9MI`s=d++Z9wJ zgo~<2&9t60pnDu!4C}~5l+|Csc**z2hC0@z`{w`vh+6rD0j7XZBg8-&6XIQhv{_C^x$thw5*+o)@1p?022<2q6H#@@iJFVjo`w81M=Kq-Ng;PVhD#}j z)QB30z>)cKq=JQL2-oWgi(`8KhxJY=hv$R}(HJnTinHd}3Cw zCb^MW&JvMwNb$@}if8kl9aTKbaVlA(if36KS=gt}inL|PSxq^v@LkWrzBu&Pa&%P1 zxG;J<49#{U-vJ~bx?xt+(Do?=rxr8rbNGQlGY;U+bLZ1Yr6`DS8Ab4r@_VHnx62IT zwiIE-Ks(VO%n2ws@vV%<**S2L+Nmv~uX*x#oM9|L{}MVw$CVE9tf1V`JwMT(yY=T+ z_Du*)g(?C$?xQ#mUkeHL0eTTADHiXPHLm*}F(896bFoD$;vF&WQD~w;3+PQ}C_x^b zR~DkRC`Qn*dQW{lQ88hB-%K3xIPF}mzIjE)?M`BeoZ}ol^Aa@Nj~%OZ=@Ad?*8I&- zPvR%h`O0{*u&J+8l{|C4wmjF)>;<%AECG{f(a7eH;B)mV(@9&Pl+Wx!rv(fQ7>~W3 zQKeqc0|NONG9fnB1$4xAZmSIjTlAe=Yp;_2O*^?^0}CPF!f)8mb)oKKD4RwOT4ACM z6``$Zn?@los+j0t>XmPxUsSQ-VQR&}-q9{|!4y8x6QNX;7?NUE0E)W;AV@F*Ba9TK zvX;M-2eI;_9`zd8w$LSA@m-E}=5{4zJ$kgR*TpXJ`Tu#*f6a~le~lN_n8P@YcRG>S zVCZ#?-0udw!c=0f28k2M1C&hM@e~)=Ld0>U$?{iW5KpiG(yjEwih3nIaW3Q*_4 z(TcKApHW#v1VuzQu0?~OvOZR~y34inmTqm@h(J+_gp}Jht);JV|Q|V1-Zs;ws9N4jK zy6EOw%X;uC)`L^A-Z<%^Fo4w!#^y7|o_-?A`n^%M1@C|0*@mYI5Bby6h3D>T`XRJ&z{<_Xmjc_|s7)Zo+BQjX22)_XN0?B5pgL@9-od-V{9FB}dsv z#JLLYoABI$=YBkuc#h(^6?uO9H^hG_%AUhB>F+pwx)Y~a@qU-`hdUF`d3fsJH}OT3 zvpLF2@SH+;MopA0+z@4*$fr>=?!-*>7^}541fFKnsV$qNVLqBp3L5GQl!B5=rJgP7 zJm2}Ox&Bmb!pQJWR7Bi@}Sk)_J4lRU5ofP*Q}6T(KDr zBX{&B%V3!JN9R%sZ&C*|W}pxcD=oBAEk2y8!xKn|pAkhS_T}93JHQ3j$)%x!|2XN{ z02qtwQu(<-o&Zq+8Rh6rg}ZKrdYAOt*228PNp&}>H*niD>LMVCbaxH#0Pl(#OibYG zoR50z=Uh)?qarBx;Lb5+WuMnr{1lEXc5f}}mcUdgt2WcU5V#7y)wag03e|M!j;&EO zay!ddy6#> zBO{f`lv6B^_0`+(>96C>4fv+aZ+f*2r#gV zG%Fm8$rOa)(ORGofhxAgqfW$8ec2wXCEd3ppB?*1L9d>!G9~&ZX;9Fa)qFc1G?C{h1IP@ddSKbaQZbP9EH$y6dwv*8Q!R1hOiZXVY~R1>w0cbc|{kb%$z z+#1?F{R|=0VGaul$FS+4RbGy9N*Ki7%9MG$>#aJHW2TsDEnHkkjSoszw@AG~I`y=)?kQ!mW-Q*s z_{qLJDf=mPam1of3t#e-l<>6l{!_uvmGPw$^pM}96{I(wl2?>2M&{)>dXM4g1XK~5 zK3)u^i{08>Y3^2c5tc#-#7rrv&r2IO#jG_*L$`(|gvLv=wn~?6m9E+<{dTKg9HnDI zo?Dq@&V!|N9734NQ(pE0fuWP!l@@h;-2^}!vFx4$EB=Q8M6!_w$fmmM)%guH#UwdHi|MUi zar4HUjHjdSN&3y6#n)P0N?z$17zcCu@$TlDo5U^3+5vM_1_Hdn6}v(;ovKxwW+hXc z()6vdD>B_$vTq9dh}aM~sw2$+z2Yjrbcb01304YVt7bft9z=>{%EA?Xe8y^Fx!#e% z#kAuSh>K=DI zB|nnJb0(fA(c0qg%qX#NF%h<30c+}z2q>e>FI`ZGD_$k-Y3>6ITHL5viTr3!d%sYH zH8)^1W643wQMvgx(UR zh6cnW(Fo3t|54<_NfzIpmM{$mOo#bu7l7Y-gJPss(kGAg)#}`B^Xld!4`os5;uwyv zF(EP*R2x7nuvVJ~a)ZKuN51f*sT}K!0)1p(X;Sh^CWZZs->Xhg@F{boJvL>D5h0&@ z5lWdi^#vEn*Yxp8QyU5VrL*>CsEMvR*64opp&E0;pPF)-&uNJ^he=RpZbX_QLMj+C z2u%v*k&_RLzM>MLsKf}0<*YR{f>|PeL{34QT5HfI)taDt)RD%5W1)}ocFnNO*_(%L zo`>ghJTvf2-F&o${*Bw*=SJZ;GmZr~4hzKI(kq+wT(JONZ7E-Elf2JBS<&t8E1uu) ze>oa3zKkOguSNqaUo9#sD!zrR502zmFOPvU?IP+hIRj2ek;sVy@BWOl$ccPw1tdbU zv-|1p6K5!eE^+4xOf`n7+->A20rt)xuq z!H=lSyp8F~c5^rXi6BqgadMSfRF>IEnF*Uw<1+3Pd3{Q8+FW)IqR`VEr^R@E%6 zex~Yxft6Q%gu!H?ulMQe1AN)&YcGB6!_{0#dLDk`FiLpYrT0F#qENc$-Up-=_uf`G z^}&1SCEd65{(B$1@AjorQY2}?A6G7&DdCSkuDXmnguCw z<7go;NO%izv&0wnSmq-hE*_Xxc%G|IpYrvq5V7%|2dO|oLu$5rOuYlB7Pd~Qw9TL z9C0s3qYm;2;#*`8(;|&H6p6&1FoQQCH@aQ{ zDqfoe^y1c~`f4p#zitc)M`*+ClFXp{oPX)!9L)xhZ#O7|%U1-(jPDAV8!RCDTmS_m z+`cNG9dIytY@mb`mjK%Ez(i79dXzMS?;y?Kdq`UIJJx4kTF`*i!qQ8LA?W)9<>lmg zA)E0OXV{rH*wxKb=W5nXkVMfvJlLlD-omP$sHjagsdMY*DcELGnAsSil_6{+g7`vZ z0Ynp2lN&k}_Ti$`q=5iFt)Ta~#DqwJpjaB~1qFQF`F^mA7wfe9SJJtDNCYG2bYL?B zY=fT5NME;aH!xD9a^Zu3W(i$-MKr7G5uEItzTD=EyiYbLibA((`mXf$hm zGIX=dwRAg$vwm{yatgYYg1#aVQk3&uMT;4cM06-%G?V)L>2AKj1V2_-Dn<^d`>ImyT4|8lii+ywb)tXl^yZRXRD)UrU28E~|Ko zNG*B18+WWH2d6fieGlG3?7|s-5@aI}?X0a$n*n~deo2krq>-=R!~|LF|JyJ&govYt~|3%S%y*jJEs$cH!oYl|$ z2jV|B_G{BAir)=#_e=S=lmBUW+Q&xbDiHZYeB_O<=!b zv)LTBh!wKC*&o;{R>q!SPqSL~EPDa}Qeyv-nEua(Ryp&Z$;4O!dk^_hOAe2<;3&dyxt#a>u*DG6xT9x%>D~cGT|g!HRj~1F=HIYw0>kYE8<}9;6}pp`cJmC zy>8Uwvd%HDy@t3yuvxQC{drc^Nm8_GEK`LeKI(39#j~IHAI~dn7Mw{cyWWH zaY$fS1G(s*{yx=Ez`u0ArA?UT8u?5R+nz@5@IiW(2c|ZZJj@V#lX68KCIRdKSB8pXeC?O`4#$A606#D*>?`T2h27Q6o5fghG&?2T7 z-|RenChLF_O47hA=6!~IlUWC(*h64Eh0D90T-5EvI-dit=9wpH794T$gG(Ej&0lpa0L#Ui*(hE_{^tGt|#>m?<_Je%}-wB?SukCwRsaZO?jv>Tr?qKn^tX> zlMxy5h5!ipLn+@MV`76z9A0E)RibQRC@|_GK_oNaw%J zD2`aqfToYPl1Aot%-WE>fo)M#JFtG+5wJkEY=dMNoF$iZed z)7c3lfLWjV`VXR{Xb<7<%3&3_alB&ZdhSTAOI-k&FK6@BbKjMn)@XbOQ{$ zzt9)vocsuESW7#f?E~jPa1l;$=G@ZZgaLz4sSkXPJV>7BMyfw%*!wjxRtF zZ4w!~NoGC6-W-9(Qins>2;O6i>F7hD)bqDdA#zImb3h;IH}ULgdj=FTm)ivB%`20o z^|gAv#!|h0P4#N18~#hxGElVwsm;<3n%;~~ zGBKB{`QnBp&D2TcqJMYr_kVN};v#GK0Rt>uy8s}GiKA@hVrvpPT6>R`I##y~6f^PswPN9t<0TEig zgPCC7fD0^EF|fdNi4V>Sf&cYEtZMmvV4fsyKX?1ghGpBo!Y{cViM?kw^f$~L^zV)) zpd2ucH$L&tu|3B6zJcqGNtv}A5gh4$&L@^SpYtXJL{{uN6;lhsM#B`4L245j)WjMi z&`&(A5W@uzs17Z4$5FR%VV7nMoXdy?W1So*Mj-7>AyCm3MWn9n{#3rt;V!P`Hy{c? z2`)N35m!gVevC7%NFzLUB210^UFUyzlax{ruI5C;OuAU+bBMNoQ8%} zEE}mQ@`y34PRc(-lf(gY&_cY!JY~}EJcO!w1gJU*6Uum0m;@8af%?K<>XVv9O`=-E>kF= z_+ld%1uqQ4JhV@QvOWnwaZ7;NtMkGgoEJU~vn+Vx{>NB@b{Y7y@p@wX&;*RwQ;x`J zJ511U=Nys8_{|Iq6EzQ?LyzDd7_?{7KB#%Bli(v9DR(&odBhao2Eb_AwUUjCmH(2dXA{p;d?iDtNbI@dQWnpX?3av@e)pUo!JnPsJ4CwgIdE8t z-)2(rbKtTRzrm!n&-qiqFK3JE)8ji<&I_T=n7XY9y+K>x*g2@5_f1jjKq5|;i=Y0A z`fBPnfHtVkAP2?rS3o=h(SdHuQbx#AV&A{Q_Y7s2JUaG$E)UO^Q)A!f^YGyTXy$^} za5mgvI#WF1t1xGswHE9=jldjv`#9ObJXmb}%Ec#W9n-uPnx>WEV6wdU0!a`s0@X>#xY!YtHow zE^97`Wbw>XG|CYSdC2a(pp6e$(xcX+25-}w4N>bRzcB2B>5++E>jxJGlh$Dc9HMA^3c$EWoYKj9 zC;z-x5tE=$roAvC|GQz3lJYL)V{iR*?Dv1*xX3B-wyDxPzVf=ski*R(*=1sD0hYpO zFUSGUQ>W%1Iu8;UG%%mOh-&TKYhQXEtt~N#H#`qM8^#<- z0b=qaT5k^2f1~eV5GY!!7ElSeoa_O#@POF1&B1~Z@?G&Cz9a#RNkMfA192d7pqBCN z@An_>C$;tjA8hmm`@@U%1uFER5^?jXu11R3B&m-#rLeCY>^<;BC>I_5DQH_>-6WpV zCPe1S!W-=m4r}0z3YOsi*!F!qM*e5GY1NJPZ#>;>4Q{k{SlYE?}fGv%zL76QQ=~BKB%GG3UBDv#DqyO&^sTSo`|{EB;$H% zqfAN#Jo~wB2$j5pqWU0YoNI%S5q5}L=Qh^E8c!(+lzF!6TBU|oNR&%q3HZHM-#RS& ziaNj_Ix0VifZ)o-T*UiwD+2unE{7S2qg^k5LUHCS1`HGp)zlq;qgGJH<5d~P z3{R&XCbz?M#&}q-oPf-+Y+Hn7+hX4nwD7#xw-zs*LmV%*0zO&-O{I}hKdZa1av*lR zh=$^XqctxUy?E`5HT+)@-1IfJmHySexa-BwUetd-d$AQ@Am6#l1l$KOK7t!^^10#C z@ziMJ(P-lvan1yib5a*<9p90_g0?`Sh^hcV)$vN6IzgFaCwbg>GDQek9dLC#v1!L| z!j#}OOMk7AjZ#BR$7~wMv-NcrkQG(L4jc4s zE|uX|>-(=tVNm13QsoA$AkghP5TscLPudSd69dx-YRgr{jvQ%AW!?yplJS5U;Zz4O zq2YqCJ(gP652Mrr)j~X;BQ=m&9lvdYt|;ch6b?D_Tv+-%xHD))pUy>}&MUt2FnLdo z1$eEfH2%w%(Xi7+oDfu-rMjKLX)%fC?8w(tni-=^JIwv`qGCBp58;d_gPwcJVRf=* zdvmf>v(x*AeB75L%12ekm+1avyj)apsZkNowhfr8 zNqVk8W8O&M11SX{B?)->@|LsPrB`=KpY0rgJe@M22p0oJYz0VlZXlKPmz}}02cRE2 zP^00{hobfx0DfVQ&mzj-`>dk;H8s#8b$;CfloY%LdW1QsQgA^$v6hN*7>r&@PyZbk zE~KNayq^K0;8gAr$)(9ssD?}#;`+JjA_xwuNu#pWj0HDbP?0ecvt%xst@w*WB(Mgf zfJ>}-m)&r>@Uc|zNS=20TrCp=!@PT*mWs~20iC&sGN?O5<$vO{iSoAq9Kw5_Nere^ z#cfDfT=Egck`J8@8&6>pg{}VRv~L>uCh|J!igK3@N-_{gdTf;6Bnl*<4K>l(1m)NP z2|UQ{_(c&LY1P%;fNBwZ$6}Ir!y$cVVnHTt0?zxO(N92!A!0}I-b8HIA~pi#dxX1u zW|0Ozel}@C8~EXv)L}F)xcf9?L&OXUjR_zb;nEvBgF^_4lvpRpk$4GI`scm`QU1p1 zmPcbghL%f0tA26i$H(f`AySiWf^i^`vKmGk7ck4d%I~b#A)tW|7q`_5fqB+Jy zt4Wh~1={!byQEdS^xmsa`AvVP4(09MM;L6PWrGQVWg3>$F4PU#wZ=x+&B8rl&`_aeQc>S(^TyRs zFNO|7tw2@;_=g=z68T3(2;&QdLW^A;u?%e26g3;jq@?8(vab3RLh=Gk>VcsGaNxUL zjSyTS!6Z~`i7a$U(KguGANE?KIH5<-&(KNjZ4GY42JMlJT5{Unb^Y7o zHI!N;$7|Yt)k1a-S7q%MB58BF+X6!bj9FP3Gv~TC)shwYN_UNdm6>z_En%-80S0p; zYCX}3Lqy)e%ZNryWNyXmHI#$2zebG4vtO$p(NNYcwT`H^;SSVx39JBhj8nxSKNu3z zZz^zt`>%|RdFiGW-7f4okQk+OOZ6#xY+7S}`G#uq4WLF_W0r@RIw4sf!~~Ps=pw8q!Uwdcfn#&oakSLtHS{F8>LIA5ARCWJ z9g)nkvu;+iX5hNKyIyNlQ*X7rV228*Pu_TYokU)nmnl8d?p}jKxwwu;wd0~BP^rr? zC=oh9aI{}_9{HPs~`IndXSB@=F9uVy=oNMo!GHr>9`+ki*c?}~z{ z_4eQeXXIVf7d*SfTAB#`w#-mQ%mP+$C?z5f{XQyw5f)E8jRNYKK7BAuA67FgiAlzG zS**7ztktR*RMQ%!CRF1{3nzB2LTh1SyhY;u(WjV76Y5P035!}yl*XLkLX$+YTRBIN z?Y7$^LsgSvRTGrNdWJe`hk$&T_%3*pswFV}uw8GOloKS0dE05PWbWm5ONDPbrO$S| zv7BwE<89Rw3sVY51@hjIj=!mhF1V#w>VQhQyZfw*rMLDL<$6;#I_r|4X@!sCnXE7cq(mMT zmX5zcis+3e55Mj;_Q{|09XWF3m7dozxV6vJVamDcaOGF(ln9@K^)r5$_F@&*YuDFD z+@LDKIB}2Z+&x1U>`AzNPpWs17}%5c(w>a>_YCXUlljx0;h*ives=HBn!PzM@3k8D zj=^5~8c77nbb%|9HuQM~S2+yMG?e3(sK##T z1>=aGH`W{5C9H!?KnHoYE;V;j9CtjS71+RSco86P&{9(88O?6`3IW)x8>C*$uv?e_ODPtOj(^i$QX;<7;@|#ZaaSONhhz+V59i;*^>4p9_RiGb>L?naDKw8F zJL{RAocQ@i=$em){z504#~8lk_OK%?r68OF94^U^1U!GjQOL2cwO$GI$$7 zqmD`&6-$LvM)*q9zx-qMH}b|25BLuq_|E3v*#qA>{5wbg#yRNNWa6YX@8i9lolQ+T zqDkrc0wmU^IxoYU(AU>k{5gX{EmnZ_Df-NwqL{lK&F(fIt2Q><+k66Ed2K#JwXxmN zoYm$tlK;pyAI!KKn@6|#aHpZMWxCMiv%%3VH4ks|CBfA$`7!h)whJS$+Q`+jp;_}a zvd(METjj}X^IX^FncwDF&=%;gI+w9_2W>Qxhf?ccvFWBX@gEA{8jM(U!_N&4vXRFg z!eeLtXKcQn!Fo5IL(YkgDBx+r>Yp!0IBdc$5Q;c#ChynW(+p2kSqC`oX@h6y&plJ% z*)_;>`Jh%mqcMF#t5Gz2gf`jeVQoGu|4N~+WV9>xC2c8a4z#h6hg?S?^V)nS{&hWl z%|~`1J7f3)F$=3hiUdNf`WUj>qjYLiH43+ z#)Za(#>Q?BMev+{kqamP?4Cb2sP~XKbfh(Q6KSu2Jkk}DGy*%RjV=lt~nAS@? z&h?bD4p~gF77rP7y3CmHTDn@3Zr!iktv3!|#Sg%wr_v##a2+nd#6<);hQ*YBrL6tZ z+54NY*g&@ck%4TJ_zsZ!J41JdmWFN*-4^<7=$6pUp_}{yrzmdaZuwQc4tY`F7n52!-`CbWtG55WdIS+ zeJ7Hj{wDISd_esT?rwS)3kD=BdPm*^Uke=SwRF{yQ%_iH=73xqgE#JpUUAAtqz0Tv zyp@8uwR3PfIZDNj38>dft?#&aoZnIicX2f%0#H9=z|;9DRF7Rm5MHyNRuPG8u?rhY zZK{*HEv66_xS!$B-qrTIcWSGJ-s#AOYp>`rRLTd(#HfdL{jq`Qe?2ogkD*6bEp)f0 zr6U`cg`nZF0J|2=tG6f`Gu9rwnbF*G4*WHmVs=Q#fAj!6K(?4aazuX8U#O>$ zLA7-3 zsk7yLAYluv7C4Cjp*`up5e5-B-5vDJDRwVE2IEiWRGkKF@-W_281yf`mvhH^QEB0O zy%N0n3OE3hAKi|?gsQV>x~B0L@(cd?gKX*S)@7D6rKf*u0OmNJU8+^ zv_V-1i2c|OGfW?LBw~XI&Lm%ZU<`>T;sZ#2tHr=zOs3n>!rD4TQU5`eVcdb&oA!TyU-ezx~?xsCCxpO?cUR zENA-g~AJnk~UwF|DXa(_a9 z+RhJQU}E5J9vdqSeEeTKMqs=45<5pAMc>sZ!N{%&;i7dsEqIbXfLU8SSK_%7&l)`S zc=q5qjK=~ZLT@FhcNh z?Z2kgLkFj|(#9J#Nrx7G5nQMeawb17?L4)BO2!AjZ4&DQsi~JWM&fxHS5T3xySKxTqjD+hS_~VMDGtAfHMA!`T zwGX(L-lw|_*Ituw>23GizI26o-iq6n-DA4s-W7!jS3Q8UW4GHD-cz{rz7@;vS!%iV z!3XG_aJ~Ds!h0WLy8Ta!)s~o)oRXR*rVkmKF)VYqeMDCF$Wf!mNMm!xoi+aK3AuR_ zC!I5S%2da+bI<$L^z$#szi`Gy7tj3ltl0&ZTzc8%S6u15>gsFe{ATX8^RAnJ{ep!z z+_>nb#Wydx<<{T2Zu{Nsg-h?a)4lAj79mp-?Oi`?tcE2 z_xFDA(JEKMt*K4J{ygeg(7@Zu3jVRQYT1+bZhUaF^H(hI=>ROTJcFSbAIe(kGU!zxU|}xBT&+(zA?V zUM);3q)VjY+?$95g^rY%&Ak|}2%M8dC9O2w2aLalCWKwW`_bJg+K^pFylq_W{a8jB%G!Uc!#D`_C%%V0x}a)TJxrou9zYN6AveSI4{ zz(NO1gW<`>#6Acht`HhbAW)3#f69XRKQeJ&%mI^89`6IYPL?Kq6wId0A$O%q6F!dE z>f~+3(nTLZY12Ub{%UzS@g6N5_#xd3BzBdSm6S_=`>|WZcC$<=@#JZ~6gWyflQisB z%Od8tMNK;&3)?j%$2^%@V4lGP#@sc_h4jv{pGm^BDq}T6Kxf6zF2rC3Y~cmX;_b z^(Bs}_U26O*qtSBPu9E^q%j-inN+X3$0HwM7hj^3p|Fz1((?KeWH0ZAzfG;sgc-+B zPnw=Bo^hIgoaXCd(*6H#95bm@1*2UBE~t^PwatIwp8|HXut!% zQIiTj_6p0pMRc`6Yc^}16m7djt4!0jGp#a7+b(F8$y$v~tFdS`W=*~v*=U8}C+(0U z)?VJG*FHfO-H*a+mo~}hG-E}XTO%SJw=O*D#xl6h&{Zt zWFs0#DK(cwk^)RqR>mm}=DkC*p$bu~5l5>S{2cl6ot#^D@lp?75$4{J`-kQO6R zyErXM z8Wob^hO$qB!~6mq7k84|<`>{`Skh7pioIA5ph;|>w2TM(+bAyjjD2#tSp$TKGdGUb^Y@)vO6FZzfi`$XS8MIpjEG|)4jdLH0d z_lMI}>~`n~?Jr}*oxkP~I?M2Onx;)a<7R+T;=46nB6&fgn83o}KJ$(;Uq-cDb^!f| zNr?A{#pKMn;9pVqoD)E1yIQskn=gQ{|K5;eL%Rb^Um#QoS|S7QQs3}ax$#J8#hVp$ zU3zN?%1Xz5-%@_3eQB9e=I!YDi@e)s_8apzK2*}MPy4}61l+6jDB4>+rSe`xY;4C3 z=peQw`Mx11WS@9I2IPj|xJ_k_gdJtoCGrX1a69?{*aSFnBbK}k;4?O7&A;$AnedJk zP(}r~Xch$b6wp-^dfKHr&yiA3vm8=Nnu|k9sj5WAW6~>W{C9)_-_{rl4|Ei_%j0Noovz?396&qAD>Gl>k~X=hZHvM^_MN zWxGqP)I8<6nrU}wM5-_2+9zeZOEuHKOCkxSWlFjHd40(mfLUE8r|?qH1ohMyI@-jB zF%b%%u%pbQgnXtQWp59`{I8|@3_D^=5F@Z%YVSUyJy!WFB^5qfiAQ>?8}#h0?g$bL z>WfceE#2+N-{t`x!O8%~nYza}mxhiUq1H4p?&J;1U8RpdTN2t^Q4(r1Y0tGg{3S3| z!N-;;6?X%T_3!%*b&K+o+e<(T;SJEB)4_8kfQeq93LYoMJ;r!*Nyz5#l+ai&{e`jK zEuvcBEtEd)XO$%(*S3lspwBZS)4Cmv+bVkKYoJG!)!RHhp20niJ~r8b9 z&oRqunC8bUDrkX5(}J!pAf^rU5Pjo7t9Wh;1?Gi3w{z;XG=wJb+#LeT#ZwUql!QE$ z+}|4ly7?D*#IpTr%9Vh$I>R!_+N1S|_U3_l)(0~^hL z;j7PRCw2nAxS%0H5X{1yb%*Ax?P2({M52=XZB%UiJ}SO`JSu&TXW!RRb~XGy{4Oe< zfd6ABqT(~*Xlla8(bUL4qp2G{iKfo)il$!rX*AV|XY`S%^u^Jr^x3hfWd0&5?ZuM< zH|6hzoAS*1ESidC2ZL~q78?+kx!at1??61$yqf<%zs+frJ?FPUnh^HOjD(Wc9D)&` z;!@d%%WjFZV+W{+Ri5A0 zS4kqIrb#YzZ$JQLw9_E`+b1Q|3(LC;WZ`e^(`*dP(#M_FXHDU|O<|8Ioa>&k(!8LH zHMxKTO|I_QJlYJ$cZk$%3V&wEZFGkbgOmvn!`*~5F6-mc(jMT+1E1il#(fY4dDw@3 z_MuPsFmQ_E`Hlbfu@3`xvISjH|MGwPG7bQ#;BI+M=t7g&+E~?PVpo+DPomfrSi)?~ zS9M9uwYBPsn5(JE3fFR0bv0h#UCt4^{D1hy_s>sZ$AogeyvN7Hz!;u$K~J>me6g$L zQoQrUF6o-@q}4r5xyzThPeqrbhvUzZ@}tou{+{TPOAket1b>V!dH%;}H)d036T14G z)%4$Ub-4NbHqSL--qWDj&DVs{<;_=zfd}#0=ZGkTm(cF0H7jM9=aurE*k4s(IF>1u zn<_2~s}<(T$mG@v#k&)p70TN1rrrZRwHBDYXm=C^hpH7ynOdoot6rr-U8__UzuixI zbP!mWShj1Y>aE6NOsC>+ zT8?sE(oa3hw-+9y%}8b8LA7Et;#F?GI_!eyD_4h=%2%9WrD7lc2r?b8vNA*^`$83N zrP8gGg?D0}MNQ~et$dRMuT{ja%8!`^jOcwkK56oDoKg1_V!LxO=6~vbS|z)Tl6*rD4={{L$=%5mmE% zBk0%&eB1aIFv%=m0YYDX1hfeFBklf5J0DD0pS4={Nmwc7Vx`D@IkXDyop6vwrEeT; z&K^GgyMxWYJ9rHIY%Et>kIuQ|=$tE$A`X!R8uYm|itA+T5K4U|{?OK@rkYE_()viZ zLmS(i7|v_!kTpAU?Ctr+H%{7d7^@dsb5hth;(+WO)-KT&3|lfxIeK1Lpf&EYe;f6U zy+Dq1wmZrb6P<~;@)u%UXd2vZNNBTS}KZSwXkIe1hh1;j8^0G9hY*UMuVcAj_z(u&?*FYWW zPmnKYB*?0)_|#&>PtEuPnvtO$u_LsYsaCY42pG-0SD>`)0AbxG^?udvaPy{^vj{y3Om!>kdRKldB29M#TbVbIz4Vqw>e`2uM4jRYuxs(DtC{%LR>3p3!kCV&GUuc~OZ!^#rU)iLU&z zn>P^E@8u=m$rz${R#Z|?X)?;FAq#I?3o?A}N`vC}<6 zaewNeF0t`0v7?edi?@ywnGH&@-h-0sxHRi{W%Sb{Xg|PE9 zo(}Fh4mQZig*wRrG;`GL{`dg#ne*`xO8ON6`?;KjvgaS9x-R(~h_Vg? zZ-ZWE>K&b!5bm~dsC&QvhMExLF=#(?AWMIZXe!ZBX*gg(1%0ECBU*PPpaLz(2JqE{ zvH@w!@yJy4F7U5<9rT6PfsO|rX4Y=0dR;DH32g|iqX!ugSa%;Tey|^u%piC!2^Zhh zADgK_U@?CA{1TQvIE+4~(RutENtAy*b#^vj8J=^;(I_G`&po(i z9gwSe-ofg1>N?NdgX#v)yn_e{JP=ma(Y(IFFEKQSU0nw)b+pcgWuRIc_GvV(dgmVO zeernVy21@qXl;+W&b+~eA-)ci)CQs;h(j1|g#?M3fH*^uSxCjFn`Ek5pkDy4@M!P{ zhk$6=7@xrEW!R?aV3%vj^|DQ7Yve$J0QLwU69JWB!+S9SkOvFJpq-3%RRzSmj*@6BF~lTyd~w#X+yde)sG!5;s$N z7WT040QO0xpHtP=ens%q_P}3XZ@TiS3Pkd%D+*o3H0H`7^irjRE`Q) zj0s}~7#R*Ec}9e#gBZGjWHXw^Zx8E?wrk7A+4bV)8&lgW1(m7>QP4#no~L z-a}~mu|ABo@W6k+k?Wti!HK8lxa(l9|D$hwGYo}42J@Zu)Kv#ztF3)n&hBrc zjhgMa`=E5wXHwB|EDj~f*R(_i+C2?x#zBOBDgGd^5?BqG{<=>)8AXbf0l?s<{{CBR74p%TLZQ1V~# zMCXUG!||LO#zJA6XNDerF`#bUwmmW2*`^UPdh#(N^m~3ymEc1T+|bTrUucQM$nA(S z4aYFhg=jDTKR=}{VZZQn%@x$`{^RuBY(9vHk%zh+{s{r!78%-F;*Wvt9%tBReCdHt zpGrFj_7O&-z&zR5Ygj$g_>SYegJ=T5GXYFV$|~U?vI^FBJDQ#0?N@}4bmn<2e&H$^ z*;HN;-m=QXj*mRpJpG_%vmZbAApR3ETf(e_LrqQjKQ%wr)^fSnr3g#@4&g9Fh%$@) zWzc&V{cwRJV|m}=jzNh*l={G@T@)1>&A<33Og-2IspV`$(f`sPFU(9VSh;e=Qfcbc zJMR}J=2DX;*qA{Ua`}2^If#%I$cXN)5s4gno)NnxP8~h#L?1~ZBB_pK&jwMt{wK^^ zbMn6pm}Mj}v6f54E)XJH1D0jzZ=f-j3t+(T*HC)FmwqL&T5eu1qUgPQLCEEH2?59m zRJ~mc=J3MAOrMP{Zk6+;-QU_s%#~Oqn~Nx8M0EP|+kBU|1x(Js)y|eSp{v6X8P*|0 zaK^|TV7aa%WdUimAyB?rsPu^y9AhS+3jKF4fEx{d2`l zdm-Jxc69$OVqgk6x_{+ozR|lTe-~X_cBD-EK3DpC)PH+->G`YZXPuSJVr4*V zm!5%Ku`XKKB4TnueTdMQpr|vBPQvv5c*1WK!@a3+j{7kOdK`V)kKK~nV-(yGQ%Aox z(usKiDP+h$xcZhGdvphE0m}xP+%DG47yYYPmX;>{^}A-TXp@m7eTJMmLrc?-$8zv;h7H(IW$Blw~~j*tA*w&F_FHq zJXIpVx8jg8p&}iRl${(exaK>tPcSop#{tvCB(`#v`=G2WyMY^gA>wSlQPiv;1%0`5 zI)8Mdk)1g4xls&vOVV|x+NC}>L1ra5!ALgDxfI*0cugBn2ZCaIKzzl(prZ&m zQgsQ6w!Fk3)0Dr%aG{}h>9^LPoe#-D4TSbM@jcq1TM92mK0tts?Kg?qMcZ!{weyQA zZWjA0ZxZG4((NaL6Si*?MN_~cOR#QWfXggrZoUOr?cV$+(Y^U@F~B}2C<6&aeK~7N+x0ZxP85`^!s2@%SeB2*xh2fL>%K6=_D1k>P&EP+;ZFV!1q`gGG`Y zHY(a0u*!)jFCoy660>wdVr_SDW|_#DW$1o<(`<_G`wsQxy1;oUaxT_6Y_1|VxGalZ z?c#PHwUVbnln$MccAwD4dd&i{xj}Ro=Xid|m%i!qp1@D=o8|?ge=Ub^;7)rl+N+egs2`$SXzm zT-kPfp-8Y7P@DbfM`YQ&P^?)f0={;MvR(w1qcr-fZiz|&*Ae+sp~yG~Ot##IseVuW zh$=Sa+Lt55|2o4klCC`Dw+eLH;mSkZQq4a=iV^11z3w^W(<9w;D3`Vi%W2o+B&b^4 zZ5W^LRN50gRjcnsT8?8(vH%yC(t72FDg3r--P8^dgPyrO6WBM8<&@tJE^G8?E(h*K->$N-I{N;TAwS+6SRbV z+KD;u_dQqsRGqjNy5()q>g^#syP)|xF>)QygYe0qB@@npFP0lT5e^s1g^$_sO~^Ne zkS_1|lVY7*=@;cO95*uwH`6INjgl*x)w5QVjr$jfeLPW8bDjA1dQl^!o%8o7)C%No z$<6^10R(qg02zkV#I-216sT$be>XwpL_ChPv}lRDgUM z(an4LpM2QeEnz(BV=y2j7qm6c6{YTz-o%J?$~+O%tt>WQOFlvC+<7861lNkq^F&Xz zn0l?4ipf}#DmPNs{q;MaFKxR=1f`YkIEmkgwM_el24gqKjP&ivU>H;4 z1E&2O#mMO5)&20gR^0!TsC^qS$tga87j{5OkJ7@zDb=6E%B4~I=Sg?toGLInj95`< zc+3s>`D|_3M!b&Uk=K@$uPqO>tt}fI{}-co4WzVytPVMw|Ad*ynXDpwXGGJZR4^8*3eoJInkIE8P4-U zjyUTa%M;1v_HIdCN9}`LW=Hz;yfAOoT9pcg34fNS8HexXs zsEZ!_|~? zmy@jKH~kP9^}8N_JO`2k&JOn6l8%Ly!|hp`?)KcCUisVfire72G5z?$^yY=>GqlMU zb@&9Yx#s3{ImdHzdVatse0g(vhmWk-_?YLW^zApN`<@pUbTNcvH{Y1<-2U72XKzby zz8y4wX}U8vxA~UzrluT-DgIaG?q8U$z0`bjdgS@+2LJP7^G)dx-f&Q5zZFwMhoEIy zAJ%7uTpOAge4)`_5q-s3SVQjeQu&nxh;uZWdYeQjzS$TSIanuQA861p#d|Z`rI-IC zzH+ySHBu>Yh-vzfw>^uMLE^JmjF_ zH;rBX1h(r5M2Cq1ir(@RJ5}|v(ABaD?^lJcoVuQqenFrmcF>&jDC@F!JC-lm4FKBl z`0#9Ir)a8N^8CqDOI9YGdR$KE6;AcC3)&qmD8<>b+t{_*(6XPLZ{Y`~D&%p4BLO&P z%WFImfOEF&)gzT-5z8Vo_Lzg`Cnh$u3bg7I$l!Vz8PSLFH*;x1t%2fXBhGM&V{U{^ z86~0A+&9Txv>a!tWZ1r7?n#gxCE`GT{_<&P^{8+PzbDx%>M3@t?<9L<_bK*H*D3a| zk597e|8bH%_u)x)IO`<4G;)fK*ma7vAudv}s~1L@gbNjy8cv;lt~|+ZxZ@-%e)8mL zzgYO_XJEei@PGQBk$!Mq|4TQH6|)tHdztYRE5I||bc(%?w*&8g{-i%M;l2+~W5Owx zW~|1C7vcczj-Ul+B977xHrnK*%xIqUyHIg;Q#!tDEqKI%7oofl)`uX45!0j zJ|Fid8aNVojdQ*<q6~&2(QiBC2!R9f#a3F3ZU$GFrm72?|(5V!u zp{xu9soIR|KKi5~#$ZmbQNUq&j$M{oA#1fDM>=4NvKI^K4ypg~k*&7%@d$D%^jm9_=C%@%!ktlMAV zN5OayI9Oz$g&?9civ%Fxne(ro{01|%0;MvV|D#FJ6gFy?uT~r7V{W&W=ogF>9SLEw znDyqEVq-LRvqvfvv+07D`AhF#`hav6SW(0xg((sw0F-sMvyvRiya#PG^km)|ijBsq zl30#<(QvXUDHwA$C2daXNnk++VL{8QtSb*EkB6#bsDHS{aEm%tGZuf%&Km2m55@`_ z$x2EKFhI_v76rDTeH9~-0r;cpN}7tsV$}Lss=#|gHR21Z$BD2DWrIR-lI)0K7u{Kn zo2$8zk939KW<_`NP$+GAW7pzHwPtn99!xG$I~<&HC}uUAUvr5YHPlhnw)*S{1)%-2 zHIe@&x0{d3>mj(cSKll81~SRLgaaE;sC5^+KLc>)}qp=IPQwUk{h5o9y z>8KG{YN)o+Kn8+fVi|DP+p^Z!bm;fkAiq1{f(atn3cmTQp)qt52BDk4(aoTyBh!e9 z`plm$$dh7yM$|q*9ioRplI(7M_<6#j;O(#>(7#u^F zL2_eJg+1xP3C?;mUp|{*&0qSBt*_J=%p^nTCW>g`5qkvrePr0wNcUtd8F}&)nm?8= z$7*Emq@+!a6i6YskHvvot)x(*v@nTiGo5Co0C=kwvn_(lxajt%GbwJpF)C^cCW zOR25i!il;?u@T`fwUk$34xlJBj*Zn8eu31&Bp`(kx1Aw>Iy9zV8tCqTtxUS_%fM|; zyWJf|<~0SF>_RnMryEE5&gNavk)O2ZCQkedn{&apA&^wNB%`MGH3{I;{iKI#& z*t}rE8nkhRDRn9M3TAoD?!F>7vEM@J(1Q|qx*#k$+3HeCab8fsT|oLBeEOkWlFRgA z_ubdG7^KuSs7$&%49CvX`Em5sHl8g=hMI0;CVj4)2Ft_!t5yqOD6TfDX?VSE^p1#_ z1EL_4HRpcDz5ChgMhwHFsApdv6%rVZ^B&ZsUcnVRL~W+s5-20k0z$ydm$oKidKRHn z(iBRkp3k6LM7=^5%t0B6?6>x3+-rQvt5tgpY%x5s-)FPYm$~+P!nCU ze{^)ozeYz{das?)aBQ0o);Bc@ePpEfcA}j|qp5mN3b9!U(=OqA2e$SJe!(>7s*_2z zWEzF|=QMZeHk@kHZU+87z;IxK8NDZJlMo-$Bp*|9Yf}_!txbtpTVir3vDeVn%gqzz zj2U{$YlSR8G|h3r3X$MmpWt3^^)rKN&117U>v;Vas#QEUc7ijO7^mHtM2W#q$6lso zdRu4Si7Nc!EQk(RtRW}97wU+~ISjOoPs&y_-`GfEc?<(ZZHdkyQ^I>RGQXU-fzQxr@^ z{PlC!%|jK|N7j84Xk?UNc057p#FBH$DN5qT^~r?26P@)iD`ev5eR-A;%qsI?Q04z) z?R@~Fs;>O;m(1k4rlz3L4bVm~s{Bol<1;Wx_^t5DdmdRDk+4N9N%q zyz#E_A>`kjn8z}j_h$~QKzIa(w%?0T{RWCUsgms4m7r-jjGGjl}CS(O|yiiqa5UHGfUetWCm@%qBl1zh(;WOf^`0J2z#m-&WCBN|fH#c)BP6Yn_?Z0piu$A;j zT6T@~2SwPM{>dXCl_M!)heYlxF%QRP#NaL|sVGHCYDfvD1f>7c{x0dAn6AWu6huo2 zO61aoO<(`kqz9xJJPCMG@QlYZ8PDx_rsBC1&s}&dcxK_5jpu$mdA}QwK1+KCKZOZP zsx^7A1{hViKH^nJk7ujYVrukklO~&jaU0AnCYF(P!$H(^F-|9yU%a7r;NDL9!kKz} zp?zIsXVwe#lgU@)w%;%$@R+u?-PAbeq zx>|ZsiVnxCGml-~l>Rz1qy5?zGg|=0Y-ai5cad=idNu%>(vOVnz=Hk7Uxe&G`A*1w zeOAbR@V$_IAD(7BAN*6ue&;hGyJc?3{-1vh*<03y>|?^}v^csAnMjIt9@PGED$e#g5Z`{yZup(bS4jStz!dc zJ$Syt^Xq?vI0@}EZEMK>=d~gGubxKv`M`Z;$R6zu*&m)8vd@|aaTA_#C~p=X8=kWD zA^V#wWJ~I|JanZ7g*#GHm9xwumz{wkK*cTLPAYbv-QNhgtg zLb~5}?OKRFYGKe5^VlRc^fnQSTWMKJ)1x$xeQY8k&4KM2HDe7+BchI=OCDj*Mif8` zIaq)m%p_H0LK8*&#SVH;Q1YIEd%s}(I9|fwS`mT46YWm1zKZ?MvN#@5t3kRf(xL~f zQ8Zhmm2uRO&$;gmX+F_aV#1s?34g@Zw~^^ajD$^x>u7p8Im(A~!L>2SMBWA5@fb1@ zs*aXw?i8+fIOCiNL*V>{F36-pVYm}=2r9JUa}Jx>WZsqRg!8nDC>kE`#2vR-PAdTO zxY`7iq<2g<&w5&!h0;OxpU;~2qo1#$x8Wwoh`(LcLaP_xi0L*AOkg8ZPMPTqVCW2d zYz0}txaaE zPHIXcYl5A={}Hza#QjFv1_3M*UbUI}s}^W&cikfTK}4>I8xS_G7^I z%8kbAIP#oW`a;|bagEh6REq6Rk^hYTs;9KJ8U0F((aB=eWHB$qG*W387tpf+R;oyr zO36B;CQ_L?W2jcL{xw#p6l)>Hs*V{JPI>(Lv-NQZ|MIUC-v3vmimB?5elxK3GvEMt z{*s0r1bR0uhRZlkm6k@b2J6ybh^R1$#k-D7k(u(a zZZ%=nx=cW41+9erxQQg5{^}AB3zKisQicMXjJ;4fU)ymi8{=w zFzMnIlzIosFDm`XLm_FPIx#UEZ2MgJzG0?1gGCQb<{GQxH&L@waJW@h4mJBwdlAzJ zM;)S&VNs2_=>g+iQ`Lqx+VC|sUHwAhI+J0|?IK)o0wv>tzm{J#o|zglrWwNN>_`_H z%!TrNaPVuvn0ZpT!d;RYc`TJe<<9CylhBNO=D-`6krx`?yB+c+4Dcx}HSQsBdXcc5%bESj3iA9Od1YG`ixY5ua zqjQCq{uPtrD_+9I9l8CFz9@_){Ze%t_)a(-F7W}kCmtjqqk@AIF9-iXtSJaC`m)q~ zxxyr$^yEqMw>+=m&TS8F+MW!hCOOqpj61h+(Tp66J5^+j$3v@->NsSi>Bk{c`MWrm zEoXVkBzZP&E0Hrjl@e6q!(5AK5ep_c&4YjUhmPr9lHV zkiUa`WIFIFTL_lv1k1MwmMH|wWGX(Dicg~AW2txziU)|4hv@mVa@ypdwtahz=|f0V z6JZUFCBqsT)4>`VOZ^bXz9xJaFR@7xo2%C5LZhBYTwn1{kd4!V^3 znUcXbtuju6x=bB<4Eh$Dq{TEX0V*z7Bx`UqaoVJMV}5!-DO4oM6-jbu4t#s^&32^UVo?w498-esz68vUrHCbb3NvHnn#QKH8C=hd%mm}_>CC_)(FHDvMLE&~eA3Jq$>;>mM>ZjvH&ZkrjD3Esc{A1K6=8(6=)=uCkI;fJbfY`-w5wS~4#bEe^k23!|rarM;GVI)#h$C=%Ot6m7zAB5oG20>6+ zo_WJDBF(!)X_O?52O(iVF|eA=<}(|g!{)I(p2Z$vbNPMjA(qSUWph|IzlYt& zvbdGqLl)AR)lxVTqt^Q7OckScUGijneZf-bTpK}cpUQ?~H1svgjt)BVMxmFi+XjnR!qNwk*1E6Lf| zct8Ti3Lla7hWuxOOUW^ufi9e5xCoJ>QiZyNPhza;$Q>C@rdoU&W2MV5!uh8FM&vJF zry8Za5hJp$h-pa>CDx(76){7|i1{?Zmk1PGC(wo`1*>U^AZGjR33)s=Zr`RJ`e{#;*JNYl|tU^8*p z>v$|eikG7?;do3VHMS(vIzMXu{7(5g;zz+-)?fy*J_$Hb=Bc#$Bq;{{fm&LUvOZ7J zML#w$kk%KKS2uC+RV|yMjLZ6bT-YC(0Ib0yMe}f(C#8L3BG>rtZ`Y8`{4`(0IeNrB zFym^+4}N3oo+s6&41OnVNO4Bl=9ozLp`f21o(bKC*xF9s#X2{1@%F6V!}A+!4)e~Z z_D}PmUcSg_RrlMb9ery5yZfn{Kye^K3f_qXPwhv5j{-V6I)k$)NjN4ve5WafNG#%v zD#;~E7|i->p*MwV1XSZxsP0jqnhK~0Ch{hjEWDE-Qa^Dhy-R_IJib<9r&7@|!@e0b zPmK)?c@Kj|{TzaZJZ=Wfm|@=x8c@jHDnJh^=$WRXM-3sE?p81~twsi&biMFPB6eJLZD7d+k$U(gNE)W3p@%57BJ|(q$dU!7K(M|lY zzF>cSnZ{6>LAn1xf;~&Aw6^oe0vs_s|0FaiuiaItU*?gNIE8W_Gsnlr_nJ|QWp|pd z_S}`{*k03KI(EUOKk!Iyk5u}DZIXK%oUM|3E1dTw_xo@vC3hv9_aygwaJES9EpRqV z?#*z@BzGB{w*+@)|fO74wtHc0Lba7rY137lfdT?|K-+%lZkB=>7@ z)=BPlaMnuhwQ$x*?lo{;mfSDHStYqw!C5J}SHdZh+(mF!NbVJIUXt7|!C5Z3m%}NP z+=Xynl-w`EaY}9{oTZX`DIAC7cEEW~az6*hF1hV+7EA8MaGsUi&%#+Gxfj97m)!Yq z7E11ga27~z+@Sh{CnWb1aBPy>24}wHo)0Haa_7OBC%NarnJc;H!g)k;KLRILa_7Q% zNOC^}CtGr7!Z4rhwwo&qOLa;L%3OKv@!Ns@aKoC%V9 z0-RLIoeD=Mxpi=oC3iBMM9G~9Cth;L!-$N*B1Ku+E!wg0tb&@~QBfl8@XmvLm1y4E6=;36rTO@J_@3m`C)5 zv+;nc|AGY_Kw-*bl?(a@?St+?^PqRoI_MlU4*CXdgRVi-pl8rB=omB%`UUNRZb7r4 zSI{cx6f_F@1Z{#YL6e|I&?4v%Gzj_w?Sbw9Q{`K_hV zQfH~L{F7yyumY-QxSX`DuOMzvn<#~(U z@&n5v%hQ$xmhV~STmIfM*YdFCAB36^n| zWJ`i2))Hljv<#U0&6^6-^0tpjY0CILI8KgJ2Lap=+6nExNxX}Ei1~x*s;>&urH@gh zi(z_N)tLTc@cB^%t0M%>8fGa2&>a|nR9`B8Chr{j@|`8VuYQjO#m$1q8aLKUyv8>f z3owYpUXt!Nc~;O*5q{EwsR#e_+o5-)^uWPCz>Q1~WVsHWSAD)veDp56&lIv3PQwN! zo|5Sy`*brlxiYYMc2~$A_wA6f{x{SdfeDmEnlT#Z;&~P;@jR5t_PDSMF`L(8idau_ zsCXRcn;9BlhYyxyhG02lhkjH*`@#1RP~}pS#6VtEIe&~K!vfk5ZV^cau-Tk4pc#OA zSq?VMHC`zQMQMC`2Z96r5M@oiR{-cq511a%B^nMcHaz;QaZ7qY)*8#w15F0g14SCc z#_#bg+%j-2lkK5u7%TDQ%?cT}!mSr6HHPDhF>BSk1~LaS<7SPUHD?x8T2$C!%u5d- z&@m*{(E0ROy1o%7>B}!R;0)g|0bK*}L|S1Bu?8hGJz$M4inXsv57^V54cQM*4M2n@ zCz0ZKEELC~J+6_U@*3X4-;iba?X21?Z2=O5o&7LC1?%W|}F720SKuhkdqWsUT~ce5Q? zz57@_-^CjFPV%o+{KsS}xqe~Xt zfGI43by11!jln5AmsB8UPK{u>jeLJWD%)Sy*>}L-x_!I+aUpBmu1IxeDj7RLb(Cf8 z9$ggp1?#LiT&u!mq>16QD%Po2rkb6>e^s;li<(^@r*Mx5S7xZ4L7f`s3pLIe+uL^o zY=u8Xo;#-`aT5HI?Oip8on{3Kk?m%EbMm8ICbKn?R#H!awW2oqQl&28nw(Oz{SRb2 z96_r`*CSjDEAOnI=3$+cfV4}m4FAN;m6>#ButkNpSIzj88fS3EP3t-_yY38bQse$n zjq69nhQrSf*Nep=5ZcwOlcTAfnv+d?bQ+*`c*Usrk=~*N)c1CtJG${2)Y3en%A&Q7 z>w-{X|KGtzDavVMz4_>f@<}kCr9qUzEsj_xu;;-O5L;gYOuqjW;eoW}Y zwXNA-deuAIZ*~BvhbjwF>&yIl6_DSTh9^lPg@T=${a62@Mo$sZd&1HGy^ys7be;=# z79S6ZCFs&2_GzpMq6y=m({|BODAa~Lv~LhhV0%eQ9n`RWsy`O=U=z8JIOw9+M*y8^ zZ2yt6h^E_lDvo0LCh+}Ooy5m8I9S-w@?X9a3J&}Isj7rPo*<3!R~_X`F4Pw!v;Bny zWcEN#;>kG4#`bgFpENgaumgqEZyYM@ByMdCcfjUMcC^{bd|&T~4!&Pc-L5IZp*3y3K4A5@lGb0nuG%yMIihq)_nY^&8p*VL9Yf*tN?tH*mi zt1sEX8wEGT089)~@L-tcy`MNR4S~Dcnu2=1vu&64wxF(NSIJKB?53LCB~1W0#)#p` zw&DH;sG^);J>aS*DU(wWs_o9|ZOY@|wmb6-pJx@a?n370es-33von0}5eP`8fei+y zK->d{o5%fmyc-gn6eD(o3)z`Mc2?F#pP7D^`{TKPc|Gr54lqx!6O{!gQAlY)59_Hc zIK@tx{8ke`k=1*Ko!}>X&$5%;AJn#=lJDgw^ab7IS>R_Ub1 zwS6bi{5=#6{)l!e%<2sat8dcN%q%g0-G0z&E;GxxJ5YubA07f=U^tf7w(SgNP(_9Q zj^FR^R_k$NErf$%nDH8h8H2{~;jeT?*>n6<+iq(ljb{90Tazx52B@|jx)d>jj2>W& zkV+4)-H1A1=&{{*e|Rw4E=Dtzac(>UtqYB9URHQG8s0<0Wd3#Xz6orp1Y7Olv+X{u z$y}7HjDJHT5!lH6H-}Q~F=cNm9i~_w_+T1FpJ(=0?3X_*&K*!8RGGXO{o>To4|^A!|M1?j_k)$Lk>$oIIZHGEDmwjdR8);OtYCMr z!d0__+HK>;lBSxyXx>K@{8|Uw73~NuPxi5rImI(V+jB&_QmfuF8nr46oJ6Bd_cU!A zRiskjObj5mE=g%A`OaHLQz8wPRsDZmmeP)Yqb!Q_H_FQR2K5?jz`s$P8gH<~U%STW zk;cK6qZXt7IJ^f=L|cs;5kPID_O=7T{UdTz``Yaa6%NY^ee1SyMCjv3WksH9W`~0R z`pq*F*dCo3dEPp+^sykD8b;@&QNXGGYL>0Rk3bv>)hi@u7=byW^kJ9_<89D;1Wg|p zmDOzuV1tpTfgKGYY|wiYwI2EgxeQ@yST5u_NEM@VnKA|}BTzIfqtO)BiY8Q$GkFL( zjV-$bKi>nK#Ma=e25)?qzMwJdyaxvR_cihZ`hq>`NB!eh|09R*n=^;3*&=@^fgXQ& zeT1WCuafbkp^U+aM88f{MhGA?Y=z`7UTTF1F;QxT zEHPPXg-{W?caScoO05txPLNt5Z=58xLhz`US|NcuwmwH<+g1n3Z(Em=Ah*>? z65ZApNwnKqNHX5mI&1UODSK4MS)9!QGr*1U8#psC#8N$U6pz(I8gAR;6}ld zf-?nw3N97ADmYf~t>9j12c=Dv_EFkOX*Z<}mG)HHR%vIY&6W07XkoFSi)RImEE4pR zFKB0>prZwXrk)V=WfQbEU(j8ipuu^99_I?$d_>S`uAte61pQ_UTAm~5I!n;_eS+Ta z6|{ek=m%EOCo)C<$Pj(SEc(q1(TAps{$vt;%P9JpLG-zF(f_81zL+NZrC#*WNus|_ z5PdgQ^kbdq)5)TLCyKrvFZz9~-~rKsA7}+{h$KGYGW^f{viOFw@Ddj5Rr{%_fla*Y z(L~Z$jBYS!ZByoPf7>Z*Vpi`dq4|n6rlSvuE3t122Ay=SKi@h>#5B%Th{4g=G2Ba5!WeNBd`^U6$oicpO>mDTHqSv$=} zc^prNpnH7;KMe<75uJr49UD58nLOs?x+or)BS&&dkw*(gRli?faFp#TE%343N>oz^ zVj3u>C}B{#QFw!d7zauVbj<5NxPALxepVNGCN~ywS+1$W`Y1rnHLinLvIfs#JQwl! z(gQPM!-7hK?nhWhcIyjvv0Y`6eY<(8zTf~mP!`+g-NX;Bm$u8t1~X{4hel^Gr)`SW zfDEw2?`FH2BHMTK16jSP>_Ag&`%ngumCrElP7f&S(Ct|+ezYyw7t4>erI5`!y~FT} z#fEK*A%Q2ImsM?3u=E9zvFKXWmX3EITf7^vI0n+iyAkg|zNt@_Nfa~_%c>Srn`Dg? z=}c{rc%xLNHZ5p@(wN$!@fJ-IeiyaZ3_b-k1?*FEf|errX=+rWAs(QnB`V@)ShR~& zX~wh6>WRz>Me~nZGRwP2MlO`TQ{X=i{vYJa*&0c;cF2?TETJRURZhB3*EUtBHdc?{ zgcfR*B-BI8PO&K%dQlNAJI&HD{-P#Y7GMSp!l;Utoq^_Nb&@q%=|X|5KP9n%oTx7_ zfWA-B*Qx3h3Wf4G0RB@7J42yRA_x8A>$LOitBsyVq=U7R^cyJ>+VFtmGM}EuP3q!Q zJ;+cNb>oI@-eU^whW%2Z{se1*P#G^Yl5__VpzTA(NBrONPgTzmpeug+G4i9c1_^XP zAR$lKC(-_l5)B38c)~4$#YufdHC;)9ll%TV{I{!m@50Yg$QBf`g@w#f$d=-0@?d)? zbwvGsgL*1;boLp+lA4PAOZ^W2LjQs=;FK+Zt1*RNJl;6(vlL6N1A!bed72*^C7)x|PlUysciPL;K0G(G&IhWv?O zzJx#2dox>c@6fE_)Czwn`)0N#!M`q(O`$HBIX3ZPzQ)cHrWP=VLcI&wQnnHkxH~4` zVs*Hz2=h3$ayu{vif)9=67ZXTZ+((j;0gAK*tu)uXXfBbyzdY!vQfP6;YRpR67PHY zBiJ8gkC3){+aus6d)oJqSShRbk@$FdK{&e+`HjeMM2>@5#)vFqhGiM6WXT@kn5XPv z`#9z;jcjMzzM#G=86p+tp`!ct_3d-@?ZCgCeLKaF6{T#3nMg7VE#R$?a#I=wy$hxOV@JDC|t{zE{cV!Tmi>w>2rl zSla{)A`?E%hgNLN#cn~w2GNC~H(JQ>k`V2Gx z@W5jL9+dL{Jm~2cfr=%7R~r+Ap8Y}GfDGI1S`W^j3Ud(IPi|-`*+pEkiS4Pw28iLI zCz~FJd^R42p2rdIFMOweYM}6)(A2=!tZ&2%YaElF4qM~ExmL}cl!j&j3oW2gz02Zy zHS0XKoDRl<`z&`JZNLU?muZfNW<+1iUF&%_=N zy+P6$)l(7RCmF2Vx1ZCU=8kym5n)dVTP*<=XuqKQ*I_6!by;IgN3B|;Z)(7>_$k;A zeX<(Xx#CUBbP@5`0>qppPpS58gub##d4_kN98AvWMi^HyNJM*-l46Gj@8y^7 z?Xv#p-lNtZ^5i2py|V~rf0TjC#xcrHIR2F`viYm>AlK4IzcsSC|9H@9<&hZlkKaJp z4TMG0M+jjdgiTP7a!_+MNV(ceD9GYUc(qYf$aJYFp+PcCyA+J22%;vJEHqnJf>A@X zb#xB}-oU(R5hmu(4sT55G?|K=>Ud#?hAo_d17BoiOR@6^eACiG6TDB!bfHdTSo<^@ z-VOp-Y+9(h9fyd^NWotmAdbt$-1yg`JLk(9!y`{ae|!@eU0U3;oeVR7J!6qAvQ*;E zX!x&p?(u>Pm@Zip2Vq48_+qw*+XeiI{HXIN!lS9ia#ACVDiLmg3hgBaUpxYynFj|5 z9%sH|tTW4eQC9EAn8JO++6{K2 za$2Y&|9JSs!V80^>Peaa@r}(zY+v)w*hkH) z*n#HN>>&0#+j%qlgfGQL?FpU6R+*0~ST(lY`E4%>NA!R0W8M4&lpA0ugmpUoHQm;` zytqit_|Kg+{)+aN10U6NkLnSC|g?{?yT0YAjX-QWnH%JF^O_~-BQ%fY@A3V+zg z_JKcOp<9}krY~rRszO%&cGs9FBB)ddoqhpd#`hKY=6qkkH|P5|gYR~NZ_-CK{ubJ1 z^MCMerwY@bM#GdAuRw7UP)G)kA@^H>Z^=f(o!&bgCMc&)%bgyWF5hLC;ho`_DVaUy zTxeX%8HR6rzwOABW_f1iS_4-3Zo@s^dmOW+dp-B&ekbr9`98z_-uoR{(gU6ca_2zM z@Sq{vo9+0n^pNMF+?+s;oNIX4`>^8?>F+#$mpeBwSANtm&pXfY_fnoGFZZ#)WAc2% zCu)w>(@szaCvoQDRz|(TR;rrh2I~GaLc%I39Ht?+c1H)oi zfL|inJ@(um27V|%XL#QGyu%^=$n&GzrGcgL3kIjx=_rt1^t_n+@9Yzmr6V(xmfqg8w_uF-*9Y{-t@egTN)^p zHyPgYzUBBw>21&3x$gwtk;@G4df#s@IuVlB51l-rHfNxf0#0FvR|*X> z)aynm%jFnLAdh;$1xZNVDpEJ2gUc8&YH6Te#p_?q(kEB!?yR_wIM9bDjwW8Pvln*g(K+9D$c z$8hMdB{0|2Mkz+h*0Q1vD~+(~LiwtzT`{}aB;-&d73Uz43d^I0E6$+;zJTVx}v>Gll^N*0!`kE>jt02vZO-pDr`e%A0SQplufk7y}zs$HGP z3?4;i3($NEl|-N92cryu#Z7TaS_}&m4aFmu3YhYtqQ9h~A?aBFNzkZdM#QX6qKMTg z;x|tGCRF4bCj0=f*nWomR#AQ}`Dj7R_LHbR^U;iWk8q$=`3B{lgxpg`=RTEI{D3us zraw5$UXky`LCR}t){i3VJaGhjC@~T^kYFi9YIXUaI8nF1EN*(VE}sa>@P<>sQQ;II zzyV3+!vRUbktg~W`SblR`kkPKy8OJWQL#oT@-tMzuzNA=j)e=08$=&~b^z#bVZPhz zA+^D3#g~ffE$M{b`f-D)flfInnq)A!0@a$ZttgG|S(xs4m}8)xix6VMB3E zNn~#B#+Jw$GtPn^U%S@f(UaQB0%5O#EhMI6Vh&-xgDoW>l)AU5I2u9$p^I=u;$j!r z1KJ$8H!iVx(B5lNyp_D(%N-$;GVDv*F*NLzf5%vDqCpd_59qvri!q+-K-V@Jo~tz};YuRA`__ikxaF}_u``f=v@ z5UZ>N?!y7^s{tP);62B{!0R|aF%>5$VsM5cf=*Gq4k61_oTP}6G*W~Nv-1H+Rlb5$ zg>3o`$T(LKz{!fQaJC{eFi=;5nfwL8bxML7o9Rb97uEW-#2SxA`m{v%UE8;QL~T|= zbs#};OG&s2z)~ry{rQhn)RO(K61EZehf@mDkTnRbdrP2+zg7G8;Gx~OHoRT;){%jn z-~)|)Z}}qo-d29=aBKU}S6i92CwTJgW}W|RnJ%)ntZg&oXoBeOS}J?Lo}VD9wp`rE zq_Mr=0C4;*kXx+8-^Sff_lB#Lrc`TuUCGP{46}xWrFA875ujXoobU=J2`|w68zmn{ zy3XL-L@q8|B~&B_6Gh_Sz1DjOD-)=mWuRU-n~A@cuq`)5#l$hA6YDR@s|O8J-&hN7 zjN8g`f_KpjP=)}p%z7z!5hyq}90iN1zOmKfBTA~yY&;j{-HSdGEBd1k9wej7JatwMMy$F)O;)~|O+ktcDla&t9V!!{T z`_~y#UO=KN!T**gj_|%$^>!h_un;Bswcr)#O^I$rxfn!bcv9p+eBCv9W;fcn|`1;ZcTOo;-6(7v#Y?brtI~*bs{9w=`j|^HMs)$Plz|;i8LMfRD z>FB_LsCtK_{E-NkM4gai(rXHSNSaG>Q}PbtJBSw&*y6viCn_YN14?xK!n`ORd{a{V zq#%6?(u-`6J_YGX;7eJO9a0hwlVDh6FH#5bj&CXo>4QiJgQZHb@C+h-5a|hoAkqhs zp5(g%98of*#y_MVK>7is2NzNVwn#sK^k6fp;1=IV4?!_vBe8&*N+!VQA5{R~1SnNY z07O9Go2o1dpiJq75>o<-gm3Wy2kB9N1r78X#1GOFO2`}a$3svOiYOY@7~i5~e2ahh zCbUsf{Gk23UPNL_fNv2%sp${jNKa^>SJYo22c#F?)WV{b@J&&u#sX?8nUdfiA`;rEXmz7N zK_R@+{-SjSIw?y4NVOHHMRZC@B!>Fq!M8#{3d#|v5`<`7Y9YchVM;UwfkP#W)S_Xi zF#sNNQV>nZC4>?Z32}rhK#6Y!5dvZ=Rjn9R1^@}52~YwK1>i?1mUKvZ=oyDR%xb};)& zc7OIjj+CRxNz6&fvF6Oq$B>2l6U@1i)1QOg8?VNj=uPojy|ca9-W;#j zd&t}6J?0I1uXy{t1BYN}{!rqfltb1-vkzq-$~ojcbm&mmp<{=FhprszKQz!Kb!oa1 zyHdKWU9-EgyK=g`U5C25x{h@PyRLNgci}#%W13@$$5M`2kIg=oeJtmg_t>FhUB`|c z3m&_2tp6BVC#VS~qOq;P*}?2!PS6`X6zmEf1GQcW_6G;9NLMsh60f9Ov0j;dCHqRw z74MZpSGukoyAr%|!R>!axb3RgH&gzu&*z0)FF!5zNMx@j6 zrncR>cxCw?UHrLJd|t}pyL+4T%TgqDrh2$)zhqdtq%0wivYWBw1|%KKyW!)S!^-^D zi!JsW&UVZp_)cttK94y9WH1EdUy%2eJl_5ow$9oM+nTI>i*XW(nH76?yO)PxIm@h+ zQs3fzG^4`1Rz4)jQmzE6nNqBzl_F_|JK|H~?Y@Ug%v5-b*LOe4{;I}I1)?^YLj^bK z;?#2G3pmY_f>a4=sP9YpSVM%gewSNdv5+t}yL} zMKw+>;`cz*{vcGPRKshDWOxnDt#?#-J330~$3YnZ<-iYGzQvnIHgqezpLokA1t-*b zX_uktZi)l3MFz!MTU*a-4a;1$I~1p$H!5G`C{W?nqS@L!<-IUVcn&LpwP*1iz4bng zZPrg%r%ssKVPaO9GmGU*5q1ft!>!Jn`(En-5Z+tPIf{OVfs7$T~!Im zB&955M+>nd(Zu{%0b&Qi7tejm0p`)=bmXg>n+yCnljgII^G(w8qr%HaUUCeG2kUV^ zlAeUchm&o7+yHcfP|Z(@U*+9j;brI|eJ4hw<|hF2?~!OXj?H~N(QeA1675vsoj-pL z6NElviGCP{hdPjGP1atQPw4t2zswjkP+P{|0%O#L^L=)jWasD6j2pjLVBr^(kzdo^ zNX1u2(66AK>L}r%5&nhrKJ+sNl)PQOKoj?T>S~u6WRhX>zu4H4&oZ#d(E*H^2lH26 zIl38w+G{%GW3`8alL;g*3lMx>b_T$foO1Ta-*NFCUu+gXbsk&Er;C3nb#?~-46pb; z9M7YRzSwC>g))%{*_{gD6k%@7DSQ$jUQzt1wli1)nA-w4yxfBWi>G;j%I0ST1gBx~ zh*G6;Gn7R$pyuY~0g%KQaD|@WWNxlGUE$@Zh7y~f7Hvc#uo7QYgtXygWgb5a3v}W< zqp$rWcBa~SH|s$AET7pw0FJ`^0+bWLf?tL@hhU+TVDjyRc#91}i31@QHg4p8fe`IR z{DIAWg)^-pjxN43>pX6EM67dA_wP8|UiNoE^H3#g+FQJ|nDf>k^9pY%ETnnEI44Bc zV8=;8HsvhRYiuz;&Enm??aZ9TJ9>R>=B8BM-qzg|-FK4CUGfgrE$g_itwZtY00TwO z@gW9oR9nGM1~s7rUM5`I5n;k37e>1 zC1xtUQFIWI?R1f#gQ3{0lXcY|?hH<%3bc6Jz*$(Q{Fk;a>lds`{v5G+rznnhRpe7U zP+0^4Ka2~hmO-Neg9Vt}1R8x1yQCcuGvrizSf1n}ytN$-P9>~24CGXRe-p8`c*%nu z4S!R~3i=eEPG7qko4zZRBB%h`ZN_oird-c^VAj3|&?_6H2#i`y7-zw|_JfI6nD_w% zSI}k-FjV1HIBJ#lE@DvFKBt|EDyvr6ub|wb8t&H0s|m@JTBNPg&Y;+obQlj7l=<~R z*I0(_@VD@6!RG$qGHu^swoffojHDxmo0`MHsM>wl@IW&wJ0A-FcnqDwhfdKAuv_xq z@KHOFG`+%ycEb3Hw9MsB3@-ZKuIqyj-rpMu2=X_00cCN!TMW(q5TgP6jx!iJztwF!Sn z2abT5y~5YEy@nBDP0jTRu$YqTLkajgnoO)4mhLt3cuhXYUklzUg}jZgLxi=1Sq_z~ zttU>4TLX*F#KKx zK)&7&Dgq8X=guj9YRo^wXpUbgLk&~|{J!(@M;rD!_d5^Z-WgEu5tz%nEr6d1gZI!> zMJ5n+mz~aXvA~8iJUsQ&6#pVZozjS&V>s|L!<3a-{P20$y7+29sM~aiPVO;DqVgqY zJ*L=-KuMp+q=R$LW73yg@R$rG7eR2BKyX29$NN|(YU8izX*t2V@YVxuOS0yU99WmI zzm}_;XE?G-ewlZ&qu}qCz~7M&XgFJPwdO*}b;E(559W6{oL}t)es;rIcEMr$kJZ3b z@GE4&yO6;NWN?xNc@MkH``A@}fsM*Q1p^uMZRmr-)7hbjwfp)Pu9oB1uY7Z5*~$Yy z|L)I``Z7PquGU->U?9!84d>Ved|s|;m(8GSBAI{~2;swzilI-8#_GE|5FhR+o4`A0 zX2?2-JAi58AOYsrms@VBj8Y1jy2yKV*-pBb>ZP&DLxxsdPve6{sX1>BK9kAhEMm;YmDJf@G5WUPdO zIxX_T+uFqXN3i+Pm4g~z1_7ZuVl^^e86-xeQ*l8<-i#%*(K%y@*a}zoo5^2U=_zZu zxmaxO1sr<>J>XO!#%dZkz_##4V+Pc$@kVn~aH5KQC1b33hOP3d6B-TQTLZhK_?1s{ zsGDvE>CV`_jX9vUoAabPQ<8=*95S{U&F&2aoxG$MX!Q~qcD@x*}%=OdQs ztHd%Lu?5c-IxXqyGI9i}6nLnoQKh}?0&((7HJ1)w(0!}qB0PfBHjKufONO*pYcBGj z;ANL9yz+nY3qwt$PIZ+0MikL>JD?o1HBc&PWk6J7My)d-7wI7=%I*QqW%0|sr)s}~8PQv19yyeG^r*~%tRV}!$XqPz^#vG^98f=}263{> zi_scu`Q-{H7BImIC-DQ&lS)8Nkk5-ANsx+`e$fIqi=YHm)1|HK1gdEK&AJdj4YgH` z&}oTdJwX4dx*iHY+1GzIrM_50V@8q%eljt4_*MBQzc*xIP4Di6AW<* z_)q*Id@sYzK&KdEf=vP9ezM^pE3w1iY6)D@0#d;xK)!;00}RxyTlI^zzxeEzpZzjy z(hf6Tg5L88$&hv!pM_r8IJGJ`n+tE;gYa;y>3Wf7hMY8Gfu=Z%w4FqSucFe0cvhi) zW%>e-h-_?vj~&&IH9GKi6)Icn;MQY5-;;|nKz(gmOegO_FX%nfiw#U1#+!!220Peh z9LBqyMN;WUl1NuJQPQ*11)Fh5LCd0LO)(oFm4FGX%zBk?hW;=nZJ5Oo6 zjI2J56UQ!?hXh9+jCpbbPi0lSjCl;NzK(;CTj(IXv=uZP$+Xp>^@Q{Pflu!>be3FLjGcwe5)Y7pUlMA%w7e`Nd` zvY!}Ev>J(;)kKC}uk%J5o8#Y70zA( z{*^8u1`RpS6HF|N))!QjMVyPSl7r!QN7yRj03_za?IH3K;vXkA`OCL&=hh=yTT)1W0)`eR(Zy`)nzPknE?CG-WEtOAgnYQhzE$?n=KLODTPM=cC zX$;T&l5Z%eWRRo? z+$$*NTWLkQm2V?w8xX-yABmKj66-3XwnlBc2dI;0_~PkHyiW+fwN%~>{EPOu+EN*{ zjlR$tXwnP@nCJwPJFfuClT=An4aVWA6eCL4Z`%@HtX8jBF(}wVm2-m6QO@r`{jDm@^gIgFGi-cKpd&^AlQvNN5m^~+*7|Pe z+mzGI`U1=rF4qQw5ul+Hh$W~*5Z24Z+tQisPnD~)v-Lt~v7R#1O47*v!gW*3rVZWnETp1~}LZoNO&6T?>7|TNHd$Uy#Xs#@(QuqivgU9DFn6 zn`JmEj)p>qsp#fqnAKHu3pxOGm4N?LbeDoPf;&`nyVMd{Spy^mM@h!w6R6e{KQ&0# z80H8XkaZcW1YwVc>5dUFRW`OA1snuen-72}`RxmXNUBK+V1QE>`8U8*W+ItrIjixj zsR2c6md12m@1#zM51{p_Hkte^)isma+_*PAATFn9NS0heotCD;q+6?GDTu-N zUo3=#II-LSEv9ZXf`AMwF@YSq-4WuzZd~;!aER0GBogdyxMKqe47)MxlT@(V74vi< z?m7JF3NVBglMdI)Dg!0%9%e#cvbTEk&YX`!f3!&wrpQ zz>`Qo^^BAYP!0G|!w>pBMGMy=QNKaI?^3)~qV9u!Ger$Vy$Ag!inK?fBCH9bVoJ86 z9tk*{gtfcz;Wtza^F{iCMFoqNnWQwfs9*+cT>AO^wguK`To~OAc_xO`ZtlmZJfG$B zytaI60?QYj99P>;5~1QN7~8f8X%@+m&PBXCsHF>ORm3Sxigst2ggX0e{UN?mm&31P zsuWDYz~PJXSS2V{CE};%L`xB9+H~D|MVLUfA z@FtWP60yY58ZUzN22o}kjES|CTBCv*UYeHGyAe`*`N+V4Ph0bLi|lIT*Wbj3OiU@x z|3(E|Z^9;|^8S^p)CF>FAHaHO*6h>vGaH3sZE9hOqBN)$4 zD2oR=6Z^H{%ziV3oD=v7-gUs2Gnug4)dSI3pj8 zvc)Hj((SIsO`h+MPgl4}N#q9SI?kmFwtsYJ6vcM!vW~?KG;*kIK zs9@CPsEbjTd@&7@mtEiP;@5qX`DJYSUZP27VuO^+t~X%Td~UldT+$Nh8}N-Bnqc4t zIA4rNCg0T@WJS%Facn2`^-!@L`lhc(_{hK*>}C`@VQX2j|7Y8` z*RF!i4YrX?E+}-(-iEmi79d*-Z(%10UH;P|U7W(tw#nlZR*@)ux(Y|ZS7B7bM2$EK zxPngWydfu2-@T#my<%9&Vx44Fp@gg|oPlvHb`~}m;xV+`2*&bav%Y{-*UhxmkGX%b zzF-wO&}c7aukp8qbll8kYNU0r&GK498fb16TZ2ezVPh*^T|i*E2ztKX#QL09sT)T2 zUA;x)QL8Dfu?4&W9WSxLDp9AWG4HGGuG)EguA!A}Xo4O<9t3q{P+<}jFBH?(66x~K z3=Tw@83t<#+sr&-w8daMhgA)Yt1g9N={H5<@v4ate5%*rmcdf5tB}ntWb-f*xi;~m zz>B^>Sf(Y8zuW&WSjqU}srDBj#_yoKOhp^_Vr=buQ!9bh?MDoeIKtKE0#oVApqBLC`0=q zTyvO@W3Gg0blDtbQo=VYvlLOSp&EsmioYamyNDWKPhmk5+spR|?gLsAufQ_jE7}Dk znZSBCg8ZA5RvL~7%>OUcQ{}&4W@jc|;=cg3n4xfljf%{c?r9m5_mIcNjUrN1Cd({~ z!2vk(<8)I^M+f0*<3<%%AJrjA%pQsd%pkKAI#26jOSV`hXj&KKpBQgLbwepJyI zf=c{7NWgu{CsgNaF5HbWaAcGwc{HLZ6VS4u$=)1Xa*(0Z6h9cj%tKR9ENR2@J+q41 z4C)-2kU5azeGSi0aKX0f3)X;nuO*!AtsE>E_8cIaCbDVdC2aBc$q1~1IdqWNmOVabSIAde_Drh{P8vHN zi0}DP#7B+3f$gD2m)*Q}S`DkgoJtfnLCJ&=uM|ebB8w@v$f6y@x(ITWh5CYp1q(45 zV%@S9TLIm?8^a=IMJlci4-(=6l@R^&{BzaQQ&^^A2Vp)xJRf)ZE%MRT)0i8TYvmZe zP`nJ|SU4S@N7O%`byAO~9UGMoaoTjq^WP%>e9HctWT=jR#vmkIW@Quv1A!@gOf6bW zuoxfR$P;mQE6Wt~i(wuI$mBF^dgO}Lq!lNyXnfSzW^X2u09`-;m5naG5B+&RIztV( z68ub7D-_|anKc3;t{I>@N?| zxdO$k&q2>-#hgzS+(^_z_4caXABVl6@2{xui`yzcs-Kq0yp=%Hv;$FI=7lPu4IlUK zVIQ~Hrg@`2uGjYn`HU3QjsWIPgo4n_1Wrsa)THH{& zZ&JcDW0jzI-m-)dQEpiWfyyzeG3bBGaz@AcdQntg5$o&CHAcYj!Wu=Jj+uT8)J@AA z!Yrs^tacb4<)%3dV*GyF2qX%^QF0jJKfK0D@E}eE7=vHKt2Qbkf*?FFlvcvhd~Ypl z6566{C*;#c_FmXFm=Xh8bzk>`Na$xS5D+lAQ2PP(gwFv9Jp1dVF68va)-|5J1^lX8$F+M#DS@$_jv#n8Sln?^^`}1-A+YHbw*!HULL; zQh983N_l+sI9&HLetiO(fDj|13WIWkh*9vMBRoLT62=38xw~>Wn5e~%Du>r%WH4%R zt67#nh+xsCDa;R{PWPxPh2$ zYBP>3k*tY*85AhW5E*4)!Fxu0p7BMtpXFz%$g{47#ZsHumq06{vkmY$<8Yqk<|E&h ztmFI69?3;UjR*hU9irtI{Lyp&$sIzZ2>eB=e>nP~(Q36(QPDB6aS6%er#v7@Yqb9z z>q`23+>4XWrTuj3jXU3(Vfyx=yO-aW_Mktfa&F;cbDzk3dit~9{^6rbSNyo~rN92n z@ye-nMaAhGKmW&n`&GC5%irYI{&vU1|1$95d2eLL6UUC7C_Vklz7H?m|D`0|7WYQ# zQ&V1_KKX8AcH`fF`1BG-<6?fS_puGv~Ad|G9lKQPc7tHUZl zDvxcBS6O*$Tn*I0^^SgtGAm#39aDNiq-)Er%&+#Fe+>NKN+ zX3WcY5!Vjs3e4rY=G20W^3<&6#9niGVsmnDMtL$Oee&wW^2D;p>&eZr)E;T&*5=sw zIpq_2lzHax-{#o7X0pH}l+CL(dH7$IkZ6Qr4b)c(%MJ16GYZR%=5ljkxyf9fQCL15 zS7qP8;m_leReM}(ecaWY2o)?@El&s2UvjywDe^?BzFEK8P_A!ITWu^)Yo4;&R6eCS zef9M6bbYg7^^9^uvvIY#+}Lbdol$OTp1wM>e0p>G@kwP(zUbyD$0wB4%kxn!$}JJO zC8NGniVn3xbq&`<2G>Le*F*-_kU>_n{+cNAnke#`DDoPLY@T#HUF1CB_>{8xW-I1> zK#CJnMzjO1AER-nH9c9)6M)GH&69x1NiIXuRxn7_Zmcyo zg>O;e-MS>bP{!{joP%%gJW?28)fAf|xZm)DwoZh2(SKyI$q9wE1uhS!m4dMX-$Qv(F4&*Q!oY@h}WH1oIW0bD7$@k^B#d%X#5LzSp9Ji(2?W_ zUt;mkB1H8y#f1?DormuVYKots)RIn9{6qv5np)GNi*7rIO_Ou%Qgd?6DP3&aMJsd^ z_(iB__=fE_b|*Lpd&hZMO4s!jO}I<{la!@Z$_=T?QWrMQ=wg@(ySEm2Up-Cg2ZG$ zz)h0|uP}qi?Dhl9jESzrXLt%7kI*LfW!;->_lkl)B0zD171`41?t#{j^$N)mbCJgky>LbCy*<7iZ=WwxZ6 z$lvadgst+|Qj-E&+9f6e#6Z}BJckfe3V9wR#R*V{aGFEn#F$M`)=P)VI`zM__H>#s zk*DRMz!e)Uhafcx3U*>*9CREQZmMJFS<_qqP0za{X%6|*g-4_#a?iq}(ou)px9}?} zvAXcMbR5qPl^9}nXih}Sje6Y21O{ywuL;WCJ3lV(hL*o0JHJu{T#xQN4x!cK@~1od z%0Gpw?w*}rl=nzqcyQvYaY0kF3yLlwx6y>{@X`Arq^u~hq>mvP>4QUbO-RRXh2ux5 z%mvPOP{wyWrgeW0Ro+JFLn@dyLRemUixvy~DgTEXtd~#I&k#q>pwPgPFOAy&A58NQ zLgRo$VBGzuRUeuF6agEjNjd1cJBQ(5lYA!X~JQnp1=IfqKKRniY~_u%4FQ53RWh?6|r+*LmA zE?;nd`gkaO3JW06pRKT(sB$TsMjTbFn7A;@y0eMyE3gF=^;ur4(w`YX9Do;0FU83s$a588x5wX_LXuxYt z6>SDdM};rh;P0E-*Z>AK_P~KW9-6JQX;uOPrvE75Y6aKBManfS167=35N1GlFY5Nt zi8o72i+O`qiKpbJ#DVTWLA~aODS3SzNO0i5n2d%1?HsXg@|Z~DzcL2mYU>wSQb2)H+%(UCGU1 zJ%x&dg3dhEf=$zFR5h7O_CxZbk$LpA<92DML}_z7p3T~YbKkbx_wU3x_s;zR9C9lG z5bc0w+WouW-i13gxZ3t_+KhJMCQlRU{B{|!@I@FDX;EA=DHU;Droj+sFoE9cZOK6H zsJKMIkn$`*fh_EOrnpe-eNe=u!aqiZRuut-VQEDVq!p?1ssZTmV&2XVCN@E0v4Npy zC#8&dT%dZd9zLfKUz)3&U(M6a4eOMhL6n%DU^J4{zg5cXfMEr?GfKy;tRq41J68WsN_MBT@< zxa#M*TFmk(+2a8rWh#=#K`r#Vq`^2jBJJJfZ4t~M(%Enk*k6+ zG6$v^=B2;J$Z?o!UWk$VVJcucVR~T%!IZWxesP%dyG5ob(Sz1R;#QZ&6WgfqRpN( zDmf)}^cct3v~lB|6DD$Zq)*P6GId&J*7O+{U7UT%rLLJ*{_^r!S6q8t&g|=d_3ImM z{0)E8oSSoRx%IbmZ=3hK+kgLuKVJ3=_f=P4bH|-|^B3Ipr@KA(+E*WeJ+JJ2b>C|pq1QX#cys?-Zy)G7 z__x2m^X_}$fBf@bhyLsR4?g^;``;gb^66(iy?vj5arnrWM~{8gfBeMPCnMi{``y6z z|2cK~O!VxzA7Xa zVnX#Xw)z`ZsP1R0zr)W7n3HVcH|!~)%-?0yU6aQj`P<@6)(s#aRy<@*V z!{Wai&J*8L)LOn{Pn@F2)f3u8}i^cG!h+rAN-ES8u+a(y_n+l;2G)! z*Gu+JPC(*072$J0)7HsdP^6P6(h0Rl_C$pwQN*$$O;nA?4_r+sNCDmnf@BdoT_XWF z{5rDq7~2aq++=A#6!R*}a05|52|^l$HmZ}G(VU4!mj2E+v4Zr;_>8EbK3CPv%{%OJ zVip_LhnTRYK0&s9G;0^C)7*@7K8DTBJl8xjQ`rj6R}h=IE9QVu#~>LYDKA8agDgJ^ zLVeT9rpk{AYJ2NRR;G{4rh$lCzhi*|q|p{XU_iy8PEdDS&!R5AXOE#)zo+v3_|Mb2 zr}?5@&*wU)lx<*^lrjx0Y}Kb!2a*Vm2T!n+tsXqdg0tR5g?_{0gx5O>R{U3)q~#0? zSqp_j9LP;gqUMI^y#E#(ujcs6;T%iPGZQLTg+j5enEO9c9^+2cz zK?)cs)uxC}FJ-|d;QzzG4*dTmi)K_oo6(Hs>6uG#ay41$u`ri78$4{Jqf6B*M z^`n-R{+pJVm(9JZWv981lM{H_^8EGNjAUC9Y5iVUBR%n4$#n{t5!nxv2iO)S_dd*5f1q9@NPn^Z7gyo zM99XA8F~U+9iY>xo-m_1*LqI1&`xI5x%7WF#R~ZDJf%Oc*Z53+;+WoL_G*rqry351 z2TVb}B7CgVB}j%DMNt7-KamfPnT&<#$jP8-0hCeGji~J!stO*oR`^`$L%*w$vIU{WX`7-YQgqg>UY3$)*4b(Um7- zR;p!79wV(7T=$#8)>aI#`z>Lek7Y#<^|ZkwoF$v+=qp?3_}j-43HM> zI1&BG1%dHQbUqyslR!jdVcVx6$iavlkRs_Ee4UVMu=Q~W;5#|E1I^-FvIQVz6F>*z zNOR&-O8HO-zmmQ0Lt1+@@g+(!0H3Bn0r&}3-9xYdmeyai8L;XARLm2XUXWQFNuy79 z0Y-C>2q1rn^Z@pmcmkF&K6VV9x(Lx|P?v?9uI2%DNYB5g<~Jb%#pIX_ zrO_Et*wl(SQ5u~X!IxHy4Y@=Xf?7j0(w+WSrZ*Zdt$n~4Z~yW65oDnv<37a&g3(po zHxHx+tMHn;f$)8<0>{}-SCr0toIkCnW(u>p&*dm^G#FS@m~mGL!h-R1wqiDSU5zHJ za%P}oNibGw>UaQO3;6X7(o5cic^l>cOcxAFK@P(F4d(AKMy40vUg#_ACGDDC5_a|y zE&P-L+=Fp~+Zk*{1nfZl8uzaBdWBYS%_0iz@QN^KR}@wB3|E#~uW~FlkpNA>59n!s z-JSk9=~adw6-~$@-tr7{lQ)nhHdSWXspfM(H~tx>F6%nJGV3~)iRk=X!ZVD3 zSbWwc)v#rG&0bT)>Yoj7(Ht@Q8S#66j`&U8^va;gW%YX%f0xm3hrcL(g9qRPX1k%% zB>DzLw$ews`MRv)CV17E#Cmwu)ssBFUcX$GUj6HN6JjPM|wPcq!7zqV|S`+J#c zFZ|)$%y2*a1^%UpEncS7ij<`ZEl)6|7T{QFZmDHTO`R^KoGsHr_S7XyS~5a`pcRfR zO+*hzlf#20E!o?@$IJ9L&DC90%ZMrTb*F^g-=UxVvvCcI$ z(`B1GyVKSG$*Y<^S40zJJrOUGd(d5x?y3 zbbZo}RNf<=I@g$%ry2Vgw-V>fW@cH!MR334dXah`Q+)SqW=7=m>`-EVoDg%+piR1gf*VCr)!E!t4|eiEU);ZoLLuP9U|k# zs)eqboV}&i)_>w_YCVLnrS*M$>5{6!T7$p_Qw;(eEHwyhFw`Ir_|rPUYy;JVVG2>{ zg2*32y^Mc~;m*B?%HhVm6f}T2(_eov=F?C=guw3_aO5(#UDKD->Dt$>S;lQ7gW+)- zMG_fpB7@r~r}=YwG+`~`7XVH{6Ic}9b=xTG7JyTY`}SyDrc4*>Cmw$YOp6m`k6-iv z-m4mgRXu$!9&1s)xn)*}ZxKSg-&ie#Ff4UKskWZGOiwzrF z$An0hC|Uw77l)P{v|}h(GJaMl+Ucr9qPk8la8*+u*N@4CpXqNU4AaSt%j@JS!JPd8 z%fRlJT2ez8Ph z=ptH(MC#-e07#Q47|bjfR=ke-*rb#YA(8QIOx9pzzae6xu0*J{`1*)phwd%YTc+?A zvO$+3jozWdW)cnu2&PG4)@NbqWJ_qC(L?8j7)-j6cXl@NjnX;L5KegFeH0)|qZG{I zD9O6W)Oy^>Q}P@YG2;4^F8obo)Dgp*x<~>xiWsQmVIV>m(HoG?eb@l7N^ZHQ&x4K^ zb_gVv2@%N-r~qMAA=@KR6(pX_$9wKVa~I0RA~_JxJ&SEHa{%)9!BGP%+d8DS7%CJD zhB@`nByLCB>9)l7vF#b{m$qlO-_X9MeQo=?_Kodx+vm40YJa%hFVcMv+V7B>xlFG= zPp+AVpQCN(XMMLb!?V6WFuem9GIJRpJBp5n7^=l-euk!Og|b1rcEQ!8x4=(Sm_t#M zX;e?^><}>-Yw%U9S*OlhP4@HFtdpvBGU94$@b$FflXdpI)ucIZ&HCZI)x?~)X2le% z$J06uFzhw>Dpo+IR%0QZ-fl>N5K*zo zrtEx#F|Y=+dU8l4Lr#itbg$2wCM#Q$5+kz|1bb9YqW)5n_|JpgT>9R~48bH4uu!e8 zjX6-O10PDs_?2~%)v;JdB%N%KY&5AsoFbs5Y|z!S;9@Dco!@##(EIxGHnLDBUQ^=S);e>QY+c(N|;xrpqQ-x8DSU9DN1Z9mG%rCFFbW{`1yDDEpj@;0Xb114-gdH`Ru^3@*g z(GpJ{Y7T$!9fR%RA-jdvv=Lf1iyWRJH?{%ed^SnpGq6;-uF(lTn)8=%ixmIiCY)W(1T z59IQ%_HoqO$x*u!0_AfDn_B`5b7^r5VF%BLSTLd6?9Z3V+If>D*sV;v1c`j+}z5+b~Hs&^ns*-`CN3 z8qbtW5<~HtDOn`8@nXrke^O8*P1-*V-)SIwGN`Q!$QVb%1{4sgkbWs!k#9r?*3H-_ zTcv4S(QA>3sQL{~>GHQO&%NrkfUNjg)JnmF!(y*I8TVeMKn!SFSR+}v-@k_V(&ZbR zxl><*0|+$EbliWjq-&e0@S|+yJK5RnM1ewv; zWg9p?NwRqAQIsy!0PR@CG@jy>-bnihzEOwo8%)HE*IpSCMI?^^jFWiue9<=M16}wi zWw`JFP1%E?A>Y);wPJ+Snp!b(@tC@5{W)5bfW;iVFgEd7S~Im`aLKaInL~qEEmlam zJ!gGJ;{W65sH_Ux7i(odxJPq>_%nvX(y%8f- z1F6`^_9c?%f~mM7dB#5|RtHk6ccoVEPQ?af^$V%hZK>6JQ|WOB{$sGa;8?>)2#BQu z>Ep14(VU7cj6f>(b?AWv_DOm$hKT>ZFy6lARBU?$QYA|#*Gvg^LA)yLs#B!U6Ja(h zCvFR-c5klJM=!SQ+6oL0u`%4pG?IiPvagdh`M9De~w zXJFflh`VS8jTDCqVebp3(tUNrm&|)!N|h2+*aq30WgwDSK@G{fX!1AHpFe!gLMOPG zHzagnBr^G!1k4{XTkLZw2siBsriL$q=Jo(~l3qv!jD8adg-BRm;|5#VLz=LWZ=HoU z#0WL`>BC_Ych`QN&ni|ny}6BV1O&lIM<@~3(rC<@j?`Y6p^-DytY`@^c?SYsbEgX! zCx?8NIz+3vi$ES7E#Q?|4bI$y2CmX@xv%F@U2L(J2q3D4`ZEBtG3z`m5B zlriH?o>D9$K`_VK7gC#0q_r=l25uhEyxGT9@>pED8<=CzYs~a<4eT*e%64)Mi3O#` zK28vtI=K=((<-2|^c!pNqck2r>8Fny$l5HMIgp{nUDi$)dhCQBM3gVPlY{-l4cpZdM=Hp(CWf z!$2c-Ioy%Uv9_guSkh7~aKhwg5=xe${ZS;cBdOVuQ4m|8P$P#v!#Dgc-puafilQ0X zPR_10M2TrdQ=|=1HkVu*k<2KetnIov!e%;P9gaA%#exV*hE2$kkS>PIXbv>!x{ZOn z_@bdGGm0wGH841BsjRV+K@SNf{BYt2;1K__h7v=zkUcaiq%UOgxWn z1-~LMGtQbMijh5kQ~mDh#z^yyYJWGZ z{_cGj>EDZyasQ5ymth|JBt~|B8Y7;MW5oAijMRJo7VZ*gnhU+~%4829HMXcxf1$bIvcmo1q$77M8{V21%6IW*=_s*kazW1Qrk{|t1h z#{z~T_*V45Np4ru5;~JNkNH4^>1?r0r_wr}l?j9`g21Y3l>}I|ff1}nv zNNVnP_V`yFs;R^eI@2}yF_M}JXAkBgbA2pFK?yY_@aBe*d&yB#=Ip7gDR=e^;I-Z0 zA)n4hBdQMi-4*ufl*MiOL!rS;oZzD*d@I245F3hLQ4O*<#fN|rN{(WoI2fjY>?d!l z_)?NJu28O+WB<470q&SU;L@WzW*UWS27b zL&7k6jY+iCFNPxGwj{oyEvX6-3Y1A4mZ7+v4A}I3B2vE11SfLoJq^0_ik=vEOAi`j zDMNv0#DRvrc~k z_T{QtG|oTLLkC+gXL_qgJNsPj^ruK~%a~C0LYh9SxEeri3suhxRo@;${a%LN7c7bKQ)wwe zwa+P3?||9qq@GH97pk9wM?E~?qiie*)i1*5Wtes)nj%auRKEg`SDgccbOiAwm}yJ! zY6ul$qW^K6m7plkhaWa!eWXSAMwdIB&|-L_%MsQc4WATs)#i|R6tgS_aTQ4(#8r;2 z#-dA!=d#F&v#}&ZP)2-8q2}g0C<~H7KY6?Q0cXntPHeQ*C%nLPabaWqS^T~q8HdpY z0sYxsAxvoc5l#F6+d0*OQ!GGGKgQeYB~HiU(}qAF_Y#S420{LnpxOdj7+_2=IzSRs5S|vn>AEIz)sI2LdkA!k&dIl! zU<@!8>OG!Pau`G*S|<3eMeB6ws!2#>tC>*CMCwSO4r`nP!B?EK9&aY-eOJ<7%6z@x z+-7j!o_m}%V8AMs{VsOa8yQ5)rN5N@dVA0`ePlfPc*;?vr>bQ+M=7w6vQOED7V_v9bJazn@I&KfOIH}{0)bWQ< z%R=g~gv6Us|KM-%Uds*`9}2IsObfWLi|&16u2(hC z)6?ACQsJC4C(Lps@3fRTCAOv9De1Ts@3gFO(pghdtwB!4XlQu1!uj?(kaS3KkT8fHWhK?FlTF^n?$8Fi+FT}1Azd&3tU~{#K<-h zvGdWCaq|M~P@lMI{>~aF4o;sVa?%He@I{bBOvdk2$X_Z!5w6WZg+C1y_^ZXYverQN zy0FLnvGU#b?i%OU70zLF6zqM30HdxH;=My{55wWAu$=oChs{vo7#0B7!=!r+!!d>m zM0d|nAixqw4Tq}m?YcM>u?n$N(NhSe9^}O8T~66vy_+J0dO&5+2}v7cq60Y{Pnkd? zb}-B7Zl64A10$!@GCzt+C3zWo$gtqbbFtQ4&Yn_3>u!8awAPKS7z5M7Q(6ac`m9gC z7+9UhVGUI$YMS-?YmqcsZ zr&GE!1k*9rN7#Bi(5|$#R-_%*oLNx++5hSf=g0N4>)$;5U4Q-SpMQS%yYEhZd+hLc z_1sVX?k0J;|EoVltpC^HnBpnd|1=T}4Uog*5luZj7G*(v48zd`e-h!=z7HW)oU+s; zgs`9i3f1fA@Lj#!>3=UK&GtY4o|MDMAAJ3&vt^f4y1HezQ@WP2=hf2njaLr^sZqaE zqYk8ymgP>qfdLF86QTzrW4n3WHRQIxPy2>x3h=wBQ|ulA6q4Kkihb!}uwjb94Phl4 z?$-CwOL>`Wdf3pFM74b;k?LhmuJ2Gw(CI!QqF>RHYT&ufNwFU!yMj*cwGZyqk(Nql zHt)gpc?fKU+1%eB>ayUsWE#_jcR-C@<4Cx>q=@NsApwexGyvFzb3Ds=P~y~k8n0!U^E{S< z_)c1NJQ^TPi%dZosYF>22fPF!D4mikt(YrDXcxNXjT=h_EH=2N8x@kVB7cM zD);*jb3YHGXT$_8-Kz*ce;&?d4q-Y=LiRJ&b_~uQ+MWgn2YSfBCZ|uY4DLeYtCmg9 zF02G}T{;r}q~&pE)*$h`cnI62uOA;c{O#Ah1BdJ1Joa7Wc<-6|cTRqB_+JR>g~6;` z$!rHCeL7tQagw4X0_|Jh_oh-p8`3}tR4D2>tfeeNE!lphfoz}+Wa$TLI&k67_@cfs zh=MHMJk4#qX#3iy7N>x zMR`CH<#ar_oc03nr0c|YmZNt4^|Z_Rdbv|PhD?g02gJAW)^#2|PnH=vE*8E&U?M(~ zGTgPwm~3GWk#&oVg9<<%CD_%Ecf!h)nXXmo{}Vrq*oXI^%6aY|@9$pW?7_7xTL-~w z5_n&Y*$#_1sxoVk#r~3(8S-NU4_XawR$D%ZRj;7vq6K-!wV?l;<9Kj|6Mn*+ps8hr z(?qmzh-L)E13YNMgfJpQG$NK8BAZE?NG8+7WNMl;nQRj~mxRe&Cd|y$gf(*^!rhod zPrK-$L|abAOji;*L_UkdfrgOPL3lxAalV_UlBnoF-5X5!L&39qxw9Lb)0TsRMJE6M zrV`(eKEB*}VX717VTxaOVf)KWXC1T!i$>UrsVxL=19n}wv=2QYbi4*^%TRkulT*rR z2{@(e>#{LFZOf6a#uP6{x|XZ`kkW{|>I0#Axl<{aCvSKxDH<`7Ed4;4u}as{IjeLv z#Bu061_0!o>L#areRaU;DQp_T>3_-**$k4V12^Am13l1W3~1coKp62>Bi!uos(&0 zk3!f;P$;7>={zXl2Lk_Or!WmgqCiLP4=NjmV$X=pN0cwUSYe%!lvgSyzNJdJ)rx3z zPOdT;tqMj$ol!vzV_{>Gq@#@_Nit*(BeEC_VF7B&uH_xTn%08@3xAevuO^VEiNwSoi#GUb)!D@1d zv#{iJA4`T>sB=$!5)b|Dx!BH6-v4CMr+J^2e!BA$^&j^}@BYc*abHXckD*nWM9agF zozr$?#mnSTkM83f=b_g)r)3c)oT#SMelZ2rc;FK{$olk(1`HvR0SCS1IE`}aG=9LS zjKAOmMGC-|m_}LAqXMW$)?2~;DP#Z-*$*cgiaUX5t zYNeuTy>55UO_CLj7X z<_$Jtf}fEz9Th(o1iV`~9^G!f;ewvk4Ot5Zt@WmG@Y!&S!xL3*arq|bl?n-Be#-kM zq$rM37X2pe=q9MrgHfSd;jnnzXj2ff@!dnAd=;Np4-qy~sUE#!cB!sNC{X+iMEpvz z*ofGxSS&>RFlx!;SE&5$y2ka08e(gn(!%5e?t&S{rnCILk{1s9Il zODKMUcvt@4N4s=nG@7$)F4bd))Uhy*pPJO4sK_#*qg6VjMurz6H)Zq6(DH#PY^H+? zel^g;89zr+MR6?R2aQbj21bZ*P~@9V>Tg8p^SX;_O+^(I2M_kd2C>`SM?3VHJP)YD zqs!0`8Q=5+Q;!@I&AySt6o!pNWtSXhSWZI7_CB2X!MywhZucIJksUC9g&8_iY=ix8 zFtfjmky~M^Vcvn6dNf7~VRpfM1fxF|BMz80n3S(@eh70E<_yf}lQA+K=2jR?FYG@z z-ykC=AR0_Xv_Ou7F%kv`4kQz10!#{w8HWB{4MY8GFx1ZuF_tcz^g{YrpDUiTG^Eb= z#mJ-33T4NFmH5nLJ1%#?bsAc^aYH=J`cp`kI}w*q^!nW5b7|5=IB<3>yvV$hHX3?O z7}r8+NO?xtRIa{%Cw+bytE<{fw2V=t>0tO<|JPr`uQrqWdp`oCbR#6L|5S*vIZI*s z{^?Wim_9WRouQSa&q|I7()Cbo3nz~173YnDL}v=4;?6mOlnZBa+NUzJ(T8l**RGcnQq9}cJF!9K>0|rD>k2^?1 z5?^x+SA8Ji$Pk{o`p>(3>InrrhlArbA3L39?PHZOB{&xJ@v*;9$XW9xJ=FyifdX!Y z;alP2(>(y33QW|CJN(e8^UN>r$X#>JG9LoztUmYivxRiQc>)+JT@ciUjwn4&pw-gL zc_S}U$#=kovn7=t^0j#MaRKmAiio<9f6dF+<8q`@7c$SwH>wWYLCodlIjSR>;Gr`4 zR@H%9iMR83yNsrhr}AfJTqo%xDjaOxG|0N==vwNNz+Q@|$+YVGI^%WLfvDNe44q{w9vJDOfw z*$tcQ2AMNK)|XSV&~dePWNDU5BHH{CD83i{MzVn>^yG6CR)qqqvequP(VR38P@EM> zZLo1)9f7LZ?1(0RmfsXlapYe3>%PptS1DPdY?o5-=Fn&#+I;!(Mmt3n+YhO-JCcMV z%Aaw z^l?XHLS*WZ%fK1Gga=wRzF7Uyut`T_`IiY;pJFeI?v&!f-s!We(;rvLem%bb6W|8{ zI6QF}uyzFCM-;%r5Z_fG{{3*QpbL8xN)!G9SjPqa&5FQ(Lgt9#L9{Q$2LhsaJ#-`( zN<&L<37W9lv>+_iv9d2#YB+jS`8BD-#>mK*UJ$t|9-02q$V27({4C|$Sr;^>25T3z zw&T{UK6e_b6lFdiuy%(dh3{C7g_ zc^di zxUfh^JZ^FSjx?Z<))anA)U;)mCej>6upv5U*UH%ei2sl1b&a>_epwA++YhdB&GBHn9D;Lv zNUP11F9{oEsH2pyB`2rtaMfl)lb(FZ{iKE8OYD|2bW_9jfszZWllG?>bWxB2HfhX|GNA-$y61n0OV~yn^;zhMlWD#Rn2Wb+Kg`inpH}~1`V1iGtu1j#^sesB5ivO{+ z9)uc-)&uxlHJ>WiVv35oFrS<@Ulzi+xH$2UaA*-|*tRIpxJX)5F5qH5F-DR^%=s1x zk}$*5U_x0$O@pbaZ4t)rfV?C;r4C0|k(BZ!IILAXBgXwp=v6XY^vz#VYI2C3Zn5Kh zUM^NDIk6=Kqst)M+r^D$jeJ`+gU9f zqLti(GbE*PPoyKq$ZAtty%P4nm|wA3xcyD{qLxsy3VCX3TD-8G)}7fLbYP~0Y8Pjz zZm$tDN$Q^3pliaAs>bV|1Fc?&hv6fU#_ONsO{MV|+-fd0#W8PSBY#r_I~@h8l!cjg zP!!b>)ux7Is^03VhSnz5%eedYjWT=vpNb1c#1#j^MU1F74JkEYeQx&Z%w9*3H3yR$ znEpVP9m|QzIbMA*0bd#q3ZzU2aE~>&=LF>%9OKjR&Vc#lg0p914W=|Hf5GXqG5A4A zf?iA=Ijd6+76YiO8H!G{crR1ZLGmAoGPh#$Sm=MAPf4$5f_f~e+}^VpjXJrGAZ+F(F7x>5s`gq(+DGf7b5|fUf7So%sLH?QZTz=!Z7!riIFd09*xGxi!jdu58vP*CecIlY78Cf zWSZVCl&mOreG+jjS!DIHj)j(r@b{99j)qswPha&-EXdMJ5{yOF+9X@}8*nMdqCVb= z4QXsZ-bA&bnv}R>1-ntUDjrs9wJBB#O%PNV`8I4cYVbS|1mf%M#68tI)#jFMhaul7 z*($=3saA&~Ql6SW2Dl|5T5|m);#f3hQR<@PMM+*O6{b&>Qf1r1G18cd@Db%o<9u9T zO2QSJ;MG^RYYB7B$zAvMM88d_Q) z1|}(%Y~npPpa)XgC`ziOWq^Qt+~Tt+ydp?8+8v+&PZK?DL+}ZA$!^OlQh6Z1!I!1aZV0fBuicR7bv72 z1)1);ZK`Ri#hU`vj#ets4+14i$(3F<&2>dZ_+x$2&gAkWDLHtp_eT4jH-eOlEQ?Gk zInT#F;KD-bMw5569<|~mxZJ z46}8B1SajR+aJd!IPF_B*%+07eC3N*Cgzc6@G_pUfW@-7o>N9z}AJhf2If7 zZ?t;*plK%Gw8#Xcnv{6s_`1WUCMxpfwM&-0v|3CH(cG}j3KRlJWb*#=d~63e>=-U= z(j;gM*gD^P#0pZ|DyL7ioR5{F#L7V|8cDClP*KLT18->9?BhW!OiEB!qp%8e)2bQf z7uw=bu!?+_MzT|!%kRY)sg}aBpn5w6V=7)SuX&6l(FeD-p2i^iKmWI)#9H6Mh=-+N}t9`KzA>JW`K< z!RwTO;W`kC%96~qHL4#lmeR@vvt$h>`nk=AX&YyhHmRYNV0mz;51ZU9Bs}6i=+}Ry5xagt8?5W%gZ5Km@z19CaX(rq{yHChs)#Cg-TjvJ zEt_~}zBS(_i1SAD9rai?01NfNgMN9e3nWveQlnV}YyVRQM1 zy0>9opzTcUHYk56my;KbjnbwDxEVi)nmK_dg)06TeFkWz)PJ{mUA zyMwGnzykeeVn}16KrQ1OLNUSsZpDE&ZNb@XRAQrxBav_5nxVM3>&`$dmF*&S`WiDc zl^tn-mQG?0i2p!QBP_Bj*Lk|KiFb6@Z*ae`>wXeUrqZolvx(Py%s|}7T*S+G1fRx| zd-a)-XzfUn$4HDlLAKE+2*5EAOs#O;map^KF-|a3b#7UA45ijcx`W}9QyE$3K-od3 zWT^3C!iSK~E|0M%RJfe}i{t(kE(>HXxY}fF+jY_#R9KUOderi}3uvNdE{~O1I|kTz z-v9(C9<0Pxxb6TRbi6|8FT~^o^|}xj)YH2PHe)F^6aIT_7A(SPvx3fo#Sq+88APo` z%~?SjBZM<3GV+)%B8GJ#%1h>8QZzgY_aYP$VU9zmD722xGuX)V(paQVmB-TbCV7ks zLnn{L0wx+BTNf`UpwM!TmBtPOJI@kHsI9i-I8Q{rutk!(W&n=^qN(d*tdb7+266Wq zDnF8fx2w@mzkdJ&1aG5NE$Jw)fNgMzXN=6m9m)@04qpfg%VQRT!1U>GnSmq&<29@2 zNi@*`v1ypAiaeBOHshu$^sq$ma@HK~y|bkjIBe9C&|n<)HNm0y;wA$0iFBDUbzN*& z?DD8HT?-J7uS|w)^yI8S@yEJ1_r-JPtzX8iP$Mzq3+s@te%Ke*Az!?fG87lqAz$;b zFRVkpcn)MJF04boiNn6I4*A-LePR9b9FV7Y(@7ASk#`j?IyPO^9jF2aKtZd4Y%!31 zI?lRM9ld(fQ6KYrT4U2W(nA-&ikUdE(thb?pN_%O>&Px#^r zJZ)px50x&`EQe_P;>z$DzfN*vS=>p4izbF#+8r5BWcE|7RZu0>FJ63gyLRq)uAdPn z3*5PP?Hsq34fbc<-E~_;+chto=&vhsvDNxeQGtVV>bb6WdG3fNXxisCWZ5I{h?w!_ zabLb8yz16QMw!H}Cn6tr4Mslf+8haYJr#L}0`K6SIxW711m>c=eQw=GF?`QHx85jc zWCkZkjGwsmUUpx*{*!in(B1`=5MB20C{yH`cD!MqA!UgA{gb?!{EU6=x{bz2DiTKQ zG&WKh{b?cWh-ozd+pgcA0ewR`s)zWGI_?N_wcFszQWCfk{)1cJb=s?gS`X0-ETDXX z<|<`?BzCrXwN5B1;BpM0Y=0e}6=@Q(40-*0e|Gpffu9rh(Cl*}qpN~?H}`@?)H=9r z7|7jW#?dU!3?`s(8#Uof?ynkg@ua zTR|brHB)a*c&v)UsE$u{gH3yW=-8-@=!HyiqNiDKbEnN-ZKhHDPbR<76JcZRdhsS6 z$a>ETLmmq3@c54ZO6hftrl7cpjT_BE^yh??qNxeLr$D9=rVG4RpFZ7=etyef2k^bg zY7SfH>isFSHu5u`Yu5`Nkic=%Mg0^MFzMgOg;V-zCLDDb!-oF;joPpkHKWV=A*eAy z-@%acDZd@x8Uhl zkVV7c_qA)0A1jD=3w#%5Bo0CBfgkSvZ)<0TtjM-@Ed+4(wX*@C>junt@78wxI#L|% z{=}^{s@|EA)GlizE!v7aXbuzFwSQ{Yid&-Hv34y@*iow=6cf6AhRlrPuKO~gvux_hAxU0ZLN$t z+qEVm%H|e7^6U7H`}Bi6DpZ>lf*)dK6(dhvJpdMNu`M&|KXpyJ&a0tGbh)dvl@9Y_ zHjo))j^@tPK?7K!LQa~l1CeqNiR&?EdX3%OYZmS;Q#5zBj&`Zh=iGV}NU1AvTv02a zM|4}zNfhmI8?IZXADp;WKe)wh*o!P^;NH7`pW2(n((iVdXg9Z}Gb;AcAU=z|36!;1 z2lw9nJ46c6?{=6ucmEMi5B+Y35zHzOqqv7AL#I2K!0D{w3(;<+^BC&6L9{wY3Qe>OT`L5NGJ%Tj6RF zP!V+$5M?QkQUh+a2Hdm;TrSs?DNq0DSO5B?;lIWdcXSjFe)iePlc!D<7mFlEkqELA zqeyPLIrmoU^}kk>&gbRcapNsFT>q=tS6`*>CyKuK{r{-3=XDZcj&3)m_GSjNFp=u+ zMie{57jwFy8c7j$i3&kmRa|#JzYog$p>07`0`K6`5;|Son9K3}o^B_<=ReI(E@TO;m{XL3Q7A*VvjpMz^RjI(SOkv*0BynzfMW zsp^*@O~CN7hVPdMlp;biY8&Yq8@y{yprg+)SWo^)!pR*v;~K zx?YP;#j9x}=sRl30n~`%XxC8(B`OV39PL^)L|aQ7SogDjjk{h`OZpG^Ni7j1jR3th z5^3%)UpT4cKp_oqj;Fadp!3|0|LAE;(i;X%|3PZZtrpS_Hj_3aD@?Jc%5RK zMPxCYVZQ-*A85s~V^1d*!$;kNAEf|Hp9|6Qx{dWlKil(qMB_IEGL3B{sO@+?6~Wu_ zJy;Ra+rRQJp!UpY&{)*bo6?)xlvu9?E}x|IW_?w}`)vXAsVvi++mP4-&74^^)k0{i zFLi4}s=6}py{=H!&m!8T&?DSs3{E;)fv$5xs}Jp2n-1Wu4T^1lYOkYNK>7kKx0LZD z#~t|^!ySM3XDPkcA;*b8U^|SE72OW6{yE;MejDx6f9Uqv&>*82_x$!PKXlMxK@%=j zhsx<9JI8ymKa=`jFr2zE76on8kBR8GC(Yplxt|y@>WQcGFzOU}Cp$2>2A$nKouC_~ z;C7I%^%MMdr}ReWYTX#Ukj0!}IQMrZWrSipN@=_OP(M!bX+?>VT5B?h8k4&QE}9!> z1b*lXG=45Kf?m?3QLy(X`xqpGF7d&dX`~k_V5Z`Gpk@jtfOq)KK2z=+SOIx8e(hc8 zCA5)i@UyL5*9~Ai#$mhCH{B%CeoX0y1dNCdW1&ifGfMgW$w7@j2}R6|LTa_AbFWw9 z(>XeJr1l;o{J{$Q_t7GuJC85O>vn^YqTP9|P`bdUuQU$|HLz7iDVx=8?{)T0grz@P z)E_n*QKYOG5XtnQvgsTHOhzfIrzAb@C{Rhly=0AI#Px?!4GJ!v?mS!`28-hK(=E=5 z_T}(<&{Nh3oZpclPS@QOL>TGJm;~{B3O8==dvr=RnDg@dI$z;oiPBd8BDao2G-LPvs zROz|WVF4BQnNOWTcGbsD4{~##`Phlm7*F?bueR?RTll)zHMUMy9{0Sy$mmV<_2Qs* zLWpiw`N>3puLRgkzo=Y>G;aCWx#ft{vFbzTmOfkqJzBZt3+N|kjygblN`FtkQr%{7 zkY;gmQ@^KMAtlFI6*A-C1-##t6FKEGa3>S8829vkpAoj3G;{i=_rvTp<e)j7OG3JQqBni=SB$J<8rWE$Wy&Z+tL8T2S?gL=!y&bf0 zTC|zHC;@Fddpj_u<5CfZD(awPb=E1RG5G%(x*GV;^I4P-WR_(Mba%XzIOt1&Pqbq{ zY*yHOi6E=;LjejVD5zI{p~@A%$j63eXf`WI7~(A`>(7CFE z_C{PJ34Mw;VLN8Gpoqy1+IhTeZkM5(whZbu8(w+!+D=y+l$rIpir|;^8vM{v^KK{( zqr;}qy_Yt@c&CqXu)E&a)9J(L5Y%r+GZwYm8!;6;X#YA|gsBw8(ymRv%-%}}1&h)P z2Y{M*IWk6GXcq_CNKtTNB{-=bgPN$$aJW2D0yYy`kaESCDm z*t*yLbnPV*MkksfXROn*8b+x%`Z0265`((T1qsmfxZ+P5NnE|U zSdz-t7d^6kwX|_#S@G(kwc`5q;#$NjEh}A*mwrmhq%yH+Md7*<5fA?qmy}m*C|SMY zvDIajm1S!mduZ9ZYHwxf+QL=hh7G0S>J=;2N)_d$#YL;uu3x{tcx};|^<`xx#cS6V zmy}U>tJjF7Vo}lB^=0J%yL#2?;_^+E>sKu=SXx|Nvq4<9W=%=O261)aqmQmF-v~IX zi`JEvA=#=Tv8-%;@w(y?sl0T3@tW0uunw7(N*gN5i&w8HF5OsFw(>!tVD;lqKVF7e zXUT?*Wvd@u_VDV8YM{5OaLsy}dtuS~^74|khz?-I>j0*7LrKx9b!8P58zix)u&7wt zD6LxTDJXlU&Rf2&XmxQ(Y028CA*_sX2n>MarRRmnti))J3tP@M6 z5@4}%<=XPf@^v8ZTB&-|`ofh(t5+kqbmPX7#~u|cH;BchAjPVctJkf5A` zs&vhob?erxU-Q5{i&j=XQ}B`~_8#iot zyzbA>JYBb?X7!@m=iVtivVQY3m14y++y3koAI|sOx9|aR^AnYuo_KQe6XnbAp1OO~%%`@rotde%J`c%`Fx{o;EUc$O6xJ@&}b6*W7W8@HA( zU$kh^ee-Yot?)$P#XT=JZQJrh>C%OZA1++>hd(@8@l^AR+fc{%KeE0=eDuD1R@FXN z_v|yP7u+`Y4|faqFWb0tcXRWOO$C4a!;sBpaaQosF z58RV4tZ#WEP?mq^9iF>xn{#Ku2LGFH@7*ru=iOUW_m`I&H?O-Rdv-zjbGz%yN}qnZ zq~NYQ?|pQQ_|%_Q+_U<*E$f#pT=2(x3!nST?rl$?UaD#v8n#s~|NZ5cTz~5W&;E65 zRdsnu^%ig8{fq9)UsbWXApegG#3!pCmm9n#s|wdwZQ4}6(HDBdzx3Lx?q0m`-g_36 z`E~@}{zstjuHVj@{;T}urCWA3Hf`UycFl^Cn$-oxJ9Y*9TPs$rEVw4coWA7s$VV^k zD7_`S;E9#FmtA~w#hX3d`=6XUb@Hs=t*(Ei=_Jm{nKysp6YAc z{P0{<{Uh^c&$(w~;H4K|d%5PG+kby&LGjup3(Nd__x@$u<5JnWrPp8bi<#H0eeuA7 z{|Z&i_Y|(qyZZXOH|^fG^3l>&_vb&fw4mV8E$^K8`1$*O&Hrg#;J~iCuDSI$clZwX zht|xr&0M?Zo!4vgesyo);LA@{th(`Tg3bUw-q2lBJKVUi#4Ee|dG=qt{LR#Z)Hov7W)f zvmftk5C7xYxoHfO_-o1k+M(dmy!%%y`z?RpGrM2^9STmTN`rmw^zUZcj43ltE*?Y+LL}1YkS?q-WkG(emYx3F}Mgsu^M3dTT>70&=L#2Z) zwN{ZyCLy5AQ!=2$_HY0Rn_Tz!wa}0dYd2tqQbij%VoU8Ctci$F`@I z)7tj5o|b>TLHqSP|9}5`|L4EYbMJlbhbHg4*Phm1d+oK>UVCTngrs8SA!low#i$iE zwOD0JLtAf;jH^>uQ(G;Sd#Q@f!$)k|;VU0GGV(KC-t^Lzz{lxFu0#G0_#2_3r}N~! zXU-l!`R)mI+Lp*7Uo(=C4_&iI<+*;<)obf98rsFt>vzcJZr=Kh zDk1rKqW_NEOx4970jZBIZ#?4f=NDYoGtfTp_D3Hbr$6eqI!ZZz>%%jHT=MoBRaZ;T z+@-5$i&yw<%j30<*iG$7eQi}0jmlEm-}&HjH!VN)^{C>Gx4rLPbXe)}8~p;}_$`B1 zq3E-jA%1=VnSHmGzSZqasNy1RhKBmSx2JTJs2!<^S=1vQz0~IJ<`hzjbN3YpP4(l-p$XyxGj_0KjZ!QYnkDhRl~< z-c==+lq6^KdM1y!294Amdw5nv(%jl@8<={>-Ok=0y@%IrAL@`c>01VdTT-|0$S6RL zy#I%>hP|-~%r=`QKRT^MI(_X=PTKCc3jM&)kVR6szgBK)Gw4iRLw4T2q&*v6EFCy= z+-?CaDihJO(=)Pa1cv^R{%PHNTN0*u%r>1*5>|^~+jLO2iB2MqYKBY)$G_}f@we{SF z#uh`>E1Q!Vx(1wR7oXm!YO2l3pcy)?eS_T{tsR~1rWTDleo15B%;9!kaX!;xw|2BO3u=q^?<;Py zPtBfm$oIdt6WVWSs@a!T$dc*1oQIAbnwmK`)j{1BvEkKJPWOR>?P9UM0}<6zi%Y51 z)irgZ7HfCAp|!oeYoJ%duT0-tKX&EM@AR;CJx6*Yt4eI@9UigwS`pg*Y`V-ecyJWS zeIsh0_UQb3hjnaPRgJv6-)iqQ8(R3a?D|HfSy7oBS12`^TNE5dEtA{8D9)y^1$>FV ztE08u(%NPl8Elhlx*ctGbqp3)q*OJ-RgDIOSDCV%EE+mKJ>JbriFkTDqi@o6^z=ak ztGcX;#cOIc)t6S%xkmf&=(y7+FHet7BxjW(qf=Avc3xe1b}7^(Hg*ghIp%gBcJ*ob zsoP%Py|+MSG6-0rc89IGzC15;e_h9s!@b(3W@DRCT2oP(nzlGVi_{C%W4=bma6OEiB3w!ej0N0;^h+tdIeJ~ zZODyJEn&AFyKqpP9hXodZMTgavg@>+CNYyCGCTXkbtx}|$8vfmCY_chKA$6&37Kql z@7Uo%Ny(mFF`0Gxfr0L>0h`s@JLb|9?oG+2sQZq2j*WKeMU1Sd7q`B=J*7fsJ9_5q zu_05Fkl)A?%1!nWyT#br(Uh08P}zhV32l`kK;=*c7lRh7Y>O`kJMZCascBuVM%- zN8bDE2bUb|)E6Fp;HARWLq`w0`c-^JS=R1n2@h?}QcnKn!w)WwnWYU}KBpo-zr4YC z`0CA%e>1{~dF-Lh>2%%1+;+YfS~oMEE76={?xc*WVC~`JjE#t!@=)3 z|Nr<`keQiX$nHIQ=H&E5XG4DC&e+8L(5cj&&atsULlZ4^$96K6E7G)f z=yl!0&Y>ZDx2iTbB`LkAPThx&4R^K3*mbqQ&viiHwmZ;z#S zup4Qpp;u%kXH)q`=b;H(tBg@ituCd~s>;gQe0A&4gxlUMm&=vST|*9wrh!(&U~*+` z9i46FR+YG}y0WCWv<|bKg{F?_t=npIx~EScZf&fuOnl+FO;K@$ ze64lzZO_!?h_Qye{l%A(XhLJ($i#tR2aHEcx6PsyOPSThES14z?eA-ov8WllcEqL@ z(S^;e)(%r^t4X6)wX~WLeQ$@Pnn5etvp2g!U`0m;d%HW@hsT}W7FjJNtDvG*2s1Hx z9hD(7_Kux6+Gn%0HgOrbdty?P6SC_?40@x0Su4=n(3!VS9-SENF)Kw4j0Pd1?`~I$ z%i=a|Nho48A3QdBV9?a0KvZHjwJ0aIu$anJboATNgU%j{0Z}PcEmlhpDA)$<$W&H7H8waeCr)YBLxnfXkWse5$dkZZ6- zP*s*&z!dQr4GonUpf!-5!{;uZvP!DcV^hoI*2!bXC+vEtuf5MPXqC{DUViS;4bl1B zHgszG$l+151dQ|Y^2)NJN)}VxVjY+`dV1zC+9_a^Q403uRaVuo`KlH}$H0)o$gV0( z*qzT&^d6p`o*I-gigWhur|>oUww^AXUaM1RdpbM2d#!Df%A&oouf3jBNY@OauF-C* z8Bytt?ZDv7x_U;V%B`rm2)SK^(Y%Fa?+A>YB^HVkj>Czvl@)DQgXufH!`bKt(Fc0ZC^2^ zSUh~>x&)&S-Acb&Vf8eq?$`T~m}D`&QgO3R~1Mer(}`t8-@#XhrPm-2C*ow_c4( zEE4yfy5zkwW#d=wPtPrDsHav|7i82n8{3bZIy`mcpi|GI<-GaQYdd3exLpS?e)8?# z-+#|3E6&*cW@1Xp_U+L-l4;GZ>)(9-(fi|){J1w?+ZIF4$f1;S^kZ|MEPi%*szX+h zo1dSWkd%~^rycA+{m1zuu1;QQHhIsU)O>0!gQINLv`?O2@c!nkT~?U5CF1!l(d1m3 zL}PNg#z)nWj%uv7iY(8`uhBR39);UG7C#- z^<1shdF<`;2aTMxH+Q5~tJ~}&HnrT`X>pxD?y!gp5~E`>D){EX14F$%ooyP0pgKDx zH7l=1)25TumG4WfMA{Gi<`3^oyTGK#&nhgYsZ9zttunuW({||HOBc_MG*OGv-`cfj zUruQwVj4Q;a@bpHD0zj|jZy@WGMFOc;Xi_Te`mJ2@Wquuga;H-F=5;a65Phy(%wx4N7qMLI^0o;+fcS0-=YxHWoD zRt;C6Z87v67`AojxO666(1IwNcx8n&xpDCH<+IZxExc-sB^!ASb)^MmHBBRDFaPen zBW7NC`rf3t9no*ToKnUz9((t9zrQjw1Rjl&yqxUJ)b#yjjcv!Se)Qo7rwtV;JKu_m z%c^PQt2-Tz6Bpn1%nY0PWvRQO-i(P)%&l(J4V^xJ{?w?hz9_q-w4BDES5m4t{AT;) ziRq)RUX6fBr&W}e73Nje@H$;*&M$ZlcB_R#VO<5KF!9aAtnymZ!4oGuhx(ND#rre% zX79`1N6sqYS`J-&?|0{qb|O-lm|0y@l0q(^)fs!n-0lMdU0NQSSye-;DXE}I4Bdxj zP910$muKxs$xcnl$jd1gb&XxP`oSOPjt*GljM9>crWTczfaWP;NZZiE=Z=qc>O_p{s)9UndU94py|QQ2 zb#!`cu&YB4p27OcDk_MRw&Ae@BL|0jJG*S1E%p1~dgb{|uaYUkCY`CRwXL(GM<=O= z*>^^Mwb;-(FgRfA?i)GaIyBLvU=;7qDPi)OO)chTr3S=w3nCV9YiSGtyRxFHhFT*w znOZtK4BT1@oz9i1TL=1E`v-747st(IWpAWqn9=`)N>kG zOuks4?(OgCwdfnl3(Kpj8pJ9SB2t?>+uC}&O^8g$;fcicTsDPLn3c;ADRhRmcCA<} zQmE7lZHq>xF}L;F2CO=zrCp`eBRmlg1aw6Kg~}01<=W=<4pVar%pB^fit7YTMoW*) z*4k}qQK=gl^#XcnO-(JMQLI3~qG&R7clLGan}qDrIx5_`E>N^~4vh8nb!oXA0lkXJ zWwRCFGE{2B;8PS!n?(Y#NXAoxT>$<>RkKCa(yW!s)X+)>jV_U>wZ;y8v%#cNO6sVU z@S}E)ph?x--e&LVF&YtY%qfIIFt|Cw#zqlaqG-}tI@{aSVm_NmW7O1fq=?BfY=>E$ zQo!SLd4hT>gUVpid3>=%AyUcJ5?PZ{saL5xOlEVZ(Q0isTGa-biY2OTEUjZO8ye)` z%xyMkRT7SrD`GdWv2xiQ7FVXyv>1&hupkV^Hl0pu&=}jm3(aGJ1DDpwtmAM6LP3*S zqt+r?MO%xZMJ<&pn!sp6)N&)D7I5f-dKRD0XK~m(p;n_bsC6n0qG?fq-&!u_i4=`e zL8Dw@P_$@uQl(6-kTy3W3XM`N5X&`Mxf$UzYb&a1>Gf2mfG1VAcUUZ4deDWfty(dg z*1&IU6g1We1r4n_Q;S|<)oE3%YA!=ij|fEc#(IUeP20lbH!?~&%$n+&8kSn!(t-It z2S;3^mNrDG6tn2H6*V-DQYB%tHAZbacw@!f2BA>N;WF!mwIVsv2;N?~PObo7XlV^! z)6&suHuYG|dJ~w4{3aQeVZO7J4( z=cu)MnL=x_^z=Ks1hhJ~%3?LZT0mWmL}ci)A}R%wi-dfc($v+iZlLk??QKogew2u#UI}v<*ywyagByVNq!Uwb2MON<*t!u4&gcQp?Kg zq`a!k)a-(ChD2j%Zek-Hj&8HAqu18&m^^x*Q(VhdKojd3l%zLO`QUr!*7J=~Qqg7~vgo@8N6~I2Pb{fp3S`{Mywr>`b|a6kRn$_dxJs?14QL_~ zNLqV``dXx#-eLE+qaESa(RpHSBbA(#TTKPKox$QDUE||@d>UJ8Y}M;DP0UJ`3eg+; zyDhDq_P%b7ga!CyRtS~c>Y{2UyHTcZHHvA~jY1GNu;`&~cbz^p)umRNT$B3hob=56 zI+0w!+@DsXhq6G%3B_ui#oXK|mbMvy5Y_|z8Zo~~$ttJN6vlpoVR)>IL(|!{5>_3v zl$@GbURzhA5Gvbx`o>P29c&XIU0urD*j;IbnepUW7*)!SerIpTf#b(|np6&lv5Ctq zEuu7NJM}D@uu-m2^J}F_dPy-yE2%8ZuY)=^G5u$#ILfWxE9HfWtZ(pp#B zfEZ-b%AEYN+`Ww6EaimvJ&&zg=u?3HOFwm z-ixTQ<(>M5=2j$sS29B=k_an{iVNB1GZ#iAjC{K6#N5HA`o?-rBaFX#Mnz6eIaA$i zR?6GPCk~(a^ZQc#(!SWHj{-YDBFA8g(-xuShHqbsA*ihK9nlLJ`7mq|@>Q zMzeK%!qPrGdHkL8lkGJbF}Xsm2#kR@GTF6MMJvCsxIs2>;_yh9%{DmP*+0-B5|r#o zq^hvVS2080#O3g{h|1ua9BOZ2mDH+XInm%8?Hg*XV_T;BS}fY?ELzR(*U5~${S+Rk z#3nYsW2{%N0?pRbtE;375tbNXQjI-&Y8BUZu$@CKOs(KZMJ)qXwNTyWJUlTdtErR< z#ls`gk~(%Jr_CnFj7ch@3F@mrC{~qmOzn23-M|v6+D*-t&Stf#mBSFUwTYQXm%i)Z zh_$8PKG^T;%`rFxI_u=E` zE>DT8YVvcc8mjZiIi-cWUr*YXm6Nb5Szzn!8~6U@gK?|b+TYu+EYHd=VzpWuYZW?b zeq95bDdsm+mvcojS6>@1bXM?1f@*S1 zZX+vy?;CFvc1{l|_)Ug>yR{XO$V9XvuC_;`)HS5-Db0=9&lML|2zpMwd->fze)Pd< zZ39=Uk#LF%QlsNishojBW1Y?1GETcq68rLN`|8BPs^oo)25E=GB5mqDd=9k_4 zYsgK?)D9b1dHYIoGs_zErY1J6LeY6};SZmFc|s}bI%2MjdTP}ZuOw%bh|OI+j-kN` z6lS#Cio!~^Kw&##?=XX2oS1A;RU|~`mosw6 zitdhXF|8nG{gW?kdU_+drcq|J4xhUI>AM|O>EyV$*z}6pTBfp7s~diQY3Xkxykd$# zUe78@jY=-m9)169ZbstnbcVE1(A3;&_spGW6Kh5--JSgX+h2I%@t2Autv&5M_MyIm zuA?2Il7f<2O{Ya#!=PoA@OsX_Go*wW{{CWFSFcrBvNu=M-DeOgz&IE>H>u6Y}Ef(u%AtkG{G$B{{9AUa9Xn zaN(=(J|0qv4y-;qbB}BVyAti>k%L zfBNq3pU)gwIMr(v#lvzC{Jpp{HnXzr#AmRc^3&pnQ)ZYDG*Am@a!q|{L4~-}+%sSn zNfk12ySzKKNLY(5P$f za)0ozpT7I&7w@#G>JlPf+4kxyDV1zKOi8E4Y${1(9bG7{E-Wc4rU_fx+cd^jORuc7 zgxz)Wg3Hu8aA2^7xj*iu&6{@R(HS!I;;AEVzdL&z9T@G^^7p4^zx7PmD&ougDmW_Z zJJ)Z2fA`z#AK(7`-JZP2U|4DLTfH$ZJxAs|dGX{C&$w2s5UE>qX3%e~Cac}mqs@77 z%dRZ&`EyuI<>YTq+sy4ME{nq??=H7ZqJ6`YQ||FY$2x0SHT%hLzMc~I%GS8N?A)Ak zWMpdUkZstzwDjX_zeQb^o>Z8-H$Gy0a$1#U;P_uIAJEklmDEd{7u+J-!HX9g_Y-DC47QEPQfF1v|W7`OfLE$LiUPk#$n&~@1366Er^WmQEKdV{pp zaiqV2s~$W#Y2jp6HLFER89g_TXPFr9C}?cVsYE({RdE3*EKcAuRH7RPDZ9^mOE>ow;*kcyvgX6uHMXP1=rJb{Xy7jlY(Y6*_50CuP z3vU!qD)KVR`8wC!hrb;$=(Wu%Rg1bVGpT^lPyxP~G^$XcMPO5i`SjIKj<*^|hEa!{ z!^++ zAeyXKcb0O>$S=N}FYGw^yIcSG$H#wo@A8!kL+bis^8UT4yPggsyu6RaE-B;=xCVL* zYAuJ?JvnoxhZ6O2N=0o=9W6VLWpU5U92!4<^}{)kODBQ`pwwDain0i;1B zmPk3Z%$h2`6fvm4g{*6}nE6F1xsn!5yI}}*PMmpX;e?~hEGSFfwk0}c?;Fo#=rs+RTVVTA7zyT3wM5o0!Q^8oK(& zJ-_?ijHBj@ zudaqUBePB_tYZr_2&Yj7`;oxf*R)xh5rsq`01eS$vx0l8JTnbA!K_mCSP-?*YU_m+ zzc!;SwmTl)@<4H$V<71azjxH^<9 zNKap{cvqq9{t<6`he+#cQmuXN&Y*7EJ22bXY+>+Xrp7p#ig2EorE& z&Pz%wqm`DFGn?d6g`i&24D%YDQpRPAR4|X_Fkr_>gSw-~I&jd@s_Q`~UBfyd>@I?} zNmH{zEMygBXBUCeAlUKE1lKa6e2y>KRNn zlPhm-vmZQkJtBw<_Ifo+ zoAm~xip${vN5IY}rI21#Ll^4|on0n_xvQ_++NqO*1EaFEw4$Q4l+h?r8@u`jN1ZlH zvyegMG)Wlclu`zlD^wc|dXvFm>FqMARftk9;R#?e&liXl8U>$Dr}GufCg>xJ5u6Sh zjYy2Bpc5rhA+Nr!j>T?ltf!S1mz38_w9um}1#Cfr>4Hkcn8nsnD@yWn@=GczYFI2@bJu{q-_oM*=pS<0^ipPJ zHJ#A_^)NX?G3=#l63Lo7?2ayk-v9$gED;NM0;x=;H|b&OuGVPuEn0Q6R?MJQR8s4h zEO0?_c~Xt3&Dv=(8MSf=Fd!E&uVXQJLJ4H+>b7>BQ7h&jMz6;;$)CPyHV!tO(by1B&w z!@LzfddyoP76@R^of!7Kart8KK{X>X7_~gUKqQAT0%IB6Lrn^WTCJ1=Nm|>?#uhCi z=Qr|&0$wAR%jNTUJSaja1b$K>;EYlufIDnRgdL7R3xPlerO2dGi5Npr101G-bu!p@ zi1jOv&+}C!27kQ@C~7bQufmtfWYi&2K1kNes%mf$&}vy+zC@wXw_3WodwaTJAs^6C zN(EeIEw!q=99qa|5I_;okI>O(6F5sing9=T8ydKcup|v$IZbmjkY1;2(KR<~!D%4k zgXa*$1&0p=fW4raW<6H1QQr)kLL~wYxaR8X>sc&F0gMEWHZ^RkM8Gi)8x+;P?t<=A zF26Tny(bn!7mGyLK1Gp8+5|laIDl{!K_huki3Ij0!j4as3aY|*z+^J$faxScfe^^d z=Qnb}PXViwKyDa9G8q)A05Za8!v0{PQ!az9P%4__P$;(V6#jg#Vv*2CM<@qFK_Z1@ zD&QWy9@?tK$gPC^p|Gb?D1h#QRDdFuQX&QR0e%63G;1J*1QI}BLL{u{0TzI%N~wT$ zK%LnBQpgTHjrBIfLvKTG0znW+247eWfEIM6?@I(M;VTUbL(8E#N=OInv0NnJgtg;d zLx9(yZCEP-vBAZ~`0KacZB26Tc@^@~&<*~iw33sIs3`D}BUlaumFr*Vuxq(cu zWfE-r2o%TeS^u3&0}R6T1>(09$J*JrolAW=gazVv6m&zBA%#GB1pYeVhhO;UAbX%a zFnVQl(7!js&)V&ew*>?S*#{j%!_F1K2hg#Q(3N4U+=o^Zh!3oJ@c2V(*F7Bm$fKUK z=iYwj{Dq5i^9zr?_xKY}dVh2Eso(vc^z0Ufde_ z(#wngc;(e?ue~1i&o{Qex#O*!yE?midi(kZMn=aEx+W$MA2~X8Z2H8>Q>SOn%)Wc+ z@|EBI;r$Q(^yk0)^}~-oz4^D#KL6tHU*7)e>u>IS``!0H{CM|YKmEM)|MmRi^k`h+ zzSJe(=dbX@K9S_*&&I^1LhQ4C_wuI;p4g`s*7(tu0>SxJ za2DN#Q=-HNcT#@0^Wv_BUC-|Ji%*I-?=DS@XLet~*Te=wMF}NoS5SOV{Leds z;$Po2l5in`l)S6gft!7H*HTx^+^uVC&38_1ev&{8(ZXT-F(H0kF?Jj!I4)^l3h9*> zw~_As!If8$_TUq-gsvDkgA`DAgurbA@FZPH3Pwq9?Igf&$U<(h{6mNvf+JV3!ZxQ8 z$Sa^+vVVx5;Q@jsW&=5xBugfxCd=0lgGd_eZDuDS;wkS+5_Jz?>I;m`3U(~n0f)I+ z;SLNx_+?+r999e-o~P`%=Sm{+Fc>L*#DH-5jXF^c)eoVzg({q;70AglG0PntDegzeoX!Xi~EcG zhU;YllJ9zz5E`10Uz2<(g0Q#>itpPFHH5_xlMPKjRfxjK*N9W zQPKyg?!L`2gh)K;3v#$CjsU%1t$6P)+(xjO98R&t5H@EJB3~Yk^IS6rcy5?Cc>K-5 zBeB<(ypPErcWv`TJURd5B5@>^^l7v^Y$W#9E$jt^&Fg;on#Ub^&F%HAPVVrTsU-!dqp?}T@M`tG8XFVB3uWmlZ-K>YcZtfliXjr zAmcj76#=~q59~ykv02WJB~no`=|XBnKDxB|OON3z5Bwr%4k@q)oG2u0{=0{G*YKrB zOZ%B_O;0Uw0x0VcvVTRl=`!ZPnrAHT^4!3gwJY~5E04exbY%qLS zcU`wVuD^RWM4_*e;RkBrhFAgx%`xD@Y<^+buYI5qeg0v$uI+XQLL=ZLgSB?tOb($t zHf#=b2|8=Y3q$=4`C-7a1=w3*7+k?z6z1@UWTk}eVqY=}y5v~dhr>k7Ej!K%Z*v&# z;ks}}I$`YZn+fJX-ItpQV>@t!$m_S{w=p8`LhhlxCk%q2p(t+S=1l~me-dddJ{?K- zwJ0gfl}^BV7JiB5gC_dG$zjy{Ee5oFlp%93512}l797dL6*6#`W44xfQq zA4Hb`D`0Mn{evzPc>jv=TsX#Rfn>bm(m#n0V8b?Se(U1b@*p_l=^6Rw=ZM3J+Q@G_ zI5nq3=Ds+A^L}IC7rVi5l|>AaeuLzU!!88R zK*LB6!~uQ}#5tnuxNwRcr-9}RokaVSEZy3MX!{8m0M?qcb%kn7Qz7i^d1Ur_J z?S$pn8f{m)Gd-L}MAFSc=SVlnH%POhxTVE4a1G9M%%hk%^*wa*9tsZkJT4x$4*tE0 zdmet6>`Yn=MW0dp<$LsL#rxko6Bonh1Kqci-CvBx%&&5P4!;Jx2~8P|@rI%SeVN$M zk-un{>&ZSrWg`;+=EEDq7EBUQ0s&^YNqstIam9Ry+X%1kB*BcHM2Gh6yI2^2`T z(i{kNmVXcG;?a0e7mvUf<)!!+egAgGkH!ZjY)wc=5GCjnQdh(;TS%#t9q>-U#_$!) zG@`iPfK$2bxD%k~0_LOLE9XEueT_zA($<;QO(I-=1H`T=-n|X=L*mgTLk1!B;w}vE z9O{1`u&~RS1Y(x~IE8tu9k{9Fj>KEn0?glocnBcLGwC-Hznj{lj@N^A7{9pHY1Ot*>T3tWAs4F%g*g zs9-IjKEOwSMJQkq1YM>mSVCV`%zYbvH~3s6NH6qBP`bd~*MZwN%wb9p3IYxBOFRxZ z{$9NNL+tmnuGc&fcSGcc*F5Sp=#G~>&iIIE!;@fcM9d=bj+Ij}eQQ8G{L`6cc$k0^ z4uF9R!W3jv1PRWf!|T8DSocEUDet!+tSBfR(~qF?R)Vry3;@0Nbri+~n8GIY?IgIi z5}tUD&ngJ5j5bq^J2 zvwlMqWdj9`cKAWIeiEVoIY91??G1wMDFSLY>?K6iWfL6!@?Drk?w<%!7}HF*-yqzE z_~jI!dJOz!Vz%NdbB*+uF7Rc{= zBd)v;3nzkwZ-^iiY6#Z>#~s@V#6V2(ZHCJ2yE~&U_o)cI(2`u!5ro@Z5IR4 zO;K_p)DrPjxHkw2LFK?hSYbX^1WoQUQPCHpD2YHvDpCML5Tq82K(qqMzmWgA_b#Zp zZ>RtOMt{OLKxUpJL@;64fHK_f8%);#`TGOwsRI!0@rToOWN?y!9FjQ`BX$`!!UM^7 zCcTgk*YRuwk`v+RyH#VeaVa3fpG;XgfbmHaA44iU;yI)86VNcoXLSH-qq(w ziO$52K%-J`kj$Ov7RASlSgK$DMgQ9$=KA>cpXcBHu)J6nEDaX*zZ{O1dvO07ADH+R zf)>I|)^e~*(G?){`yKvTZ@`88$Yc?0$yg)kFOJIqCp4f^>6B5iLV9ad=<%-IYeEDtE&o{1s0Yyp6 zW+kPNN4Q>*S&>mehA9ORpBkQKe*|z@d~6wyT!Qx>3&h1=aJcjeVG*A?yVpLMx@GS# z(2?Ay!cv#wGrIj&SCSF(FK{F`hz!RU{|5jP>Qk2D$=$fH%1mD}Bok{Iz~2LSW;bqC zWd@R=^$!11#@H+rjpWWkJd!sHx$XYGxCqZvknz;-$=-ESIa(rI9pc0IgHnPw1jG$A zpXl{RgO>$r6va2+{=ffgnON-qF|qc(Lh$C;!@_;|R+8uC8xbz$Bqg+BOogfBU$bS%fO;l2z2_rd<>D0IbONX&T;{5rp{+?%lw z2L&&ea<9Msmr9<)ivI7)y;th5YWzR%?C^i@Y&eqon+vh`yZb`y{SH4zTxM(e>ggDa zDW_xNGy42i&nk*pKAU+VsKvXSf)xL+{&b%fTl4je zyZ%#AzVULR^w*gA=9-|aDZzJx!|!6VV7PqAzT}q=&XUCqLiMgUtc+51IpD zk``+ZoK7afxu4U?pls|x@JJ&lp7+CMcJ3FJ?Z`cFW!7|ZG8llMguo@>kEVm!g3bM( zPXb$TtK!P%AV=Y(jAZZ1(PWsXjFQe}z{yIFXF?V0<=4RWg$Y~mbn;j@Z6%VfTl5EU zNVcz-PKH4TUm2JPc6gs76CbvRF8IXobG{M%ezN!W+&k&!FU}E1GVC~<4+x_P=KVK_ zz;aLf1gssVaMQ_Ap9SKOj2k2(X1MSCyrKYI4|1J&U#@Rj77>_Sx8v`X^UHvkd-VO} zMdHl@XThb{2<8j-1h)<*qEN3dF-%H*l{)-;XK0v14UU`xbN=5QR?b+Y2(+P})bU3N;5aD|2no^QD-$AjjAf*vKoTbZ8 z>^0p7bfzso(!pV~51oTApnF8L_XlXJJ@i*((k_N!bXq2oJj_QS)XzbQg0se; zFCkaTIED1joXvUpK*@pgxUK?UVz>aL5Q7~5 z1%id<{!{3Wzl5;VBfb*;uch}9TAS;`fr_NTGiu}WCGpW?@HRi^U8fuKt^=-g`TRnW zcU{*!;Xp@}1a>$vN`B|g^`&v2G8?D3<_Qr2aNA}xg;Y*)y+?pKZtmxNm;f8zBiwUC z!C_i2QAjol1(l!H!wd-e5NjfZbk)cCO`aJ9MjpwL2Y{4udngIb(|UiTBx2nR(`bzS z9Tf|odvV?$saSwYaZs=!qx8&Zun+n;^=WVS*@h)j4f~-U~B^utHPP;d?anACLc+61UktGaKwS267$-bhWzl#^m#ZT^RpEos~Gu} zX-L{aWRUlUHT6)wGdB^%L80qT3-WVvath#3TI>OZ``^sHnLA8g41sVCc*%2ekZ3BB zJDjcs&M%qH39Tx@gjiJxIIsVMbDep>zeUb`_%0^BK(Pl!O&4^Nagl!ERl7mNq>M*Z z?RFNxar?_SW4++I90Jn(p?$kT#q~Nf|feQ_oZW7(C=>nkQW610$u3SL98) z3D+Z^f*T2gO-G?4b4GLQc(@-gdJ%6A#9713gO$O+bX5hD#|YPxmaa?_;3!)(8W;h~ zNPNZ-I2F?ozd-z4;g- zdi=cKk%{LbM`E0DNDQQiRmb0mOd0nT<4jmwIWKbuTnqGS6a~2F;#qjoc=2rSdAJDh z02=TP#cP8oq7Qp;Qf{Is7W@?2C7t(a^y!gA?;V|eg>M;T@;Ko-*t6K82pX&Be{B&Q;`BCjIfN1in! z@ypdC6lc6Q07*oWoRpCSH3dn~!2(6v0yg$M1cY*Fmf()Qhp>}!=`>++-K81A;`5|Q z3JJFZAsdep^izb?-NhK-XekUW=qzWZX$t)JpJA{~W%AE~2+<*Oq!bed-{!e1frNVi zojf1aAB0d0k^@UOd%keSog*Ot_EBx7_dId;wE*v9SVxU%r*jg+QGej$9IAO8tit5p zAjwx>^Y;e9`XG4GMv|RL>I{U8DxjX5dFB<+0yM~5=xc5mG%^@Xbl{L2buK9}-@I<} zU2GV`*W&y48?N}>&!msk&i2O={0VsCM>WO#&3$(JRnJ2@C>Be%%#k2}&4CvvsZ%8&U!CN|zhPvj7>*OD z2nFsMry>bdSV3~a?wzD1!!!XyJ~GDP=Q>WfbcW!@8_y72xBN{D1UUZ|?lcL36)-=H zJ;N~eTtOL|IZBY@U1tae4|GuI!r}^Dp9fsTKTt3RwPO590UZzbY+k=U4(BMtRgBNz z>^B~AMC0~fhogJ}8P^t%;R2jIiU#4H3HHBkyhyka>AFCOm^Ezi+|S{-@sJ&I;I2dZ ziHiidf)7jTOZTf(_BCtom-|b`HEWkM!s(W%8E)^()Z6#US)H zMrcRiY-Q=vKnxBCTaYH9OBUB$@qiu*n@nDJJu(ROH{oV+&m1jSa<7?$+vvv@yrGkR z!MMc$2RWP$OGzNp{I0-}vy0In_Mvf!5d(mu3yv5@gAG(q)ZO4`kn^|=cO5uP$9er7 ze)AjP+aK2a{T+B6N$$Z;5~e~PSkJi|MfW2^EpU~{ve?G7CrIvPeZIUj)dE)WCBk*n zWy1CU5YjM&qG9a-_DPk%pn$`PU-S4z1_dhsLk3s|ydOT<2tv{CQP?jNga#mF`BvzP ze?3{VK>Qcbm+Fa#TwLQ0iGVZiNe`6CS45B&@$dq7F0Jz2e|;ko!*)CzI15&LoN=&z zdCmI(8u>WYC$Q!3QKB&I3!@e$}QYa4>K|rac9t`EHf%Rgdjy&+0pP8}NI8VTZ?-=ds=J z*a|$hPdu&!4{)|EP^&npU zD7v&{SPKaiaPG1%82|%;p8@<79CBWP{4nWXu>`lACL5l`8=l95OE1!~8}Zd~yGD=YwTAx%{+w+UJkndZRR*5hsY9^0p$Sx)5= zoZii@l79<+peOK2a2tP*WShX!pns( zm*i{J>?2i6i)(%DxsT+T3O!dIoz|`uc0XQER^ay&^@Xr;lr7NygXAvTL7J0x$IE$=-mj}_+ zup6ryw(*c)W0K>n9qxxD;m|Q?1{_Kbp%o+?1!RC94!0r*HYwsr0VH}Y5hi5tSOZ9H zCVMt#dN${H9JoLIcnz*;fc~0YWG&tL6X|NT8xDu3ns5Cme}eQ!ru(t^ATwMgf-K%# zbS};l-782zRP#5!lf>!3cI)s_bY#)zzNtu?7G#&PBMR|8=uL>q@q(wf9hGB2d(jp(Z zz5ILt{Siw*xCe$70PAA-*xw|*N{bA!@4z0Qk14KI!Eng7D=c`+>R7ykh3;(VwV^8J%WlF+`)2!&&(dkNVw<^z*LrMPBv`_I{2AQT{Ej-~GHRC~(&OrLbT)_dOUIaW6Luf*}+P zH?TG+u<7;jnk9(3b^m#d=>0pzz5`BNhcog$@I?v11*F35W5ug*s~^Ol4XjBSNB!&( zXKXdFpE7v>=fR!ntASzjB&dZw^SDJ)bC~xL2!q|Q_&NaHFNaY*-Yr=4200$yQ^wEq z*8Hb@ZbHhqRvW4%jzM=&J>hg9i}7LnGuoP^D0=A1hjD)4|B4TAx@W{iDY2ckPkIfNPI>i8ip7AnboFZ1KRg zRg1%VU&&E)u-RVp;I6=D@ki|Kmhbfk3TX`;IA#HU2Q>Kr?z$n2HMs^J!K}##;StJ0 zXG{P_=_Y`J<^!N@w`aKnY&ce~ZI1^`!`&Vijy3PMxEkxGJ6Jb;h5E@~clom-g29^e zmv6q815y+3rS|_%sqyj+p;Iut$&rD1fFg z__J=~SkX5k{|_)P@?l>4E6ktu*k1P7f>?k##(YGBe{e3;_v}6NAN&vWFZ*Mx7ARkd zVfD`ZJK#77!tk;^yDZrM=lHpv#gKCav0w*q01KVnh3oShfDh!xFs@hx(RMDw+wRe90`QFRY((=pvt7|~A&`s;`IP~fz6D|-JMMwQ` zhHyOK1g|(;xVHW$?IIrh#PvT>d=r*u^q5L;UB?@6A+C?{2LBK&$ESGP-|(at8K7)l zWO!eg{1|`z(%@((fm4Ge&1w7Bcx^eFoB+b>04`V>#O z5oz1zfqB|$uu*UUBp1US1Bw|v089dw8+a}f39Sf2^YckRFm8sy7tH@x8@74Q5n=X+gH!Gq z7ceL(sLuT;#KYr3G#?_+Yltrt=mYvNhJBv6uFyH3*!&&~Oov_qrVUw!e2wiv#Tpch z5G&S@&^r5)wRlwpm9AO6!fgIZppsni}(?XSaEqh9+pg3-(H7@{~*!z z;m|EUBa&pP3-`T+z#EDSMTl6b|2nZ0{J~O)7pCdoVpWc1;g;Te#qRNkJL-LtOH5UR zNI4e?bZ!aeJ8-=>qDklL@_W08!dr9RuQy;bB&Yk3tC^GC2`hptqRA}fI z!K6ENU%+PrmGo_0qU%*p#7Bl#JygnZ!z&&vw2KuGVuu|?*8mD(aO}R~fqJmc%R3hd zCgyw)&K-#29)jC-a6|)cB^t02AwmKP(;d|YF07lx+qji3+{$?zDe@K;`IBoC{(e6D z5?q2~Um^fY&$GV=4+r}N?}~8f+WYJZ7H9~mhv|L;O2D2kx%_<32+}Om{T!&lVE&kE zy{AU!e#r2G$C3KP!s1FS?EZcOwnz(Kn63n(U@`xI7?{|7=X$~8i-nDDP~?YLQ6CsK zVQh*uivru^6Hytk4D1U73j+c5{-<-16#-zNIewlcon^t|zt3DaN3!F*j-Qt>P~?vb z#NR;6!1h@GE8F8SBxpG+?p`{Q{L^I{L|%G>_&=`TD$D)ge^ zZbaT(L<#2?&1*3m8=uBmJL z7hNlFUJ~Ca+IC5OB-RJDwo+6CUkw_C0=lhrx1mCJ5Gz)(wd(J@r63ct#ZmHH;s2PdGDQ(yWf<_-F$9-tkZpyv?rqBzn;_o zo(d#4h{Ye?+Z5}>_#W>JWQ)84QC&7(nd|#^Kc~!23oAuLt;{;7Cp&%g4G!) zg0iv}B?)1z=75K`S^}TQPL``T#X7B#z&8#Ms9Q!m^>xS%?O`3bX`B;Pgk%P{83n?) zfu!YxRz#stS4QJSEmiBab&3E*PLYO8C)rXi$}NpR`WpNqph2qcFpzi+QPz59%FbgkKx8?nvQBev=J|w|vwy)aWDbakV*cq&Lho~~2(K1V2%#QPh-KCWu zybmqh_whJh6s%VSs}b}C2|D<`pKVU8?s+Ke(6mF759NGO@WrS@HD6>OTJZ&S=)@Pp z4&C`;tt@aOVHS1yi?!z_)Ly{Xh}s>8-a0hwkmn0=>58ML4(X5NInEq>YtN!Rz4ran zI=3wDXwji>93%EUv+uQ%_T7s}p z34YSND2bJ2e*p<47A`4lh{{qROL@T#+Jl@5w!?WODcDRLX~7l}C@C-#M_TZA+JjnX zQIEc)9)!*NNNzB#!tap;KPmihS4q``GUFr^VyXf$v$VgLAuHHQdkh-7)cuToxm0Uk zF45W_z~?G6#~P{Idl3LY^)G=dRf>I`z= zQ!cM?%6W;ioBMmcMocv@C4{}MVO2wimhQx*r?_L!CFc9aaBMijiP)SK^d>Zmi9fH3 zL87dUsuB$)c1P}Ph$_{{aS}$%k1nYg?xYsvDj(%(6b`9ds$#|N&gce4LBh4r0<4Nk z@Kc({k4v%pFpD`QRhCuJ*GUa!FM!l5$RTY29_nt+FHWtevMTPDLU_yROb^6dr|F@%utRKB9KMghj*ZjHtcnwZR&2YE6E0=b4Mx8mas#G?=PFBh>{a=Eh2g{c|iVhBYfyVivV6A;9t+^cC#i-ruQ|+lSLZ zajX;$c0mTGeFTj`@v<{my#P`c?21Ovnzulp+DFj~kVBB9+5S9@er#9MZ|omPmq*fe zhAuM)smc)_7L1}j8w~}| zlLkR8R+`lGrbs$}APt}aXw)=jy+yP0-<%lRSUNYjL@LYNsY;FNT%FzZr6v_{EDCW-ybo zaS=mK#*$%7!lL;jm=|6dGiLY;uS9=EQD?nvE#Md5Y`p7fvDCDcQ`CX4jvTR^Z@Ssm z+TMEG7i>9s=Z@u4(@%}QcFQGiySMFE@2zqw%mN{d=RPVmbh(asw zG*qE;e0_IiSzhKnstzNTIliST%D@<%9gX!e^9=-S-fw@sQ@4w&vj$hbx6=PvHwgt@ z%?|y%w8Q>+mzVqJg?{LtM^XNHV*F(Isg4DH3%|y>@UGvBHvhbtU-{=P#_t(?uY4XNw&iSFllK1I1==0=bAj^$)~b5l#Z z$a2}|{nguI`Sy;dy`8pHm0vEmTyAYNS-!p3jw;@2^W5@EEoVGGp`TTu;~>Q)Ps^=` zmQ%nNkO;s}wl&}JK9s`sA+({*b4P4B=V`lR`L@l|;I*78KUZ$4YPFQqw0b!)s_FAt zPJ3HWagn74{p(>1@Yil}dwt$E;Pc*HndS05ujTZ;yR9uglTiOF_u5+U(P9x>PBnVl z9^SE>x&P3FCcD?>0jipOzB}GF5!&ZhuZ74MOqMH6cS&QnHMRWYYehll(ERAN)t(m8 z0+utkkhm!r1vNLJ8N4V4*u=Ex1ERbV%c(n_ha`Tj_kL5msS7qB8-@GCzyq3|bgZ^! zeEhb}`;+Cex5?KbBM5s4jCyVX9*YIJB8lZHx=fSjZaeDkZE3&RXzDKXq>Fc&e)YED zn^yU)|&YihAv^flfU!Y%kCQV? z*5HkK$TG?`%;Yu9{56GF!wbK|=_d$RAfhnE(L?QTJ5BMlGQ=E&kvO7o9+gg{LQ!q@ zI64gBJt4jFiK&8iF=Zd*TwoR#`g?Orkug^CV}8?2%9KoT^He4sWlF+w2zJ1dHO%%k zCSmf{413v`^md_*1_NTr8m^H%s6Ygb(}dtS(*e5w%T9Jg;Q{*hXs`V#n#n+8`}r*P zUq~u^u)zly3io0PB~TIQI2p-Qxdt;27raX@-g#awt~TQcD#a;wJr?ae|5$|AhA1vv z%iP-Qqp9g{OQ^_R)MGH(%yL7FvQc+nO_kEXeL;#5<6(a&0`*1o?M0l31VZ?>257@W zf(KCgq|CrFrQ~{$;K^&ap2U5EXh?rJDy&r$930jx3J&`PKOQeSWHXA%USn^<3%>m< zA}@D^7p;(?{f@{%wES^pae`b-ucZx0WA6+^e<(zM6nObfl(0CuDT;h<6T;g?@DoK$ zuyriKRDiS7{Rw9$vWv5$&*l5FHxb8rXIKp%`X{cAUTvm3I&kYIdV{Zf5D>O8dLCw1 z=HZ$v>MH~HQc)3=!`J$QgOxoBS4wQ7v`qI;n2fC;r5WZE%cp^{_=g0_XQlEWdJgBmUDzrEUmBT(n-mX)W2+!yuGll+8#n>p~2 zYa^(tJbtX+M!O|8iIF}_@1+l~jp7l(-3Nj3%=4e{LCly>cnKH6z5q_v<_OwL7Rr)xK;GZW~# zjZkRG!v3hzS8T#v&oXnj3LEWFD!?|71{e^DZ)Ii9PMb7|TDYNL zbHyirfA770r9a%nY@`?22F*ZWe#UYtMfwW;HW44M1RyYIb^zvUkn;Q9Bh+qZ9je{V_2`_-2&z5o8z z>(_AtFgUcEvPWa{)l2xRmPkeT3s;Eo{Ig#qQYw|A@NitxO(KXwSf?mhN+ORKA;wW+ zR*Jvi&}YFC7&lJzZ2xDU!9U^gw1g6bi(!Ir5mH9{1q6*06)uxeQduC35**}+@56@+ z(I{juQ$Qh83{yMu;3po1U}~pZI7MOp#*~Q(@xYP&mIGfMJ#u9Inf3o#?_0lM{o?gG z>pxt-ZvCe9o7Zn!ANKK}T2ytvYwDA~x&W&NYA^G<|{%+$>8#@smmj7&iNdBPw=ks5I`(FO5 z`Lpup=da1%0NZN2@{98K=a=U@@(<=8&OefWEdT5LZ}Ly(pUrpW*XCc$znp(H|NHzK z`8V@_%5To+^V{=(&3~BxDBqtiGD%GeQ-~?t)YGIg?MDu86qc+8Cnz-rJO*1#m+O%*}_NJwq{>P?| z|0{ph;+6lk(zf!*%5PWxxH8aL$n&b{f~ohWA5A|B?p4!GxDW6XZMt9z#jiJh&usel zw#wTOxvBT2)XaA?##>TyGWgUbY4g34-cDPT#i*l3zQ9e+z(p5n3x~&Av>D5X$1=sK z+1U%33|tAY1Yw|x7v(HLKvLSGj5{eA3p3{D9P4IrRa~@q+uB;&J~vUpmJ6*ui^qZ` zxy^Tvx7=!KZ|(}V-17d~bkl3O*^2f5rq6pz2nR)Sv-ywcLKJ*ZSk8KUo;#NIfPRLM zz5N>tWeK}M9y&axS*BAKtz{O~!*Y@Lwj8s}pg@m-hza;kd0K9I?;JbRev_ITW_gQB zxqP$D3$ox;>mAsQN}*CLma8W(U2t9a_L${NlMl3s-+UQk%R zRtw0nc2F+x2|I@?o;%H-fBrcJCZheG*B{?3o;z(`4bWl|PrWZasxFnfOU^o$SR&Q4o$D+Lw^ z+mn`LF2XL4Ny=X0n~|N4h{Ts1KZ8LY&95!XMCh`m-r2 zEhlYcN>27-W@07)Nn4Vc^KkN{$&5B_QTkFtT9$WmO7h6bsmXr?%t@R%a!%sZsego| zez@2>DSP3vcNev%W-RwjOq-weHyHR_bZcVvlJtzWlpN%hwj{lM;=;7~&66`S7Bk5i zD0oR0GjZWEZ_=_Qix+x@*H@QhWVCeo(jLypNY7mMt`J8j?1@S2iA%CSXi3D4Cx7z> z0$*K{_An`PQS*~GBy(f!dQZiR~ zyZTZVdC7Co_8yW0{e* zJo8<&EEx^ymf^pnP{_~TH5lx|K(GsZkkqt=S@zd)p$$;BB;7u15iat{ME@V{7;`Y% z@xqG-XSTkc(f*QS%;6Va!0YG{hhKQf@nV$YiftPv?A;>%}^m|hNKEt-!8S(J%JT`V{WKx}4O%c~h^otBgj(218ePJTaoNm{cI z*?>AMN=rwKsS7jS#W!un+eM2D4(JZ*zR(@g9oBt0lk|)`=uo~VNV^rl zDr%9Qad+af%!N6_(e4!Q%w9qOh=2-Fhd23`;Y-7UM8`H zNqpzF(sJ_VO)u}m()pK+h4ZuD%@{FaMAsre{B=wgIm?zTVltLvf+9i(u-^#B61y2I zZK1gq<{w*_xb5(VaChNH0PCz+MSHMeXvMCO$16Ve;d+sezu=7-u|2S9FyW}dZeBq) z2`!AMfGAh!yk>!?xr$Ekn^w`xh!tjXo~a>DFesFC)aRjmi)pL4$6~Qn+>M{GCAoDc%Q zFq_ipI=~Nf9mLk<3;Yi8eF;=I=MDPGABi70$3KWXgm0Erab4tr)=fWTPOt&){}89q z0nHlY0ZxMQLj`4?Dy9O;j>dx(v++DM-MXgEPyjDCuc`py4N>Yy@ZX{%w^AOfh`GJj z8Wu|GQbZf)6^V^+T18KHy(SswARsxqNkSRtxll=T&zp@J9e;Q_h4JP)|R2Qz2j0lAQr}pL2Jv@+7>_#V-OjZ%+l9Rloyq0DV_aDIXTY%VT(H3@?s} z00$cyuN4i5ANnL%A_UhW_$Lw0QRKm1qllwp2og!}&~4wW9r*0xH<-L#9n2elN1-}) zbA2v9w3O`LyV-EO&jmx1d2UGrOXo$Lk%ECj?XatCbZJHr!*16d-d+k8f|Tt;;w!u2 zD^QGE5`z>m>?LHqm*V^2FyEW?VqQ_N;N=EjNSC%n_tF-y2V`!g!78e}vDW`touIGF z_5-I#teg3F0u*40=qi@+?Q-~Rv=-93LFqK3+QCjMb&G7$81msB>m?Pi6a9hkA4MJr z>ows8HI#?&g9;o^dr1F#nq=26Vy~2!J*f%uLtaHY(2S^gsauARBv1Ahvt!Fw=@d!v zTo(Yl(ka{D3eYKRSq116fuuXOFr7PCX8;oRUrw>(*}dtucQj(Rte$p@pox5Bt=|cs zQ5th5!yz(eK!sDAryBOGQz^>qRm#+J20hou+7}&HC(M8}*Ntsc9V!06&bCe zbD4i|E9P2J#%}DRfIV+93u~%ErbujY{oimXf@0|O5%N1Lk!L- zq9j}oR*uP)b%LeFIw6K(lDAs=T4|E0PWSCrNIlPQvBpkN~0*Up8eG z3sSCzDC<)=K73*e85O)3Bh4CAnN3l301D!VUgkDyghh_;P*eRQSYd8cTNGSh-Nh~3 zJT{!uu{}5jz*yK|Ei2Xv)x($=NN^&vuarhN^(r;g4{;2t(;{C(M62*oMZ*f0HQ0z6SJbozN^5uMR* zEnOteczUgPKFv0F7^Y1FSFX9VS!Ik}KjEFx7U`eml!IdjPpEOX1v#|2?w>3YgUjLW zJ#chX@NqtPt`-$HtiX|J9l#SBCs%o2j|PyrdtszbqCJ>tDlix^4ssY~yGt&FPY#4* zG$MQ+!UYc3#0m^X1cWAHTlU^l~wE+P)Ex=6-$4^9Q?vur!} zl%+db?;l&B>8xaWZ5Q6qmKMz4Dm~60W73vw)pIET^3QWS`iySsR?LhDB=e`x_&U`N zUFQy6(GD`YFkV|RR$DMu?=ow4St*S4(QCnvJiPt(poqp>5_1cbUJkES6p79dW3$XB zDo#3IRDvZy40zOvs2es~AgV}&DRTO*fTqk|`p}jm_PtcS#NG2aAL0}_LQ5+Z zVh<}Vt@MjLst=0sP3jKSa&)tyDhg69m`!1wBpGIWrgJ;=ZI0NlmMW~G;z0mj?G7Sb zO$j#{B!mSueFCqxu3q8pRe{wQ^u=C$T#jrQ&2~1S!+^R>A@HNQFax7&T`hI1uqp_i zaH}-nk#Qe15L1BfD@e-C`_+tpI~(E>nI%vVCAjD?bYa7+>-KdW7f;3jl-g}nltiub zZ`Tu43gDm{v)h^0twrF0^ARpF-^V5Ad*D#tVD20eA($+pn(alR(jvN^a!YojqPGVb zB031JPwL4sfLgo{U_Q__Zx_a%++sOyGq8QFZkxdsYL@XKO`)tD(-0SmvkT|fzq@Xc zabch_1sJq-1cv-wXxA4oe#W3}pWRCX)i~dac@A3D63kL`gq4bBW^6-s*(`s!C#)w75RhE!UF4#Rk=PbNAF%2;+$t8(6s^sJ=PK-;54BVOPDv{IHq0 zO7lagpQ5$dty>x$bTtCn^wYE!)i+v#^Mw7T4U*nkhMnpiTfWJ z_i-L$1!V7gjr)xpx7KJgmKjSpk+B@$m63|Qf{GRCLC%o=E%fYt%Gp}7=<{P-5`O$# zi@%ByrXUu_<@?#@8lQHtl%sofbhWMDO&TFj-xM34cJS+@gb-U{U?U6w=BtXeWo$P? zaFnd#F={EPkc&M==@GkLyTgtq6Z3L3px6L*ITp-|-=lA|8(_1qZZ5O#G3ZS!4}wzK zTyC{-6sKZagn6llfU#is0|5OYLGoi?F&MJnL zaZ)PA{o92s+Fc7mE)ZVUVWG$lL5;(^x{^m#O8ZkpL-;9B?>I2SSa*{{y)QwhfEXEt z!0b59Wtk4rg=6T#t5o4Rs*vbZ6^iM?Np#^Us_+c-Eh$qD&CRu$-lw?_{iYQ(H*cP4 zx!^B@{|yr-_$vgz9XKgmg-6*&0dqLT`4}n*MIjnC>?J4k5Dcd0Y11&;^dfDFrA_;w zB0*FdpoJPjnFiAwO+#}5nhXt5Fpom*VrU$_f+9x#Xd2caD68nRC>n>F9_j-Pq*#uc z+7~-5)XzVkNOvkF)$RwmYEpeYRyK|eec9P;k~?wo^rHvXA(iQ?{CilcG8K-Js%ISX z%F*yrq8jBbYu`^xaO$=LiojJArz>zn5_k{42Vx46$qawNW4!zWzlRVHit7u0g%h>T z1e+G~D9bTFM3#FP*lCWWYVfDL%Q=skUV|X>7t<<=+v_*|4+_#kzbS<({EjNq?LH3S zs$b3>{ESl6qc-S9P;bE|3#YQ^bPyYrf9v#@RAzPh|3SG!VD8UGLzDH>2lCsXyIs}h zAIZU2(8-U@iU48EwvjCYAB;D+k=TF1_ZSCr{o$U-K41A6YIbBO^_Xb75dEFfil@XN zlJhi`L|cdX@I!T0UR0YpOA{XCa2+$_w3wEYmpDdqtF=cJm<`Ixm|^yc zSlVM8$7EepignvQRV&O-C-uVwyYY}q&nsMUAiJ~N!D<6Zqf)R}D~>@R1}nuR0)vl{ zZn5qslI%p02%}Xu$U()He_ZirK`ndAdBm&k{|;#_h+j_t2;+LN62 zx16jFWLPk##6Y63wy*`qp>ab#o8ELX-AmZvnj5Z*yvAvH8#unt$9$m1NKo8p~cveOI9*(mEisF$@9GKJ{ z{EVQa(%n55Za9$YmUB|$NCPWYJ6^WM7{}Yj8e=Pl0ofB6?MkS+4W>Q)aQb3`>w$T6 z`uOx%oLxCG-j&6N=DP16iE%~pD|Bl6IRd~^ft$)H9^v(h>TSF=*S^b}#BGbsdKsPKvsU2=5+E74uB|$fGsn>(V&f-Jr zI$JWn-ZGf|Z0!hL3I(`Q7N>BhYpc7486*aa1-5EhE_g6rLjp(l-bv}AH z>E>ic3Uh_i4orGvcpmx`{fi8zIJcO&TRbNV#-x6pM_F-&2!2mn{KDLX$MfXWv(Rw4 z(3?g3MQ6m68ZyR~R(>kUrt#@fU<>ICDx;xy2WTV1+9l{S_s0S={1k_pjCKMq7K_ z_!(QbOxPC8ee!|*wIR+`hB?sgrjJ6I0_%!MJJ(7zR+AVeUY6j1qA4_Q>yo6X49s89 zlr=;X;Hp4xhIJN+ON%7TXIzH?4}*b8-fs;y;K;b{d#+w;eyLu`2iJFZgym&QOW9$z zSTZZ>(e9-s(3)YLN15YApnADZ5Lyj!!51Zu?a zzNBuh;aJ~JlQ=z2M&@nsH?6f!q&dl(vs-c&%_RrH^$QIMkiY2ql$`w@pJk04H5xrR6_ z$T5a0AuA+?O#u{`jWGt}Smq*!Bi6urCAtIf&Yi#mTajQ#WWCg(B-;fji!w!AC9uv) zDhCNKU`TW`yY#}_E{^4wa}>B}l;;g?Sy_?9*jXeq{#K;0uBJc16so}ThZX{{1TL|` z2_S$c>|xZ7r}lM57>PxEnEVj-`qiiX=C(PGXH^QOoosW!hm?YiqlS?iPK ztsN_vPdQUKPVj%i$&8T}9FXU3>?)CR@w+%FQ)jDo4mRJ(<)Ei2<>C;Ipjcn5Zj~^n#BozKYF6zW{ksHIhFRzhkg|1jGVo~2(eAr z8;gOWOWw}~gG1%A^QSTXDqW>KRH6i4DoLZYjnh8q)z*+uhu9ht7U+jWGkIJi_HYk? zAt`qWO^2+l^26im&|+W&D2qf393f0K$NeMl4ZG+DHM>b~6<0+O1!tUq((0`;*nXiN z+z8v}cZY$*Y>Q;52NeqH0giVwh6==nJ0tKkE0h$vE3L)tF=Y4QbR*jlGqgF?B|e8_Z{A6?l#@`H3Q zmx;-G0AMIQxcJjN75W>kGe31~dF0MDrI>5&0K?lq@9 z*=bJ=kocgZk7F;!hJl3BI1Rx{sp&N^P)tcq;!PpmWWoCv;+-vcXAy5Iw7@ZHX;HyA zGHsPqS6itQVv)8H2Xd>TI!HrmQ74Q;E(E<>=-PNe^Y9@qCFPJ+ARTt9XqYEif@n~lH!F8iuXL${y<9J?c$213)Z%0iXVS^c-@X1NA z%n{i_iP%~aQKE&noD$W`Fgf!QLk;_otZOrhFvC6JqoXhc5I7}(Q?Z=LffQI3|KMLz zl?vL^HGhI%sn%WODkjn%1!iOLC}IszCog5vIa@3?kio`rws9)hsmq8p#u>BiUzVT!em(doz5$Qe6Fz?x zd(`)rN9-5AiI3TGZYO4S%#CBPD3PKs?n6J9nFpt1rDaxdw(-VEwsFRZ%uh#10~~wg zh+vjI9yE^ciN;`?0wgN5_9mb{ZdlnJ55r{RI6E14O-F)Qm&Gh0Rv@_Y65BvN+%*I> z`3I*q2QkYyRzmzlA{U9HG%7TFPq#`C(6QbBfTRHM7z}z+G7_O=_g;3JKp$Yqh^6_b z&+h{V*U_g8#P_%^Kz=MU0P)5N>_0EW(j+UA2|6UB+L;k!jDsP%IK5UQE&;<9%)&B% zZWI*!*@qgjaim_-OQM$cQmAFUB}0je_kVYLQ$wY_6^h>Edv67Pf$vXTEvZ2WD%2D5 z9ipNL*x!C!fnB!sE)!N>@d7*#i04IkZV}H&cxvH+IxzTx$@`;i&v_#ucvDJ2BqZ-= zv}M`=rA?B!2N+yce3GjH78ddjff28iK}Lv7&B<_43OmgJYVlPU1EtHnzz!xF9&Bk| zD570r^HeN_pzjPZTIR3&!I66lURL*eUX+m6OXv_Jui+$RiF+_{DEG6(!Hz@7NAr6= zLM9e5d+13BFO3rGc9j8ebZ2&qfxQP4EzHOJSF9V!gxSFkt>FY}kPK-sz3+9Ay~en8 z@p>{CVv5HyYq$XS_2d1Z7pEB~lqeKt3AWRa(NqpB_cI?pP-9yyH;yR9LeR%HK_lU1 z1j(2)fDAXWv7o42TaJ!NT6L$|tkTF`Kxi(@>~u}$Wtzo7L2O@$FnVglF0ngwrz=qi zl(VAToq7S^x8vNR+wp+WN(184Bdg6nTg6TZn0?Il{aVyyMcwhrgD7HH<){k3aX1D< z2ZyCwHhl1~p_u0~E784c+;^3297$O^CR#omQ_p233NhOC` z{e!Fgyxh-&>5YUxsP(x~|3dk;5v~Wof^mYmwIg>f--nRU#@PQzLxV~{kpewwo1lDJ z7>p`|mJhbYlDkr)P*}(j({z0Nes2H%{lz6k z*Qv|bt|P(zAISUnMg0fb^YVJzd-q?rpL;H4KlRtYMr_)Cwx$=kng5_H3~2*;x2S;nUr1+~*tLp!)Z> zK9!kS{+vCN8n|nqGet8{)9<+rHj;ke=L4%#Rt-#f%Cf=r`NqFe*CJ)p-j0w(%sqWp zt*t&w4UQn>ZYh;IuVK#Q!PddmgMSQ8%>mW2_x-u#y;1wVb}Qab*X2w- zG&yI9VscK-I>Y-^&Jw&I%vqwIoO5u|s2nQCnzPk+FekUxy7ld8OFp5NSeKk`i(FD& zT)i$dZ^>YatTHaKgRzZweZ)WQdYgZ$IDT)Oo6fDtQ+YAXDe3B+-m$z=H_L%FKQ1Ol z2*ski>mX<&Ou*#7Fd4A#*v2!3`|GrOM+7=3E-youJ~Pq%66xS)Cb@?fk8nQg4(`w$ ztkAu5K-cd;hi%xI5$?VOhBFiR{TPHHE}H)p@`yG!-Enrj+kW;X9_#eZQj8t$NAxl* zt;|-eG{zT7$U+$fb~F@Uow(G9&n!NA%P;!Y|Xcg*-g@n~C|F~$~e9GlB{97rWWG(B0qJr4F?UE8@A zP~z~pBS)hEjPjeM2IkI@^pUo)34XWIhDi}q46@k~#DaML%gDu-D27e{cgRT4aS;^0X*W_NZx?^AlL^7L3l zSvUH|Cm7kmH%iO>?*3eyG1gU#T`Aig-)>mRmrC*!7mrru4ju-X$jhJ~K-Q3zZstT9 z_FkD22eGOVgliy0=V)vUgh`rA*tQ8g-MIcGt2B50_!_0z78{Oe1^BHK_P@t@Ij|wt zF$Z*yD;6spgRmoJ8sbP@_VK-de(_QMuU3dz4-&joyF>Kcu4+)rSYCn&0KrvJgJVa; z(G5{B^H*kj!QInJACBENZd+U>NdC`2t=I6ajr?!OU~wti6C@^fM#k6zd~Ap!V4xE` z61LH0ip*TKt3%gxKxjU!Ejy82C^p4it2Eo>D(59YuLogRwb|=v(^$0W1j3->rC*Jw zFvTNdZCBf!9jWvR?C2I?NpC&2{)N49>tpuDuOHh?a5W8g+qsCAfh4BXII`JwR#9h* z1(hSerF&N*;0}!f_Nd{BAc$_fwn7nz=nFwMwQ;CT zV|>1NKrZ><2qS?9)SHLqDj!BQpaZ{j$Tmn6lb1}w2ZoYUZ`%dvt-K1J( zOf96}#(}1l65WpThbTVW*^lqWJVm?`?ze69VOnn+0~6lux>41|0}rTin^I8RX0<_I zVpHqVYZ&|aI;;3b$0@&CQmHxQN9%X!YtEf_F-Ok_vHIeHoMqTE5U~#&6(!;r-OO5& ztnfTx9Ef$P$Z@lpaa~{@T~K!FnQy)z;Ud`p+aOb?6haeIr^G(TX`kz~|CKP0v1h?f z`6Z{mS~0f{jSKp*V}%-p98e=+)UUcr7YO1CCIHtHF`m3(ijCG4!_R;ozB$(}0tKtu<%ye{BRGBTv*w+?pR6Rdd zp~~z?d$V#k81bBM)$7>z|DG819LE%sankYR*^DCr zr|;48sYN=@SGg z%rYP+);IwJ719q24J2KsL~ae)1in;VONq>P`DTLw-w@+2B{GhKUG(t;bH;H7<9PO4 zJm5uib9*3prk7op2;nvl%^l|CqyS9vlgo8H$`i!ycW^5YEsu)Pn89g_~GK=~2 z8219E+E0(cdtnnf87yUKL^`tm;-Y$j=sq6YZP?nYq2}z{5Mb&6HH-cL0c30 zqw46gE}#qR#TKds!v0~DS>k4r^ke-cOvV)@RYa|K${6B)accMU^I$mi}i;T}8*5nWAH`)Kz@!&z8F8D%i&VrMa#Oh~Tx% z#bdAs1tCoq7h-zF$z8&O8M~Y4ypo11bkc<<>B1`7-as^G6n2#u45Hu|lan@`q)k<{ zRenN85hDuB+pF;(H2WSMMOcmZ%PRI_TR8-xez=gED{A?De7r3rx{8)9q_PuQBXL5%eDHc-Bya)H6ArW_~`! ztYslz0k-UQfdj1Hi%gM%nKVA^Um{pYtU7l7$F4DKu87ll&1d3YJrKS4J?#<0s&CUi0m)&7|gv?+TjwK?-@Ce@+?9WJ59TT zu&nClR2tlEN4ugUz+mdxrN5E%OoMX8-25K&I&G22)Q2|4SSWihdYVIABq_=7O^-Eo z1Et)YfP2Nu`#6^hE>Sq<;>h?oZn^bhU3bTc#5+?phn^(ZXxTznVBr7~i>2_7N zoTC5*A8a~HVbGQ73Mz>MMQ>%eCUV*|a}Y0&R72JFw{L`21Q7xQU1YaJY*djTb9fC* zRX#C6RZvTLqWVS-BdXg5#At{zbbUt-|MwvKROj$`XTd4Tqfu!!3O*t-itF4( z&xq6kFeG-xx#f{bLJVMvlvSb$g#kdbf|o^(L;24U%yrXDMoKI!kWL4uU|8i*q45pQfA2Da6edX#xfrltX^4Xi!J1V!-4{}+ zjqYq*gP-p2mg=!FAS? zk^k)G?`S5R;s|*d^rve4zgqt>f%cE0b2GD-t<>#2)oi~j z*4kU3Q62>mu0sri#s*W1*kHOVZidiJkmxPED>ki^&8<@mdmxXJVh7tPVG2&E7xy+R zi6lLQ@zr*$u&KFdbU_gf5z<7nG?k`UaVkX{qBABM zCmJF^4`aUX>Y>q{9V-lF`id5jCqW+FBo2-!m;&-UcU#`Z^&hd)vnQ+2|Jgo2)65e5 zQF_hZmAgK#fB!S#Z|-iZj43(2LeF*Uze-+#6`}<5b|{vEotpb(!Qd1np{wM>hB%WH zkV$kSFI|SocJh5xde|seT7!{8m(?#+QH-im2q|18EnFojd?YP=Bq>}ax5CKkXJ$bw zk(f0DoqYDR8quMccG@aI#nsKf%^YvWi`lBQ)AUs}?}N0(T;*uoH0-PbZPHa%V6M zI0?A|N3l_umeCvqwc(zw3%!cO(;{WF{mq67gpo!9TxEu4ExAtzN-`px%fLd;DXou(!0){57$ zU4Kt1KwgRe5107=^rP5+`*+I!sQuyulH&J2Cq-2TTNw+LE>0geckc5r?|l|Eg${$k z^jN+;GHABns&|B@ib=jO6}#2ApfB>h*?vZQ_TS)#jbr;`xkloq=h(*UQGg=X zE#c3xr*X@bvNPeIZeH-XO5N>02YlQ4Aho$9!OjmN_qZD4gwUbJae_N&T(0|$`pkIu z$F{gL@$NN_k1Vs-jT0_Qd;L36@wnVwl-S+!=a9{VtKF?nBDl|6DC_K+sLlg}-=xGt z$&Y+*xjp3ec-#2%lwxn9`Fm!{S+vCOxcL8>=YQY)_a7@3pQ@WqF-o1o#ca6146SC) z)nawRCJF|MJ0-FKCfaEVa}vFiF}3?wO4(7I-1stg$~XpkkNS+UG}NsmsE~uVPpQ_9qE~$&R6HJl%5`77BfHBfEWe;aHUjWDnhD2n4H2y3yvWo zgYyUrlwHh6fKh_U81vNyr^$^;8cChI`EJf_?h^tl6A|2BFk>z-W2>2j3t)R{R$G+U z-*)j*+y)mF{?%(P&1zZr5@6V@1*1AR98kG2Z`vh8z$-IDu zVqYch*lNvcz-OgM<#ABYdJ1Xvn$@NF$SH<(O59O-!v@#zGf~RGQA&_W%)=)*mKCm) zGVh(UsZA^8HjSxM&ZJzh!U#{wg}mq{W>}{zY8cqK#z9PajlEN5S}Eo34+k*FvzEkh zJ%f`Ot83UwVMQd&UKx8rJ53`Fk{C4xjmj*_Ty0bb2TRpPFw#K^q8RPm{VU~8sk!G@ zGtTkdl6pib5lBE+^WtbnkbR{b0G8LNR=`B=SEJ5p_4uZgYFbgK;Oz)fy4%TGDeS74 zA36zHroXUKstmCW0EF-{A?Ng{7)iKV;J)Jptnn5Et(2Y#^elv*8RU58>>zv~5k;C# zi{Bk2c!MOC)hKS=C_T4EP?`ARn{TgCiz8lc>djCa_fV8~;o9qMV{bf~Ffw@Bw3-^~ zoK9CWeLAJnVNgt;uA8RA|8vu!yVd*lAb}AMraqK<&R^)1o*iT%CI$lwJhS7RpmkrD z5A+Yvk}lB?Ej_K&#!NeE#x`r{lmXKgiyd^$`T_Q5or=AYJKf^F&(-ApNoW9s@uM1V zJ?9ujLW>7L%>0afmUAaB7bFPohl?e|17)A$0S>`SqzWf%Zbd3Ds13#e%(zTKjOW~;$G>xd?e8Kq?|)RJ0AMQh}tSj&)gLw92Dk9w3qQUP2J-He-Yf3As=+=_JkV1n{psFQsW353`bk{wX5 z8>%H~Oh{wctcJE!@z83h_}yk^*9OvE#*{1IUg#qz#zrcwq^GGe$bfNq%raM}L!`L@ z-M!^5+gw3LqU?>#cM{x6(9G39v;dGGqQOK8rN|X}Epzw0K~DrWP$WfC7V2I8sNTT% z0)y5ZM&c?G;x_1cQ9>Lkk#xGbT4Xxy_e=pXx(o&(5fshUVgkh+qhS-unD+CA6$n9B zz&yk9$P^b?v8i3FEzq?u-vGzlleqHtcOz>!^zIb z_|aDJu1x54^njWymUSk8$54_u8^f+}Vc) zDshKEW9;a8Z33&CbiqJ;1uxT{oz;A|6?3D4?aw%aR!pp0V(d8{NnF_IkJo_~ptk z1KVC`i)*{u?rCrQ^|xOQ_ZQv2eg7|ynEQk8`@{>|7PT#Dd%taU+sw8F*JrgE+iYz$ zZGGE)VxKszZA#tv>)o$cU)NsqiJ9vQu77|1-D}O)*ZxGl_PDv?rz>^at`&cm`Q2yV zYriu$KX<31Ihgvfp~sc;H~bBzmh#s4rl8iJTYqVd;XmcmfBNqBnVa&Tytk*`o_l-! z?ajA8bpG@q_tVNXO)CvQ|JU}Gq|_TzXWm$Sv1Rp+AJfxsOqqFlYT~7tQ|4Tm9G`kJ zVP?{-E0d?xPEI(VJSG10tCv#oAt|{iVP?^!cwKFhF7b+1mvCV=e%e=)4{Be%q@9$g zOH4kYC7&iI$6uX89@^CSDsAG7Gs%gmCsL4b%83-ME;0UeYI6LfGcyyroa7ntwFxt4 zPf1QWGgTL#QXR-CDbYQfBu|(zWyUdGB6%jxoRWMgc}mJGF2d?qDn%9P0` zbW^UpnwWYqdDex5vxq`I?0q#cWmZ-4l+;YD!e8POt`HDX;%A?kJmqXs z;`B2~$q6&BOiG-2MVF9rWs+`6{H0f?T$wrLYHIw%lGKY+FQg<*DoNE&xe$M4X5y8U z)G6*Vduhdw@iR{+Ui#+5*D0@FK=SyBmuID1nhIzpCC@BLnp~Tdcsb>@OUW}&>k_}6 zGRHj$uL&1Y<1fUgUI4u3bW<**q$U^7j<1bRIWv>{*x1c|0}7lCrx2yB&5uUPn}ea+9b?;l}SxZWORu$znz+x zJY$wFUU;9BI3r0n<=Uk9nL|<;;5jv6=BzVMpqM&q=A_hw#0$)n!- z=ylWO)UihVouFyg8utL(dUx;%5p6V{5Yxu>KZt3!+-CeiMB_+@Dzita`!jVcSPH^!n@U>IJ?a(Ik0{6R@}@&oU=R5 zZo^@7eQ@T>j+cyY9=r9Xd4&G-Vzb&UIg@RU)LMgfY7cM0@jPbTE$e;5wmpqe9flGE zV#wUmGuaMWZ=Eslno_K5YGXR*%o2yV@obtZ<4v>p>|3e> zZ*JC;`TnijX{aBOIY!%-7UvkV*DXd?+cUzATZ1rc$_}ajpizVbNhOryeHFFlv_`f>) z^7y8zwEvr?=@OQvfEWwPRZD5HXq-_$9b8b~fk~PBo3}+BXB?+qfs_59y={IU<2bhs*45XihzA=}6#eqIM}*`w&3MJa(Qs}&|h z`}gpl9)fOivzfLOL3g0oOjnxa?R@J|erYGaq?3A*OQzS7TKO~S00UQnKPpd@`uMB; zXny!xC4n`3NhiN%fWPG^b(kqJ%d5>>97AX{ZT7bKihI>~@|Jy-#5FZ5&%$c0*{D7c zYHB7cSx}6U2__Yhmh=mTNi1=Sd^alWTS<%g^fUakhgtra2hnnMp*pM2=1Rqx&6D*0 z7L8(V;S{sb#0m2{!n4)C3gM$UbV;AaYYl2j$vgIUnXnUHs{$FG+UJShBq`8Z)EJdV zeyG}5RyDfPTTFgue-j<@TWOC=E8M>qXsF!k+3j70<*^BS>01Qkh5pX_CRu4O7Po5R z45@THTp!$}PM{ORx$0P0G9`sybj4-8kSXF`G{?pOwvcCNdic)R{Gjn|T{u^SwJJY& zP@W|Gd>G>UEdFm7p5@9(Tv;;q6=Mzzt1aJG6DN+O&i&ygP-?7NSQqxqyDd|PlY&C_QT;Lnmr@@Ro2 zpX4XxW#rR5%Q%t;(8%i~%d)QEFS^x>ZRm#m#cpcyIlVrLH8ng^=2cf{9e})(c;C0CpvQ-$}a8 zyPj;aH}HGAWw*qUb@uiAgAqioLze#xME=pkXt0{DW`$eTN5bD2p=z3KRHud?1}S*E zGdQ-a-w{LW+^7ibHzkLSE*%Jfaz~K?d+j;Fu}S>pNH|MbnCVJv=l?e7 z(gk|kV;CnK=m2Uc7mx|hMZhI`+toie6##KU;c?1Eo;xi36iA;f&xzSV#OW^bXTT85 z^gJxAts=ceonXS*oN#yaw)gi8rWphPLv)@SV7u};=?GXXeapLw!M(^QobL`@kH-TE!qNI*9i|_CDV`-go7S zYykN!juN}==1?&tB=6ZveI;HSb=by$Oi(QK1xB{s zMi3&uZ)y(k6^FXkDxJbTM<`n1yTzato;nDSC_#;mNk@d)hs8M%KNmc~=l<*${|Sk3 z95-jd+_}GadhUX8@Q%WkFK+e*kP?S~b81l)lhm9n=(&$vS-I7qA;nuK0MWOmYDf#ng0m7##6@3e5L4LzS#$C%kZ{o1Jh}!}x)C6#e=>KF#U--gPSo=ESgOX0B%L`)%*L zUPJ`2t)kQSzLFh$yC~81J4-4k)gQXSBn$MG0>Aap=Spx1n1`7k>9l&^Gu#?bf2q7M zFV#8ohr*;O)AhZJA1w#K$S>=(21Yx< zX$B3o`kiKB&N2S;qgH>*k?%=aOXv6GBi_XcOFJpmxgk(eH9pn=E*pMtG$%m^gA-{0 z+}uZeGKEsv=K}#Dc#L(<&i6q@h}%(XucLmi%*RI@e!CpV>2|A0vc?tfbAxMmq-bvl zJB2=vDaGg-+vML>tDf^jgE)D<*Ew_gWEIZXgpUXK;Rt`nFe`A|(E#6j3~;1eVw-JW zaSj7njSCwBEruE0lIoZsBz6gz=fQ6|v>Ej8oi5iH)_m76OLrxl9+Ra~6+?KsGLcR) z?SvdNLARQ$b|%|cI>(wE-K0LoE$=v~bZ`H>56%kMgc?VSr9jent(t7)O)13Nu|}rmM|7 zG>FJ*D_LXpvl^Q*vjc{><21D1tpV+0h_CL(e5d)Sm84q9gsc)`@V!KrF>$i(70943 zt8)O4)uFc4N&;PjUYQK3(`bnasg@eo0nba>o(BQXo;RsM8KkfT&k^}ET{K0CM^7FX zetrV)be@?=g4dWZ%AB8U_UKqo7&Ps%&M?Haw>uhX3N#bSsy$<5F5QrqWHlCP0+7mC zCppWi`Nk8DMzYykurozDVkr;)mX!OQmJKd#NL_Gq8Y**<&E7`rh?H$mhIf|l+^k%V zl;_ZwyQ`(RvTFKDsJjLigR&4UASoDs5<*T~6NOKX3x>TRx>?s~ zRP`v>X^{dI-U3U#qY07TG}H zP)y=rvt2RMAM_?PW^9H_5T|8vpu%GD2S46fshkvPDrgiJ!E85&F7JNXPgium!a$z@ z+dM9zdH}lYT#kAg!mm>ADbI#W3H0a_C&5mE{xPZjx{{Tb)8PE^R6vX0lCdpfg(@H*owBsaeL4llVC9#K^)|%mw z$7|>B85qqCvCW7iEu%#MBuBpkG^q?@MvY9rh z@z9YRQvuP-x5?YUpXl~2=qgZjp1-1psJon_wdERGSB|YK2S{zHJ=O6P2Vx=)3C>BQt%*gj2;w_0!Xqi_+B_wj;d}@x3Kaq zHWip2L=uAufqD-DmJ!6&1m%uX%Y$icHLl4(?;VODpLVC&=;6+<3pVFQ+v;6k z(E8wKjJQJ7D8t+*U?uCUWIZjz`T;0{db`LUi7+lW(#??F&mPrS>-=~tR30BC`FzrG zpM-@F%rZEn0Mz`V*9QUC(P-c7D{wTkN{YT094!nZUPR|$X33R_jEl}c&DtsY8oisD zWGu2-_<|lLxDG|YMaqIzJeUW%){cb;k>;6cz8MLSM;_{&ZzXxGdh>dm$R$t2jf2Fv zG^mx(<8ZKaa~;!(IwZ=ArLzL$&XaxAlM6v$Zh(nZ!uB3s?R7nZ*QoYW1HJ~wM;=P4 zU;T~=4(YB5cDFZR#}`GQk@k-~ZYJ*98^Tvj-}-68FExB(U-~A)vy!`us&Nv{$&Fe* zA`LC^+~s&u-=gI%Yl+kn$6byibuAk1vWCns~d9j&$aNUgBGw@8!FkWrr@Wz=QV8ZMy1 z!Ea+0s&3c#h+BQKu(q(SP%5l1Y!FA=Ol#5dT3Uy&j!Fn6T92@vHXv+>G$`XE^@=_s zDG8A}1&d{(XD(30^WvBB_J%LD8{)r=+o1hYvmwsw-JmH-GWDvFz9jTQaMEOrEAEP> znEl2TYm4KThLqDraW#h@ZArl||Mr$`V)dBCw&I+RC$Gr~Jj~l3jKBE6Y8KcaIB>T6 zU%Pb(t1oJt0fx`Vsk^Vl43g%SXJL_MTaWxBTnhVROEw#O;BB*yfBqaS3s{_$-*;Mm z1h=sPJkiIG??>M)B#X#mVxbLuu#eWWKw?213u^g4_6d=G40lKG{A8Qob(@h|(8U(I z7+t)WE zX&r*=G^54siZ|VE%r;CaLSsV}hLF&)AsZ3r0-e8BX}A++9y(>hG3_pKk1~BO9r& zyO#JW1Yf`Wxbhv-YS-&YLnb=RLm0za2>4k9=vfTdv5f0W-Y-JwO2479-7xG*3C~jE9iKvi zxJS`}*1CR!N#DKUxr&KB+=|&>%n=c0fJxzd)OaPau!coEpI&1a&mg2qkWLp?r&s5F zL#uMSD@m0)!H~>9(;ul)u419}C;dBdLq9daI9)kwPOmn^MJn;uisQC`R>F&?%>Y0v z|M38gfw+&6OIj7yL$+U>USmoH^y>9SOO@Uzaj!PxD^exAce?tqzf2pcedVPYEXd^K zUtzD~{xh`Lx02L4AT8$b(g4zm9wl>mC6xb>Ouc{G_=xKq{m{^m|#Lt zG$6<2^u>`XN2L=KW}>%IzLyo~R1;(qyRkQ-%WbsY_|~$sjMBdK(pf-v-CIk~0?=#U zDmqJQu@-4KYKk*;I9>4|vHGI>n4+?Mt+z20$SOe|s6)bNw)RHvT385X*#fQUO2FIL z66H$6CUpoyrwPgT_^Q-<4N0-l3COc5Vc9UZlG8Xn_vQ5V>4U>Xvn#b4XJs5rE-GPH zk%X*q$Kg@Zh&GS}?wWoY$5nh{i>g~&IgJDU@(!vXv%NT2s|L|}T%(L`fZt)!MO{HD zIyA4>0~X0-y4^l?=IK~SxDqbK(>?ttn~pOUtyVAQ^l8k%Zu+IW+`WOq_Zni|Qc7={Wktjz>+1S=aCW08){R@s-} zAQcj~^Hb%NSn=RbS6MTg=7Bl{Oh!43Ubx!tRC{EfbdG^p0GDk&zIs|q>K%-Hcqk|a z<3;?vy&fbN?ir8^B^8NSAHO82z5rj)k9*dss4p5IuR#399_lee`9{LkluRds!A@o^ zV{zbG1}%G7DXGHq=UB@)#GXGF8>60B`%tY|>67_|DjOJ~u-`1)t**{Z>F}&&K?#Ee zojsB^Yl=a(@N{q2m zaMbTmo9EA2W3O1NHnN(57KmetzgW9<&s%p~@?Cy=?e(DH_hY9mY5)Dvr~bD6ok@#V z2=9E=pTFvzMW)hs-~H&Pm9yU!{$BQNNgxoI7=wTa*5e{AjbeXzc2JMawsW8iIem&~ z`_FF|{EF>sdWNgyOzAw)*yBjNUB|zEK^6#1Nr{W-zJ7 zTyPREdD_foCv0;`vwlRg{eSh@rQ=I*?7RmA>orjKKX*vk4LHsYX?UQTs(xl+nr%!aHH^>VODrD`YU7e%?m^SE+(w8Av6?PZ$Z{Yp@al>(YaUMI`34e|A3fd$do-c0}?pJo(t7q}6SR=zcM%0c&ikE)yfwh^dK)2w$W{ZPgTe z-NA_OMX#u6+Djcv?M1?cy^X(YZG5U#IDHVhR>Dt)=O^($8_JYZpf}k??u8ToL6^RR znga8kOLMSkHGasIh=dN)HRCFgpM5pgHp|#LYg(&bgkDsDaN!W^bx;6W$RuXA^ zwiR1oz|W~PLZ$$m(&*H(H2&R7@RAsrLZ@U+0}7E7jxPIgb5<+Km_J{aK{Bjl285}M z8SJkxgU-mBri+jn&Q|!LlkP5x5A`Jmhwa^gtu2>`sbW4oMWzO!{gir%PR-AlZpzOn z%McBBQ`7vQF1MAK#8N|?G(*Ony_-(ehv7zmPR%VLQ$=dh=h{r2@@l3M*ClbmBSyL_ zD_)&0mrOU^pP}3q>1TI_)X~@Dn=bosr#gS-C4A zBbb)`k4vhqXj)EiLebr3no$%C#uce(6)w{XGm5U086uJw#j_7CCSliq6WS^BNWUrNU zIgVEtyHCV8?+vosexh(sPPYP?t9uu@-P;}1>3Iu$4eYh-CVT0=K91}gZ4zrvuM!`* zU0q1`1UvXWmyAe+Ea^VWuDnC5*Vs#4QtQ;{jcb=qAK%;dW&Qd$U(CJV7^N9{jE;7u zE`tfbC+Lj%^Rp6lCvexTw{+_R?bMW2(mP+dPL4Z`mTp&EW7iYai;q4-E3lOYKTG z-Gy9~y^%DG$&~surTzau@0x$h+x@@iJxVgX`M$hX4Hji??=l8&b20^jA81=^Fxlb8 z5!`D_gHzA*V!c<})R>z`kgByE=|GpUS49@~u#onWG}=d|I6d6@6tx582wFYmNcxlq*)N>NMpIRDaoU` zFa z4)Ki_ZCA`dd}|W_D!gAML2Wdgq|Ztbk&8=Tk*k^Shr_{VT16+ex=j>%ptaKepAJJ#t$mq06|7OfYin!E&SoJvqSVc6YxJ) zU{gk>3%=I?peds#!;8`eo1uO-7=-ZmC_GUK`(;UDHa{nD^7{|U(RWqACmggZtud3k z8ZKrG<>8X5L-LKUp2mECt1n;dKf9^%)1jJg8zzK1 z4zKI{WI(S!GP1U0uk!tVz5X({@8E%5dv(|`pwC&2E?H=acoz-6EQ2$o-M=)C&Z9+e5!ZLsXwN2x9 zUtM-V%g#Pg$Km+mcpFStl3UYkU&|reHmL#w^6P6{*IYizMYYjKwyWytZmIL|j<2^z zzllcw0drAhk1#MSM22y6N}Ir66)wt{)DSac(NDKF=7W=}W57_sula|Dn9ez3d1kQERwvTm*V}^5#n*FgxuD_%enN>^!vx;dQwTfZ)!>yxMF}5ZC7V|Z} zVVI8_34a%a>XR!TzS#Q1%{j{3HcbLf98+HBUDt(kH@L3<%eW%^o-$3UwVC^ES8apL zr~j~2Zkx?9=RA>gnhsJ>DB6A-Jm)u@hLfo0;9C8;aH+ELIjI_hV_LLo)Ewf-&gpbI z$;7c&=&syWHM3~M)v9(N%vO&gd|ufi>6MdA$p#CIwhqk5-W;}i9~32>?H>cez;%p2 zjC5`q5BzE8bSc61M_1hR9|?ma^iHXU;exF^T&rq@L&NfFIJbH{W?v!w!S-JqsDXW^ zlo+&!Y^xa+z(EA;Q1a=KC&6Lhp0e#R`e^r@$Rl`qR21RXD)es(^41)4pGLWEMQ~++ zsbq_v0nzj(e!!LVA@sUs4a${-=r9x>B#q7Wi=jkmjFMtYkUX}v90$8iNo(t6FnpSS z^J-8Cm)fRt97cqfhWX?XxTn7;F1w+X#vzF}9lC(PerO-rcEcxIg{tow0$ZFN?Nuhq zM-apR*9iSFt{#n3z1Yq_I1(;bl49EXrmg+_wh@5CU-_Er@_O5EypQ@GL2~}_t59~| zV*5F~U+Umc7alq12ru6-Th*&@m38?!sa|;fYB;K-#wdw?z?HxTL7SFUin@rxyz6F0 zU-|A4>%UGTSoRQSMw{QbZni(@x7s>(KA_gO!_CMR#V>T+fOplXhTJb2ho6^VpFJ$# z%!bBihBrSu-0E0mCseVzt_q$2^}hk2*2GW>2yzhHQU^(=xcJyDA1>hQG8- zfR%^2QF|w(EW)Jd%!s_3jVG?}AtP!w)49HR-k)WPWUgbL{bxy50u8)eXz~8X4O^ld zAU_tCj2smH;~IbbMn7KwUyo6~bjbdIG`-Z+d#Lm(^ij7(y$=Yl!<7o-k@^gFUX)>o z-mfJ5aZdT8 (stream self.blocks) + (: :concat (one block)) + (: :tolist)))) + :lookup + (fn [self name] + (-> (stream self.blocks) + (: :reverse) + (: :map + (fn [block] + (let [symbol (. block.symbols name)] + (match (type symbol) + "number" (. block.code symbol) + "table" symbol + _ nil)))) + (: :filter (fn [symbol] symbol)) + (: :first))) + :lookup-block + (fn [self name] + (if + (-> (stream self.blocks) + (: :skip 1) + (: :filter (fn [block] (. block.symbols name))) + (: :next)) + (. self.blocks 2) + (. (. self.blocks 1) name))) + :is-zp? (fn [self name] (< (. (self:lookup-block name) :org) 0x100))}) + +(fn op-stream [env block] + (-> (stream block.code) + (: :map + (fn [op] + (if (= op.opcode :block) + (: (one op env) + :concat (op-stream (env:push op) op)) + (one op env)))) + (: :flatten))) + +(fn int8-to-bytes [i] + (string.char (bit.band i 0xff))) +(fn int16-to-bytes [i] + (string.char (bit.band i 0xff) (bit.band (bit.rshift i 8) 0xff))) + +(fn program [] + {:symbols {} + :start-symbol :main + :add (fn [self name elem] (tset self.symbols name elem)) + :block (fn [self name org ...] (self:add name (block org ...))) + :db (fn [self name org init] (self:add name (db org init))) + :dw (fn [self name org init] (self:add name (dw org init))) + :allot (fn [self name org size] (self:add name (allot org size))) + :op-stream + (fn [self block] (op-stream (make-env [self block]) block)) + :patch-addr-modes + (fn [self] + (each [name block (pairs self.symbols)] + (each [op env (: (self:op-stream block) :iter)] + (when (and op.mode (= (op.mode:sub 1 4) :addr)) + (let [zp-mode (.. :zp (op.mode:sub 5)) + abs-mode (.. :abs (op.mode:sub 5)) + is-zp (and ((. opcodes op.opcode) zp-mode) (env:is-zp? op.arg))] + (set op.mode (if is-zp zp-mode abs-mode))))))) + :allocate + (fn [self org size org-addr] + (var addr (. org-addr org)) + (when (= nil addr) + (tset org-addr org org) + (set addr org)) + (tset org-addr org (+ addr size)) + addr) + :allocate-var-block + (fn [self block org-addr] + (set block.addr (self:allocate block.org block.size org-addr))) + :allocate-code-block + (fn [self block org-addr] + (set block.addr (self:allocate block.org 0 org-addr)) + (each [op env (: (self:op-stream block) :iter)] + (set op.addr (self:allocate block.org (opsize op) org-addr)))) + :allocate-addresses + (fn [self] + (let [org-addr {}] + (each [name block (pairs self.symbols)] + (match block.type + :var (self:allocate-var-block block org-addr) + :code (self:allocate-code-block block org-addr))))) + :generate-var-block + (fn [self block] + (match block.size + 1 (int8-to-bytes (or block.init 0)) + 2 (int16-to-bytes (or block.init 0)) + n (string.rep "\0" n))) + :lookup-addr + (fn [self sym env] + (local op (env:lookup sym)) + (if op + op.addr + (tonumber sym))) + :generate-op-arg + (fn [self op env] + (if + (= op.mode :imm) (int8-to-bytes op.arg) + (= op.mode :rel) + (int8-to-bytes (- (self:lookup-addr op.arg env) (+ op.addr 2))) + (= (size op.mode) 2) (int8-to-bytes (self:lookup-addr op.arg env)) + (= (size op.mode) 3) (int16-to-bytes (self:lookup-addr op.arg env)) + "")) + :generate-op + (fn [self op env] + (let [bytegen (. opcodes op.opcode)] + (if bytegen + (.. (int8-to-bytes (bytegen op.mode)) (self:generate-op-arg op env)) + ""))) + :generate-code-block + (fn [self block] + (var bytes "") + (each [op env (: (self:op-stream block) :iter)] + (set bytes (.. bytes (self:generate-op op env)))) + (set block.bytes bytes)) + :generate-bytes + (fn [self] + (each [name block (pairs self.symbols)] + (match block.type + :var (self:generate-var-block block) + :code (self:generate-code-block block)))) + :assemble + (fn [self] + (self:patch-addr-modes) + (self:allocate-addresses) + (self:generate-bytes))}) + +program \ No newline at end of file diff --git a/conf.lua b/conf.lua new file mode 100644 index 0000000..d8ef236 --- /dev/null +++ b/conf.lua @@ -0,0 +1,5 @@ +function love.conf(t) + t.window.width = 1280 + t.window.height = 1000 + t.window.resizable = true +end diff --git a/data b/data new file mode 120000 index 0000000..14e6b7a --- /dev/null +++ b/data @@ -0,0 +1 @@ +../lite/data/ \ No newline at end of file diff --git a/dkjson.lua b/dkjson.lua new file mode 100644 index 0000000..fa50b9f --- /dev/null +++ b/dkjson.lua @@ -0,0 +1,714 @@ +-- Module options: +local always_try_using_lpeg = true +local register_global_module_table = false +local global_module_name = 'json' + +--[==[ + +David Kolf's JSON module for Lua 5.1/5.2 + +Version 2.5 + + +For the documentation see the corresponding readme.txt or visit +. + +You can contact the author by sending an e-mail to 'david' at the +domain 'dkolf.de'. + + +Copyright (C) 2010-2013 David Heiko Kolf + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--]==] + +-- global dependencies: +local pairs, type, tostring, tonumber, getmetatable, setmetatable, rawset = + pairs, type, tostring, tonumber, getmetatable, setmetatable, rawset +local error, require, pcall, select = error, require, pcall, select +local floor, huge = math.floor, math.huge +local strrep, gsub, strsub, strbyte, strchar, strfind, strlen, strformat = + string.rep, string.gsub, string.sub, string.byte, string.char, + string.find, string.len, string.format +local strmatch = string.match +local concat = table.concat + +local json = { version = "dkjson 2.5" } + +if register_global_module_table then + _G[global_module_name] = json +end + +local _ENV = nil -- blocking globals in Lua 5.2 + +pcall (function() + -- Enable access to blocked metatables. + -- Don't worry, this module doesn't change anything in them. + local debmeta = require "debug".getmetatable + if debmeta then getmetatable = debmeta end +end) + +json.null = setmetatable ({}, { + __tojson = function () return "null" end +}) + +local function isarray (tbl) + local max, n, arraylen = 0, 0, 0 + for k,v in pairs (tbl) do + if k == 'n' and type(v) == 'number' then + arraylen = v + if v > max then + max = v + end + else + if type(k) ~= 'number' or k < 1 or floor(k) ~= k then + return false + end + if k > max then + max = k + end + n = n + 1 + end + end + if max > 10 and max > arraylen and max > n * 2 then + return false -- don't create an array with too many holes + end + return true, max +end + +local escapecodes = { + ["\""] = "\\\"", ["\\"] = "\\\\", ["\b"] = "\\b", ["\f"] = "\\f", + ["\n"] = "\\n", ["\r"] = "\\r", ["\t"] = "\\t" +} + +local function escapeutf8 (uchar) + local value = escapecodes[uchar] + if value then + return value + end + local a, b, c, d = strbyte (uchar, 1, 4) + a, b, c, d = a or 0, b or 0, c or 0, d or 0 + if a <= 0x7f then + value = a + elseif 0xc0 <= a and a <= 0xdf and b >= 0x80 then + value = (a - 0xc0) * 0x40 + b - 0x80 + elseif 0xe0 <= a and a <= 0xef and b >= 0x80 and c >= 0x80 then + value = ((a - 0xe0) * 0x40 + b - 0x80) * 0x40 + c - 0x80 + elseif 0xf0 <= a and a <= 0xf7 and b >= 0x80 and c >= 0x80 and d >= 0x80 then + value = (((a - 0xf0) * 0x40 + b - 0x80) * 0x40 + c - 0x80) * 0x40 + d - 0x80 + else + return "" + end + if value <= 0xffff then + return strformat ("\\u%.4x", value) + elseif value <= 0x10ffff then + -- encode as UTF-16 surrogate pair + value = value - 0x10000 + local highsur, lowsur = 0xD800 + floor (value/0x400), 0xDC00 + (value % 0x400) + return strformat ("\\u%.4x\\u%.4x", highsur, lowsur) + else + return "" + end +end + +local function fsub (str, pattern, repl) + -- gsub always builds a new string in a buffer, even when no match + -- exists. First using find should be more efficient when most strings + -- don't contain the pattern. + if strfind (str, pattern) then + return gsub (str, pattern, repl) + else + return str + end +end + +local function quotestring (value) + -- based on the regexp "escapable" in https://github.com/douglascrockford/JSON-js + value = fsub (value, "[%z\1-\31\"\\\127]", escapeutf8) + if strfind (value, "[\194\216\220\225\226\239]") then + value = fsub (value, "\194[\128-\159\173]", escapeutf8) + value = fsub (value, "\216[\128-\132]", escapeutf8) + value = fsub (value, "\220\143", escapeutf8) + value = fsub (value, "\225\158[\180\181]", escapeutf8) + value = fsub (value, "\226\128[\140-\143\168-\175]", escapeutf8) + value = fsub (value, "\226\129[\160-\175]", escapeutf8) + value = fsub (value, "\239\187\191", escapeutf8) + value = fsub (value, "\239\191[\176-\191]", escapeutf8) + end + return "\"" .. value .. "\"" +end +json.quotestring = quotestring + +local function replace(str, o, n) + local i, j = strfind (str, o, 1, true) + if i then + return strsub(str, 1, i-1) .. n .. strsub(str, j+1, -1) + else + return str + end +end + +-- locale independent num2str and str2num functions +local decpoint, numfilter + +local function updatedecpoint () + decpoint = strmatch(tostring(0.5), "([^05+])") + -- build a filter that can be used to remove group separators + numfilter = "[^0-9%-%+eE" .. gsub(decpoint, "[%^%$%(%)%%%.%[%]%*%+%-%?]", "%%%0") .. "]+" +end + +updatedecpoint() + +local function num2str (num) + return replace(fsub(tostring(num), numfilter, ""), decpoint, ".") +end + +local function str2num (str) + local num = tonumber(replace(str, ".", decpoint)) + if not num then + updatedecpoint() + num = tonumber(replace(str, ".", decpoint)) + end + return num +end + +local function addnewline2 (level, buffer, buflen) + buffer[buflen+1] = "\n" + buffer[buflen+2] = strrep (" ", level) + buflen = buflen + 2 + return buflen +end + +function json.addnewline (state) + if state.indent then + state.bufferlen = addnewline2 (state.level or 0, + state.buffer, state.bufferlen or #(state.buffer)) + end +end + +local encode2 -- forward declaration + +local function addpair (key, value, prev, indent, level, buffer, buflen, tables, globalorder, state) + local kt = type (key) + if kt ~= 'string' and kt ~= 'number' then + return nil, "type '" .. kt .. "' is not supported as a key by JSON." + end + if prev then + buflen = buflen + 1 + buffer[buflen] = "," + end + if indent then + buflen = addnewline2 (level, buffer, buflen) + end + buffer[buflen+1] = quotestring (key) + buffer[buflen+2] = ":" + return encode2 (value, indent, level, buffer, buflen + 2, tables, globalorder, state) +end + +local function appendcustom(res, buffer, state) + local buflen = state.bufferlen + if type (res) == 'string' then + buflen = buflen + 1 + buffer[buflen] = res + end + return buflen +end + +local function exception(reason, value, state, buffer, buflen, defaultmessage) + defaultmessage = defaultmessage or reason + local handler = state.exception + if not handler then + return nil, defaultmessage + else + state.bufferlen = buflen + local ret, msg = handler (reason, value, state, defaultmessage) + if not ret then return nil, msg or defaultmessage end + return appendcustom(ret, buffer, state) + end +end + +function json.encodeexception(reason, value, state, defaultmessage) + return quotestring("<" .. defaultmessage .. ">") +end + +encode2 = function (value, indent, level, buffer, buflen, tables, globalorder, state) + local valtype = type (value) + local valmeta = getmetatable (value) + valmeta = type (valmeta) == 'table' and valmeta -- only tables + local valtojson = valmeta and valmeta.__tojson + if valtojson then + if tables[value] then + return exception('reference cycle', value, state, buffer, buflen) + end + tables[value] = true + state.bufferlen = buflen + local ret, msg = valtojson (value, state) + if not ret then return exception('custom encoder failed', value, state, buffer, buflen, msg) end + tables[value] = nil + buflen = appendcustom(ret, buffer, state) + elseif value == nil then + buflen = buflen + 1 + buffer[buflen] = "null" + elseif valtype == 'number' then + local s + if value ~= value or value >= huge or -value >= huge then + -- This is the behaviour of the original JSON implementation. + s = "null" + else + s = num2str (value) + end + buflen = buflen + 1 + buffer[buflen] = s + elseif valtype == 'boolean' then + buflen = buflen + 1 + buffer[buflen] = value and "true" or "false" + elseif valtype == 'string' then + buflen = buflen + 1 + buffer[buflen] = quotestring (value) + elseif valtype == 'table' then + if tables[value] then + return exception('reference cycle', value, state, buffer, buflen) + end + tables[value] = true + level = level + 1 + local isa, n = isarray (value) + if n == 0 and valmeta and valmeta.__jsontype == 'object' then + isa = false + end + local msg + if isa then -- JSON array + buflen = buflen + 1 + buffer[buflen] = "[" + for i = 1, n do + buflen, msg = encode2 (value[i], indent, level, buffer, buflen, tables, globalorder, state) + if not buflen then return nil, msg end + if i < n then + buflen = buflen + 1 + buffer[buflen] = "," + end + end + buflen = buflen + 1 + buffer[buflen] = "]" + else -- JSON object + local prev = false + buflen = buflen + 1 + buffer[buflen] = "{" + local order = valmeta and valmeta.__jsonorder or globalorder + if order then + local used = {} + n = #order + for i = 1, n do + local k = order[i] + local v = value[k] + if v then + used[k] = true + buflen, msg = addpair (k, v, prev, indent, level, buffer, buflen, tables, globalorder, state) + prev = true -- add a seperator before the next element + end + end + for k,v in pairs (value) do + if not used[k] then + buflen, msg = addpair (k, v, prev, indent, level, buffer, buflen, tables, globalorder, state) + if not buflen then return nil, msg end + prev = true -- add a seperator before the next element + end + end + else -- unordered + for k,v in pairs (value) do + buflen, msg = addpair (k, v, prev, indent, level, buffer, buflen, tables, globalorder, state) + if not buflen then return nil, msg end + prev = true -- add a seperator before the next element + end + end + if indent then + buflen = addnewline2 (level - 1, buffer, buflen) + end + buflen = buflen + 1 + buffer[buflen] = "}" + end + tables[value] = nil + else + return exception ('unsupported type', value, state, buffer, buflen, + "type '" .. valtype .. "' is not supported by JSON.") + end + return buflen +end + +function json.encode (value, state) + state = state or {} + local oldbuffer = state.buffer + local buffer = oldbuffer or {} + state.buffer = buffer + updatedecpoint() + local ret, msg = encode2 (value, state.indent, state.level or 0, + buffer, state.bufferlen or 0, state.tables or {}, state.keyorder, state) + if not ret then + error (msg, 2) + elseif oldbuffer == buffer then + state.bufferlen = ret + return true + else + state.bufferlen = nil + state.buffer = nil + return concat (buffer) + end +end + +local function loc (str, where) + local line, pos, linepos = 1, 1, 0 + while true do + pos = strfind (str, "\n", pos, true) + if pos and pos < where then + line = line + 1 + linepos = pos + pos = pos + 1 + else + break + end + end + return "line " .. line .. ", column " .. (where - linepos) +end + +local function unterminated (str, what, where) + return nil, strlen (str) + 1, "unterminated " .. what .. " at " .. loc (str, where) +end + +local function scanwhite (str, pos) + while true do + pos = strfind (str, "%S", pos) + if not pos then return nil end + local sub2 = strsub (str, pos, pos + 1) + if sub2 == "\239\187" and strsub (str, pos + 2, pos + 2) == "\191" then + -- UTF-8 Byte Order Mark + pos = pos + 3 + elseif sub2 == "//" then + pos = strfind (str, "[\n\r]", pos + 2) + if not pos then return nil end + elseif sub2 == "/*" then + pos = strfind (str, "*/", pos + 2) + if not pos then return nil end + pos = pos + 2 + else + return pos + end + end +end + +local escapechars = { + ["\""] = "\"", ["\\"] = "\\", ["/"] = "/", ["b"] = "\b", ["f"] = "\f", + ["n"] = "\n", ["r"] = "\r", ["t"] = "\t" +} + +local function unichar (value) + if value < 0 then + return nil + elseif value <= 0x007f then + return strchar (value) + elseif value <= 0x07ff then + return strchar (0xc0 + floor(value/0x40), + 0x80 + (floor(value) % 0x40)) + elseif value <= 0xffff then + return strchar (0xe0 + floor(value/0x1000), + 0x80 + (floor(value/0x40) % 0x40), + 0x80 + (floor(value) % 0x40)) + elseif value <= 0x10ffff then + return strchar (0xf0 + floor(value/0x40000), + 0x80 + (floor(value/0x1000) % 0x40), + 0x80 + (floor(value/0x40) % 0x40), + 0x80 + (floor(value) % 0x40)) + else + return nil + end +end + +local function scanstring (str, pos) + local lastpos = pos + 1 + local buffer, n = {}, 0 + while true do + local nextpos = strfind (str, "[\"\\]", lastpos) + if not nextpos then + return unterminated (str, "string", pos) + end + if nextpos > lastpos then + n = n + 1 + buffer[n] = strsub (str, lastpos, nextpos - 1) + end + if strsub (str, nextpos, nextpos) == "\"" then + lastpos = nextpos + 1 + break + else + local escchar = strsub (str, nextpos + 1, nextpos + 1) + local value + if escchar == "u" then + value = tonumber (strsub (str, nextpos + 2, nextpos + 5), 16) + if value then + local value2 + if 0xD800 <= value and value <= 0xDBff then + -- we have the high surrogate of UTF-16. Check if there is a + -- low surrogate escaped nearby to combine them. + if strsub (str, nextpos + 6, nextpos + 7) == "\\u" then + value2 = tonumber (strsub (str, nextpos + 8, nextpos + 11), 16) + if value2 and 0xDC00 <= value2 and value2 <= 0xDFFF then + value = (value - 0xD800) * 0x400 + (value2 - 0xDC00) + 0x10000 + else + value2 = nil -- in case it was out of range for a low surrogate + end + end + end + value = value and unichar (value) + if value then + if value2 then + lastpos = nextpos + 12 + else + lastpos = nextpos + 6 + end + end + end + end + if not value then + value = escapechars[escchar] or escchar + lastpos = nextpos + 2 + end + n = n + 1 + buffer[n] = value + end + end + if n == 1 then + return buffer[1], lastpos + elseif n > 1 then + return concat (buffer), lastpos + else + return "", lastpos + end +end + +local scanvalue -- forward declaration + +local function scantable (what, closechar, str, startpos, nullval, objectmeta, arraymeta) + local len = strlen (str) + local tbl, n = {}, 0 + local pos = startpos + 1 + if what == 'object' then + setmetatable (tbl, objectmeta) + else + setmetatable (tbl, arraymeta) + end + while true do + pos = scanwhite (str, pos) + if not pos then return unterminated (str, what, startpos) end + local char = strsub (str, pos, pos) + if char == closechar then + return tbl, pos + 1 + end + local val1, err + val1, pos, err = scanvalue (str, pos, nullval, objectmeta, arraymeta) + if err then return nil, pos, err end + pos = scanwhite (str, pos) + if not pos then return unterminated (str, what, startpos) end + char = strsub (str, pos, pos) + if char == ":" then + if val1 == nil then + return nil, pos, "cannot use nil as table index (at " .. loc (str, pos) .. ")" + end + pos = scanwhite (str, pos + 1) + if not pos then return unterminated (str, what, startpos) end + local val2 + val2, pos, err = scanvalue (str, pos, nullval, objectmeta, arraymeta) + if err then return nil, pos, err end + tbl[val1] = val2 + pos = scanwhite (str, pos) + if not pos then return unterminated (str, what, startpos) end + char = strsub (str, pos, pos) + else + n = n + 1 + tbl[n] = val1 + end + if char == "," then + pos = pos + 1 + end + end +end + +scanvalue = function (str, pos, nullval, objectmeta, arraymeta) + pos = pos or 1 + pos = scanwhite (str, pos) + if not pos then + return nil, strlen (str) + 1, "no valid JSON value (reached the end)" + end + local char = strsub (str, pos, pos) + if char == "{" then + return scantable ('object', "}", str, pos, nullval, objectmeta, arraymeta) + elseif char == "[" then + return scantable ('array', "]", str, pos, nullval, objectmeta, arraymeta) + elseif char == "\"" then + return scanstring (str, pos) + else + local pstart, pend = strfind (str, "^%-?[%d%.]+[eE]?[%+%-]?%d*", pos) + if pstart then + local number = str2num (strsub (str, pstart, pend)) + if number then + return number, pend + 1 + end + end + pstart, pend = strfind (str, "^%a%w*", pos) + if pstart then + local name = strsub (str, pstart, pend) + if name == "true" then + return true, pend + 1 + elseif name == "false" then + return false, pend + 1 + elseif name == "null" then + return nullval, pend + 1 + end + end + return nil, pos, "no valid JSON value at " .. loc (str, pos) + end +end + +local function optionalmetatables(...) + if select("#", ...) > 0 then + return ... + else + return {__jsontype = 'object'}, {__jsontype = 'array'} + end +end + +function json.decode (str, pos, nullval, ...) + local objectmeta, arraymeta = optionalmetatables(...) + return scanvalue (str, pos, nullval, objectmeta, arraymeta) +end + +function json.use_lpeg () + local g = require ("lpeg") + + if g.version() == "0.11" then + error "due to a bug in LPeg 0.11, it cannot be used for JSON matching" + end + + local pegmatch = g.match + local P, S, R = g.P, g.S, g.R + + local function ErrorCall (str, pos, msg, state) + if not state.msg then + state.msg = msg .. " at " .. loc (str, pos) + state.pos = pos + end + return false + end + + local function Err (msg) + return g.Cmt (g.Cc (msg) * g.Carg (2), ErrorCall) + end + + local SingleLineComment = P"//" * (1 - S"\n\r")^0 + local MultiLineComment = P"/*" * (1 - P"*/")^0 * P"*/" + local Space = (S" \n\r\t" + P"\239\187\191" + SingleLineComment + MultiLineComment)^0 + + local PlainChar = 1 - S"\"\\\n\r" + local EscapeSequence = (P"\\" * g.C (S"\"\\/bfnrt" + Err "unsupported escape sequence")) / escapechars + local HexDigit = R("09", "af", "AF") + local function UTF16Surrogate (match, pos, high, low) + high, low = tonumber (high, 16), tonumber (low, 16) + if 0xD800 <= high and high <= 0xDBff and 0xDC00 <= low and low <= 0xDFFF then + return true, unichar ((high - 0xD800) * 0x400 + (low - 0xDC00) + 0x10000) + else + return false + end + end + local function UTF16BMP (hex) + return unichar (tonumber (hex, 16)) + end + local U16Sequence = (P"\\u" * g.C (HexDigit * HexDigit * HexDigit * HexDigit)) + local UnicodeEscape = g.Cmt (U16Sequence * U16Sequence, UTF16Surrogate) + U16Sequence/UTF16BMP + local Char = UnicodeEscape + EscapeSequence + PlainChar + local String = P"\"" * g.Cs (Char ^ 0) * (P"\"" + Err "unterminated string") + local Integer = P"-"^(-1) * (P"0" + (R"19" * R"09"^0)) + local Fractal = P"." * R"09"^0 + local Exponent = (S"eE") * (S"+-")^(-1) * R"09"^1 + local Number = (Integer * Fractal^(-1) * Exponent^(-1))/str2num + local Constant = P"true" * g.Cc (true) + P"false" * g.Cc (false) + P"null" * g.Carg (1) + local SimpleValue = Number + String + Constant + local ArrayContent, ObjectContent + + -- The functions parsearray and parseobject parse only a single value/pair + -- at a time and store them directly to avoid hitting the LPeg limits. + local function parsearray (str, pos, nullval, state) + local obj, cont + local npos + local t, nt = {}, 0 + repeat + obj, cont, npos = pegmatch (ArrayContent, str, pos, nullval, state) + if not npos then break end + pos = npos + nt = nt + 1 + t[nt] = obj + until cont == 'last' + return pos, setmetatable (t, state.arraymeta) + end + + local function parseobject (str, pos, nullval, state) + local obj, key, cont + local npos + local t = {} + repeat + key, obj, cont, npos = pegmatch (ObjectContent, str, pos, nullval, state) + if not npos then break end + pos = npos + t[key] = obj + until cont == 'last' + return pos, setmetatable (t, state.objectmeta) + end + + local Array = P"[" * g.Cmt (g.Carg(1) * g.Carg(2), parsearray) * Space * (P"]" + Err "']' expected") + local Object = P"{" * g.Cmt (g.Carg(1) * g.Carg(2), parseobject) * Space * (P"}" + Err "'}' expected") + local Value = Space * (Array + Object + SimpleValue) + local ExpectedValue = Value + Space * Err "value expected" + ArrayContent = Value * Space * (P"," * g.Cc'cont' + g.Cc'last') * g.Cp() + local Pair = g.Cg (Space * String * Space * (P":" + Err "colon expected") * ExpectedValue) + ObjectContent = Pair * Space * (P"," * g.Cc'cont' + g.Cc'last') * g.Cp() + local DecodeValue = ExpectedValue * g.Cp () + + function json.decode (str, pos, nullval, ...) + local state = {} + state.objectmeta, state.arraymeta = optionalmetatables(...) + local obj, retpos = pegmatch (DecodeValue, str, pos, nullval, state) + if state.msg then + return nil, state.pos, state.msg + else + return obj, retpos + end + end + + -- use this function only once: + json.use_lpeg = function () return json end + + json.using_lpeg = true + + return json -- so you can get the module using json = require "dkjson".use_lpeg() +end + +if always_try_using_lpeg then + pcall (json.use_lpeg) +end + +return json + diff --git a/imgui.so b/imgui.so new file mode 100755 index 0000000000000000000000000000000000000000..53ce050fbb4afa5374a3985b9259f4fedb0cb94b GIT binary patch literal 795368 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

dxk~(v3|II3DdND!hW1^+qY2F|jtbJ5v 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∈^K&QmVM3w{aC2P-=#VWXE)y_Jn`F2}a2 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

(b&KIJ^wNAiz>(lY&S;?6ml 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 literal 0 HcmV?d00001 diff --git a/lib/fennel.lua b/lib/fennel.lua new file mode 100644 index 0000000..1299f0e --- /dev/null +++ b/lib/fennel.lua @@ -0,0 +1,3011 @@ +package.preload["fennel.repl"] = package.preload["fennel.repl"] or function(...) + local utils = require("fennel.utils") + local parser = require("fennel.parser") + local compiler = require("fennel.compiler") + local specials = require("fennel.specials") + local function default_read_chunk(parser_state) + local function _0_() + if (0 < parser_state["stack-size"]) then + return ".." + else + return ">> " + end + end + io.write(_0_()) + io.flush() + local input = io.read() + return (input and (input .. "\n")) + end + local function default_on_values(xs) + io.write(table.concat(xs, "\9")) + return io.write("\n") + end + local function default_on_error(errtype, err, lua_source) + local function _1_() + local _0_0 = errtype + if (_0_0 == "Lua Compile") then + return ("Bad code generated - likely a bug with the compiler:\n" .. "--- Generated Lua Start ---\n" .. lua_source .. "--- Generated Lua End ---\n") + elseif (_0_0 == "Runtime") then + return (compiler.traceback(err, 4) .. "\n") + else + local _ = _0_0 + return ("%s error: %s\n"):format(errtype, tostring(err)) + end + end + return io.write(_1_()) + end + local save_source = table.concat({"local ___i___ = 1", "while true do", " local name, value = debug.getlocal(1, ___i___)", " if(name and name ~= \"___i___\") then", " ___replLocals___[name] = value", " ___i___ = ___i___ + 1", " else break end end"}, "\n") + local function splice_save_locals(env, lua_source) + env.___replLocals___ = (env.___replLocals___ or {}) + local spliced_source = {} + local bind = "local %s = ___replLocals___['%s']" + for line in lua_source:gmatch("([^\n]+)\n?") do + table.insert(spliced_source, line) + end + for name in pairs(env.___replLocals___) do + table.insert(spliced_source, 1, bind:format(name, name)) + end + if ((1 < #spliced_source) and (spliced_source[#spliced_source]):match("^ *return .*$")) then + table.insert(spliced_source, #spliced_source, save_source) + end + return table.concat(spliced_source, "\n") + end + local function completer(env, scope, text) + local matches = {} + local input_fragment = text:gsub(".*[%s)(]+", "") + local function add_partials(input, tbl, prefix) + for k in utils.allpairs(tbl) do + local k0 = nil + if ((tbl == env) or (tbl == env.___replLocals___)) then + k0 = scope.unmanglings[k] + else + k0 = k + end + if ((#matches < 2000) and (type(k0) == "string") and (input == k0:sub(0, #input))) then + table.insert(matches, (prefix .. k0)) + end + end + return nil + end + local function add_matches(input, tbl, prefix) + local prefix0 = nil + if prefix then + prefix0 = (prefix .. ".") + else + prefix0 = "" + end + if not input:find("%.") then + return add_partials(input, tbl, prefix0) + else + local head, tail = input:match("^([^.]+)%.(.*)") + local raw_head = nil + if ((tbl == env) or (tbl == env.___replLocals___)) then + raw_head = scope.manglings[head] + else + raw_head = head + end + if (type(tbl[raw_head]) == "table") then + return add_matches(tail, tbl[raw_head], (prefix0 .. head)) + end + end + end + add_matches(input_fragment, (scope.specials or {})) + add_matches(input_fragment, (scope.macros or {})) + add_matches(input_fragment, (env.___replLocals___ or {})) + add_matches(input_fragment, env) + add_matches(input_fragment, (env._ENV or env._G or {})) + return matches + end + local function repl(options) + local old_root_options = utils.root.options + local env = nil + if options.env then + env = utils["wrap-env"](options.env) + else + env = setmetatable({}, {__index = (_G._ENV or _G)}) + end + local save_locals_3f = ((options.saveLocals ~= false) and env.debug and env.debug.getlocal) + local opts = {} + local _ = nil + for k, v in pairs(options) do + opts[k] = v + end + _ = nil + local read_chunk = (opts.readChunk or default_read_chunk) + local on_values = (opts.onValues or default_on_values) + local on_error = (opts.onError or default_on_error) + local pp = (opts.pp or tostring) + local byte_stream, clear_stream = parser.granulate(read_chunk) + local chars = {} + local read, reset = nil, nil + local function _1_(parser_state) + local c = byte_stream(parser_state) + chars[(#chars + 1)] = c + return c + end + read, reset = parser.parser(_1_) + local scope = compiler["make-scope"]() + opts.useMetadata = (options.useMetadata ~= false) + if (opts.allowedGlobals == nil) then + opts.allowedGlobals = specials["current-global-names"](opts.env) + end + if opts.registerCompleter then + local function _3_(...) + return completer(env, scope, ...) + end + opts.registerCompleter(_3_) + end + local function loop() + for k in pairs(chars) do + chars[k] = nil + end + local ok, parse_ok_3f, x = pcall(read) + local src_string = string.char((_G.unpack or table.unpack)(chars)) + utils.root.options = opts + if not ok then + on_error("Parse", parse_ok_3f) + clear_stream() + reset() + return loop() + else + if parse_ok_3f then + do + local _4_0, _5_0 = pcall(compiler.compile, x, {["assert-compile"] = opts["assert-compile"], ["parse-error"] = opts["parse-error"], correlate = opts.correlate, moduleName = opts.moduleName, scope = scope, source = src_string, useMetadata = opts.useMetadata}) + if ((_4_0 == false) and (nil ~= _5_0)) then + local msg = _5_0 + clear_stream() + on_error("Compile", msg) + elseif ((_4_0 == true) and (nil ~= _5_0)) then + local source = _5_0 + local source0 = nil + if save_locals_3f then + source0 = splice_save_locals(env, source) + else + source0 = source + end + local lua_ok_3f, loader = pcall(specials["load-code"], source0, env) + if not lua_ok_3f then + clear_stream() + on_error("Lua Compile", loader, source0) + else + local _7_0, _8_0 = nil, nil + local function _9_() + return {loader()} + end + local function _10_(...) + return on_error("Runtime", ...) + end + _7_0, _8_0 = xpcall(_9_, _10_) + if ((_7_0 == true) and (nil ~= _8_0)) then + local ret = _8_0 + env._ = ret[1] + env.__ = ret + on_values(utils.map(ret, pp)) + end + end + end + end + utils.root.options = old_root_options + return loop() + end + end + end + return loop() + end + return repl +end +package.preload["fennel.specials"] = package.preload["fennel.specials"] or function(...) + local utils = require("fennel.utils") + local parser = require("fennel.parser") + local compiler = require("fennel.compiler") + local unpack = (_G.unpack or table.unpack) + local SPECIALS = compiler.scopes.global.specials + local function wrap_env(env) + local function _0_(_, key) + if (type(key) == "string") then + return env[compiler["global-unmangling"](key)] + else + return env[key] + end + end + local function _1_(_, key, value) + if (type(key) == "string") then + env[compiler["global-unmangling"](key)] = value + return nil + else + env[key] = value + return nil + end + end + local function _2_() + local function putenv(k, v) + local _3_ + if (type(k) == "string") then + _3_ = compiler["global-unmangling"](k) + else + _3_ = k + end + return _3_, v + end + return next, utils.kvmap(env, putenv), nil + end + return setmetatable({}, {__index = _0_, __newindex = _1_, __pairs = _2_}) + end + local function current_global_names(env) + return utils.kvmap((env or _G), compiler["global-unmangling"]) + end + local function load_code(code, environment, filename) + local environment0 = ((environment or _ENV) or _G) + if (_G.setfenv and _G.loadstring) then + local f = assert(_G.loadstring(code, filename)) + _G.setfenv(f, environment0) + return f + else + return assert(load(code, filename, "t", environment0)) + end + end + local function doc_2a(tgt, name) + if not tgt then + return (name .. " not found") + else + local docstring = (((compiler.metadata):get(tgt, "fnl/docstring") or "#")):gsub("\n$", ""):gsub("\n", "\n ") + if (type(tgt) == "function") then + local arglist = table.concat(((compiler.metadata):get(tgt, "fnl/arglist") or {"#"}), " ") + local _0_ + if (#arglist > 0) then + _0_ = " " + else + _0_ = "" + end + return string.format("(%s%s%s)\n %s", name, _0_, arglist, docstring) + else + return string.format("%s\n %s", name, docstring) + end + end + end + local function doc_special(name, arglist, docstring) + compiler.metadata[SPECIALS[name]] = {["fnl/arglist"] = arglist, ["fnl/docstring"] = docstring} + return nil + end + local function compile_do(ast, scope, parent, start) + local start0 = (start or 2) + local len = #ast + local sub_scope = compiler["make-scope"](scope) + for i = start0, len do + compiler.compile1(ast[i], sub_scope, parent, {nval = 0}) + end + return nil + end + SPECIALS["do"] = function(ast, scope, parent, opts, start, chunk, sub_scope, pre_syms) + local start0 = (start or 2) + local sub_scope0 = (sub_scope or compiler["make-scope"](scope)) + local chunk0 = (chunk or {}) + local len = #ast + local outer_target = opts.target + local outer_tail = opts.tail + local retexprs = {returned = true} + if (not outer_target and (opts.nval ~= 0) and not outer_tail) then + if opts.nval then + local syms = {} + for i = 1, opts.nval, 1 do + local s = ((pre_syms and pre_syms[i]) or compiler.gensym(scope)) + syms[i] = s + retexprs[i] = utils.expr(s, "sym") + end + outer_target = table.concat(syms, ", ") + compiler.emit(parent, ("local %s"):format(outer_target), ast) + compiler.emit(parent, "do", ast) + else + local fname = compiler.gensym(scope) + local fargs = ((scope.vararg and "...") or "") + compiler.emit(parent, ("local function %s(%s)"):format(fname, fargs), ast) + retexprs = utils.expr((fname .. "(" .. fargs .. ")"), "statement") + outer_tail = true + outer_target = nil + end + else + compiler.emit(parent, "do", ast) + end + if (len < start0) then + compiler.compile1(nil, sub_scope0, chunk0, {tail = outer_tail, target = outer_target}) + else + for i = start0, len do + local subopts = {nval = (((i ~= len) and 0) or opts.nval), tail = (((i == len) and outer_tail) or nil), target = (((i == len) and outer_target) or nil)} + utils["propagate-options"](opts, subopts) + local subexprs = compiler.compile1(ast[i], sub_scope0, chunk0, subopts) + if (i ~= len) then + compiler["keep-side-effects"](subexprs, parent, nil, ast[i]) + end + end + end + compiler.emit(parent, chunk0, ast) + compiler.emit(parent, "end", ast) + return retexprs + end + doc_special("do", {"..."}, "Evaluate multiple forms; return last value.") + SPECIALS.values = function(ast, scope, parent) + local len = #ast + local exprs = {} + for i = 2, len do + local subexprs = compiler.compile1(ast[i], scope, parent, {nval = ((i ~= len) and 1)}) + exprs[(#exprs + 1)] = subexprs[1] + if (i == len) then + for j = 2, #subexprs, 1 do + exprs[(#exprs + 1)] = subexprs[j] + end + end + end + return exprs + end + doc_special("values", {"..."}, "Return multiple values from a function. Must be in tail position.") + SPECIALS.fn = function(ast, scope, parent) + local index, fn_name, is_local_fn, docstring = 2, utils["is-sym"](ast[2]) + local f_scope = nil + do + local _0_0 = compiler["make-scope"](scope) + _0_0["vararg"] = false + f_scope = _0_0 + end + local f_chunk = {} + local multi = (fn_name and utils["is-multi-sym"](fn_name[1])) + compiler.assert((not multi or not multi["multi-sym-method-call"]), ("unexpected multi symbol " .. tostring(fn_name)), ast[index]) + if (fn_name and (fn_name[1] ~= "nil")) then + is_local_fn = not multi + if is_local_fn then + fn_name = compiler["declare-local"](fn_name, {}, scope, ast) + else + fn_name = compiler["symbol-to-expression"](fn_name, scope)[1] + end + index = (index + 1) + else + is_local_fn = true + fn_name = compiler.gensym(scope) + end + do + local arg_list = nil + local function _2_() + if (type(ast[index]) == "table") then + return ast[index] + else + return ast + end + end + arg_list = compiler.assert(utils["is-table"](ast[index]), "expected parameters", _2_()) + local function get_arg_name(i, name) + if utils["is-varg"](name) then + compiler.assert((i == #arg_list), "expected vararg as last parameter", ast[2]) + f_scope.vararg = true + return "..." + elseif (utils["is-sym"](name) and (utils.deref(name) ~= "nil") and not utils["is-multi-sym"](utils.deref(name))) then + return compiler["declare-local"](name, {}, f_scope, ast) + elseif utils["is-table"](name) then + local raw = utils.sym(compiler.gensym(scope)) + local declared = compiler["declare-local"](raw, {}, f_scope, ast) + compiler.destructure(name, raw, ast, f_scope, f_chunk, {declaration = true, nomulti = true}) + return declared + else + return compiler.assert(false, ("expected symbol for function parameter: %s"):format(tostring(name)), ast[2]) + end + end + local arg_name_list = utils.kvmap(arg_list, get_arg_name) + if ((type(ast[(index + 1)]) == "string") and ((index + 1) < #ast)) then + index = (index + 1) + docstring = ast[index] + end + for i = (index + 1), #ast, 1 do + compiler.compile1(ast[i], f_scope, f_chunk, {nval = (((i ~= #ast) and 0) or nil), tail = (i == #ast)}) + end + if is_local_fn then + compiler.emit(parent, ("local function %s(%s)"):format(fn_name, table.concat(arg_name_list, ", ")), ast) + else + compiler.emit(parent, ("%s = function(%s)"):format(fn_name, table.concat(arg_name_list, ", ")), ast) + end + compiler.emit(parent, f_chunk, ast) + compiler.emit(parent, "end", ast) + if utils.root.options.useMetadata then + local args = nil + local function _5_(v) + if utils["is-table"](v) then + return "\"#\"" + else + return ("\"%s\""):format(tostring(v)) + end + end + args = utils.map(arg_list, _5_) + local meta_fields = {"\"fnl/arglist\"", ("{" .. table.concat(args, ", ") .. "}")} + if docstring then + table.insert(meta_fields, "\"fnl/docstring\"") + table.insert(meta_fields, ("\"" .. docstring:gsub("%s+$", ""):gsub("\\", "\\\\"):gsub("\n", "\\n"):gsub("\"", "\\\"") .. "\"")) + end + local meta_str = ("require(\"%s\").metadata"):format((utils.root.options.moduleName or "fennel")) + compiler.emit(parent, ("pcall(function() %s:setall(%s, %s) end)"):format(meta_str, fn_name, table.concat(meta_fields, ", "))) + end + end + return utils.expr(fn_name, "sym") + end + doc_special("fn", {"name?", "args", "docstring?", "..."}, "Function syntax. May optionally include a name and docstring.\nIf a name is provided, the function will be bound in the current scope.\nWhen called with the wrong number of args, excess args will be discarded\nand lacking args will be nil, use lambda for arity-checked functions.") + SPECIALS.lua = function(ast, _, parent) + compiler.assert(((#ast == 2) or (#ast == 3)), "expected 1 or 2 arguments", ast) + if (ast[2] ~= nil) then + table.insert(parent, {ast = ast, leaf = tostring(ast[2])}) + end + if (#ast == 3) then + return tostring(ast[3]) + end + end + SPECIALS.doc = function(ast, scope, parent) + assert(utils.root.options.useMetadata, "can't look up doc with metadata disabled.") + compiler.assert((#ast == 2), "expected one argument", ast) + local target = utils.deref(ast[2]) + local special_or_macro = (scope.specials[target] or scope.macros[target]) + if special_or_macro then + return ("print([[%s]])"):format(doc_2a(special_or_macro, target)) + else + local value = tostring(compiler.compile1(ast[2], scope, parent, {nval = 1})[1]) + return ("print(require('%s').doc(%s, '%s'))"):format((utils.root.options.moduleName or "fennel"), value, tostring(ast[2])) + end + end + doc_special("doc", {"x"}, "Print the docstring and arglist for a function, macro, or special form.") + local function dot(ast, scope, parent) + compiler.assert((1 < #ast), "expected table argument", ast) + local len = #ast + local lhs = compiler.compile1(ast[2], scope, parent, {nval = 1}) + if (len == 2) then + return tostring(lhs[1]) + else + local indices = {} + for i = 3, len, 1 do + local index = ast[i] + if ((type(index) == "string") and utils["is-valid-lua-identifier"](index)) then + table.insert(indices, ("." .. index)) + else + index = compiler.compile1(index, scope, parent, {nval = 1})[1] + table.insert(indices, ("[" .. tostring(index) .. "]")) + end + end + if utils["is-table"](ast[2]) then + return ("(" .. tostring(lhs[1]) .. ")" .. table.concat(indices)) + else + return (tostring(lhs[1]) .. table.concat(indices)) + end + end + end + SPECIALS["."] = dot + doc_special(".", {"tbl", "key1", "..."}, "Look up key1 in tbl table. If more args are provided, do a nested lookup.") + SPECIALS.global = function(ast, scope, parent) + compiler.assert((#ast == 3), "expected name and value", ast) + compiler.destructure(ast[2], ast[3], ast, scope, parent, {forceglobal = true, nomulti = true}) + return nil + end + doc_special("global", {"name", "val"}, "Set name as a global with val.") + SPECIALS.set = function(ast, scope, parent) + compiler.assert((#ast == 3), "expected name and value", ast) + compiler.destructure(ast[2], ast[3], ast, scope, parent, {noundef = true}) + return nil + end + doc_special("set", {"name", "val"}, "Set a local variable to a new value. Only works on locals using var.") + local function set_forcibly_21_2a(ast, scope, parent) + compiler.assert((#ast == 3), "expected name and value", ast) + compiler.destructure(ast[2], ast[3], ast, scope, parent, {forceset = true}) + return nil + end + SPECIALS["set-forcibly!"] = set_forcibly_21_2a + local function local_2a(ast, scope, parent) + compiler.assert((#ast == 3), "expected name and value", ast) + compiler.destructure(ast[2], ast[3], ast, scope, parent, {declaration = true, nomulti = true}) + return nil + end + SPECIALS["local"] = local_2a + doc_special("local", {"name", "val"}, "Introduce new top-level immutable local.") + SPECIALS.var = function(ast, scope, parent) + compiler.assert((#ast == 3), "expected name and value", ast) + compiler.destructure(ast[2], ast[3], ast, scope, parent, {declaration = true, isvar = true, nomulti = true}) + return nil + end + doc_special("var", {"name", "val"}, "Introduce new mutable local.") + SPECIALS.let = function(ast, scope, parent, opts) + local bindings = ast[2] + local pre_syms = {} + compiler.assert((utils["is-list"](bindings) or utils["is-table"](bindings)), "expected binding table", ast) + compiler.assert(((#bindings % 2) == 0), "expected even number of name/value bindings", ast[2]) + compiler.assert((#ast >= 3), "expected body expression", ast[1]) + for _ = 1, (opts.nval or 0), 1 do + table.insert(pre_syms, compiler.gensym(scope)) + end + local sub_scope = compiler["make-scope"](scope) + local sub_chunk = {} + for i = 1, #bindings, 2 do + compiler.destructure(bindings[i], bindings[(i + 1)], ast, sub_scope, sub_chunk, {declaration = true, nomulti = true}) + end + return SPECIALS["do"](ast, scope, parent, opts, 3, sub_chunk, sub_scope, pre_syms) + end + doc_special("let", {"[name1 val1 ... nameN valN]", "..."}, "Introduces a new scope in which a given set of local bindings are used.") + SPECIALS.tset = function(ast, scope, parent) + compiler.assert((#ast > 3), "expected table, key, and value arguments", ast) + local root = compiler.compile1(ast[2], scope, parent, {nval = 1})[1] + local keys = {} + for i = 3, (#ast - 1), 1 do + local key = compiler.compile1(ast[i], scope, parent, {nval = 1})[1] + keys[(#keys + 1)] = tostring(key) + end + local value = compiler.compile1(ast[#ast], scope, parent, {nval = 1})[1] + local rootstr = tostring(root) + local fmtstr = nil + if rootstr:match("^{") then + fmtstr = "do end (%s)[%s] = %s" + else + fmtstr = "%s[%s] = %s" + end + return compiler.emit(parent, fmtstr:format(tostring(root), table.concat(keys, "]["), tostring(value)), ast) + end + doc_special("tset", {"tbl", "key1", "...", "keyN", "val"}, "Set the value of a table field. Can take additional keys to set\nnested values, but all parents must contain an existing table.") + local function if_2a(ast, scope, parent, opts) + local do_scope = compiler["make-scope"](scope) + local branches = {} + local has_else = ((#ast > 3) and ((#ast % 2) == 0)) + local else_branch = nil + local wrapper, inner_tail, inner_target, target_exprs = nil + if (opts.tail or opts.target or opts.nval) then + if (opts.nval and (opts.nval ~= 0) and not opts.target) then + local accum = {} + target_exprs = {} + for i = 1, opts.nval, 1 do + local s = compiler.gensym(scope) + accum[i] = s + target_exprs[i] = utils.expr(s, "sym") + end + wrapper, inner_tail, inner_target = "target", opts.tail, table.concat(accum, ", ") + else + wrapper, inner_tail, inner_target = "none", opts.tail, opts.target + end + else + wrapper, inner_tail, inner_target = "iife", true, nil + end + local body_opts = {nval = opts.nval, tail = inner_tail, target = inner_target} + local function compile_body(i) + local chunk = {} + local cscope = compiler["make-scope"](do_scope) + compiler["keep-side-effects"](compiler.compile1(ast[i], cscope, chunk, body_opts), chunk, nil, ast[i]) + return {chunk = chunk, scope = cscope} + end + for i = 2, (#ast - 1), 2 do + local condchunk = {} + local res = compiler.compile1(ast[i], do_scope, condchunk, {nval = 1}) + local cond = res[1] + local branch = compile_body((i + 1)) + branch.cond = cond + branch.condchunk = condchunk + branch.nested = ((i ~= 2) and (next(condchunk, nil) == nil)) + table.insert(branches, branch) + end + if has_else then + else_branch = compile_body(#ast) + end + local s = compiler.gensym(scope) + local buffer = {} + local last_buffer = buffer + for i = 1, #branches do + local branch = branches[i] + local fstr = nil + if not branch.nested then + fstr = "if %s then" + else + fstr = "elseif %s then" + end + local cond = tostring(branch.cond) + local cond_line = nil + if ((cond == "true") and branch.nested and (i == #branches)) then + cond_line = "else" + else + cond_line = fstr:format(cond) + end + if branch.nested then + compiler.emit(last_buffer, branch.condchunk, ast) + else + for _, v in ipairs(branch.condchunk) do + compiler.emit(last_buffer, v, ast) + end + end + compiler.emit(last_buffer, cond_line, ast) + compiler.emit(last_buffer, branch.chunk, ast) + if (i == #branches) then + if has_else then + compiler.emit(last_buffer, "else", ast) + compiler.emit(last_buffer, else_branch.chunk, ast) + elseif (inner_target and (cond_line ~= "else")) then + compiler.emit(last_buffer, "else", ast) + compiler.emit(last_buffer, ("%s = nil"):format(inner_target), ast) + end + compiler.emit(last_buffer, "end", ast) + elseif not branches[(i + 1)].nested then + local next_buffer = {} + compiler.emit(last_buffer, "else", ast) + compiler.emit(last_buffer, next_buffer, ast) + compiler.emit(last_buffer, "end", ast) + last_buffer = next_buffer + end + end + if (wrapper == "iife") then + local iifeargs = ((scope.vararg and "...") or "") + compiler.emit(parent, ("local function %s(%s)"):format(tostring(s), iifeargs), ast) + compiler.emit(parent, buffer, ast) + compiler.emit(parent, "end", ast) + return utils.expr(("%s(%s)"):format(tostring(s), iifeargs), "statement") + elseif (wrapper == "none") then + for i = 1, #buffer, 1 do + compiler.emit(parent, buffer[i], ast) + end + return {returned = true} + else + compiler.emit(parent, ("local %s"):format(inner_target), ast) + for i = 1, #buffer, 1 do + compiler.emit(parent, buffer[i], ast) + end + return target_exprs + end + end + SPECIALS["if"] = if_2a + doc_special("if", {"cond1", "body1", "...", "condN", "bodyN"}, "Conditional form.\nTakes any number of condition/body pairs and evaluates the first body where\nthe condition evaluates to truthy. Similar to cond in other lisps.") + SPECIALS.each = function(ast, scope, parent) + compiler.assert((#ast >= 3), "expected body expression", ast[1]) + local binding = compiler.assert(utils["is-table"](ast[2]), "expected binding table", ast) + local iter = table.remove(binding, #binding) + local destructures = {} + local new_manglings = {} + local sub_scope = compiler["make-scope"](scope) + local function destructure_binding(v) + if utils["is-sym"](v) then + return compiler["declare-local"](v, {}, sub_scope, ast, new_manglings) + else + local raw = utils.sym(compiler.gensym(sub_scope)) + destructures[raw] = v + return compiler["declare-local"](raw, {}, sub_scope, ast) + end + end + local bind_vars = utils.map(binding, destructure_binding) + local vals = compiler.compile1(iter, sub_scope, parent) + local val_names = utils.map(vals, tostring) + local chunk = {} + compiler.emit(parent, ("for %s in %s do"):format(table.concat(bind_vars, ", "), table.concat(val_names, ", ")), ast) + for raw, args in utils.stablepairs(destructures) do + compiler.destructure(args, raw, ast, sub_scope, chunk, {declaration = true, nomulti = true}) + end + compiler["apply-manglings"](sub_scope, new_manglings, ast) + compile_do(ast, sub_scope, chunk, 3) + compiler.emit(parent, chunk, ast) + return compiler.emit(parent, "end", ast) + end + doc_special("each", {"[key value (iterator)]", "..."}, "Runs the body once for each set of values provided by the given iterator.\nMost commonly used with ipairs for sequential tables or pairs for undefined\norder, but can be used with any iterator.") + local function while_2a(ast, scope, parent) + local len1 = #parent + local condition = compiler.compile1(ast[2], scope, parent, {nval = 1})[1] + local len2 = #parent + local sub_chunk = {} + if (len1 ~= len2) then + for i = (len1 + 1), len2, 1 do + sub_chunk[(#sub_chunk + 1)] = parent[i] + parent[i] = nil + end + compiler.emit(parent, "while true do", ast) + compiler.emit(sub_chunk, ("if not %s then break end"):format(condition[1]), ast) + else + compiler.emit(parent, ("while " .. tostring(condition) .. " do"), ast) + end + compile_do(ast, compiler["make-scope"](scope), sub_chunk, 3) + compiler.emit(parent, sub_chunk, ast) + return compiler.emit(parent, "end", ast) + end + SPECIALS["while"] = while_2a + doc_special("while", {"condition", "..."}, "The classic while loop. Evaluates body until a condition is non-truthy.") + local function for_2a(ast, scope, parent) + local ranges = compiler.assert(utils["is-table"](ast[2]), "expected binding table", ast) + local binding_sym = table.remove(ast[2], 1) + local sub_scope = compiler["make-scope"](scope) + local range_args = {} + local chunk = {} + compiler.assert(utils["is-sym"](binding_sym), ("unable to bind %s %s"):format(type(binding_sym), tostring(binding_sym)), ast[2]) + compiler.assert((#ast >= 3), "expected body expression", ast[1]) + for i = 1, math.min(#ranges, 3), 1 do + range_args[i] = tostring(compiler.compile1(ranges[i], sub_scope, parent, {nval = 1})[1]) + end + compiler.emit(parent, ("for %s = %s do"):format(compiler["declare-local"](binding_sym, {}, sub_scope, ast), table.concat(range_args, ", ")), ast) + compile_do(ast, sub_scope, chunk, 3) + compiler.emit(parent, chunk, ast) + return compiler.emit(parent, "end", ast) + end + SPECIALS["for"] = for_2a + doc_special("for", {"[index start stop step?]", "..."}, "Numeric loop construct.\nEvaluates body once for each value between start and stop (inclusive).") + local function once(val, ast, scope, parent) + if ((val.type == "statement") or (val.type == "expression")) then + local s = compiler.gensym(scope) + compiler.emit(parent, ("local %s = %s"):format(s, tostring(val)), ast) + return utils.expr(s, "sym") + else + return val + end + end + local function method_call(ast, scope, parent) + compiler.assert((#ast >= 3), "expected at least 2 arguments", ast) + local objectexpr = compiler.compile1(ast[2], scope, parent, {nval = 1})[1] + local methodident, methodstring = false + if ((type(ast[3]) == "string") and utils["is-valid-lua-identifier"](ast[3])) then + methodident = true + methodstring = ast[3] + else + methodstring = tostring(compiler.compile1(ast[3], scope, parent, {nval = 1})[1]) + objectexpr = once(objectexpr, ast[2], scope, parent) + end + local args = {} + for i = 4, #ast, 1 do + local subexprs = nil + local _1_ + if (i ~= #ast) then + _1_ = 1 + else + _1_ = nil + end + subexprs = compiler.compile1(ast[i], scope, parent, {nval = _1_}) + utils.map(subexprs, tostring, args) + end + local fstring = nil + if not methodident then + table.insert(args, 1, tostring(objectexpr)) + if (objectexpr.type == "sym") then + fstring = "%s[%s](%s)" + else + fstring = "(%s)[%s](%s)" + end + elseif ((objectexpr.type == "literal") or (objectexpr.type == "expression")) then + fstring = "(%s):%s(%s)" + else + fstring = "%s:%s(%s)" + end + return utils.expr(fstring:format(tostring(objectexpr), methodstring, table.concat(args, ", ")), "statement") + end + SPECIALS[":"] = method_call + doc_special(":", {"tbl", "method-name", "..."}, "Call the named method on tbl with the provided args.\nMethod name doesn't have to be known at compile-time; if it is, use\n(tbl:method-name ...) instead.") + SPECIALS.comment = function(ast, _, parent) + local els = {} + for i = 2, #ast, 1 do + els[(#els + 1)] = tostring(ast[i]):gsub("\n", " ") + end + return compiler.emit(parent, ("-- " .. table.concat(els, " ")), ast) + end + doc_special("comment", {"..."}, "Comment which will be emitted in Lua output.") + SPECIALS.hashfn = function(ast, scope, parent) + compiler.assert((#ast == 2), "expected one argument", ast) + local f_scope = nil + do + local _0_0 = compiler["make-scope"](scope) + _0_0["vararg"] = false + _0_0["hashfn"] = true + f_scope = _0_0 + end + local f_chunk = {} + local name = compiler.gensym(scope) + local symbol = utils.sym(name) + compiler["declare-local"](symbol, {}, scope, ast) + local args = {} + for i = 1, 9 do + args[i] = compiler["declare-local"](utils.sym(("$" .. i)), {}, f_scope, ast) + end + local function walker(idx, node, parent_node) + if (utils["is-sym"](node) and (utils.deref(node) == "$...")) then + parent_node[idx] = utils.varg() + f_scope.vararg = true + return nil + else + return (utils["is-list"](node) or utils["is-table"](node)) + end + end + utils["walk-tree"](ast[2], walker) + compiler.compile1(ast[2], f_scope, f_chunk, {tail = true}) + local max_used = 0 + for i = 1, 9, 1 do + if f_scope.symmeta[("$" .. i)].used then + max_used = i + end + end + if f_scope.vararg then + compiler.assert((max_used == 0), "$ and $... in hashfn are mutually exclusive", ast) + args = {utils.deref(utils.varg())} + max_used = 1 + end + local arg_str = table.concat(args, ", ", 1, max_used) + compiler.emit(parent, ("local function %s(%s)"):format(name, arg_str), ast) + compiler.emit(parent, f_chunk, ast) + compiler.emit(parent, "end", ast) + return utils.expr(name, "sym") + end + doc_special("hashfn", {"..."}, "Function literal shorthand; args are either $... OR $1, $2, etc.") + local function define_arithmetic_special(name, zero_arity, unary_prefix, lua_name) + do + local padded_op = (" " .. (lua_name or name) .. " ") + local function _0_(ast, scope, parent) + local len = #ast + if (len == 1) then + compiler.assert((zero_arity ~= nil), "Expected more than 0 arguments", ast) + return utils.expr(zero_arity, "literal") + else + local operands = {} + for i = 2, len, 1 do + local subexprs = nil + local _1_ + if (i == 1) then + _1_ = 1 + else + _1_ = nil + end + subexprs = compiler.compile1(ast[i], scope, parent, {nval = _1_}) + utils.map(subexprs, tostring, operands) + end + if (#operands == 1) then + if unary_prefix then + return ("(" .. unary_prefix .. padded_op .. operands[1] .. ")") + else + return operands[1] + end + else + return ("(" .. table.concat(operands, padded_op) .. ")") + end + end + end + SPECIALS[name] = _0_ + end + return doc_special(name, {"a", "b", "..."}, "Arithmetic operator; works the same as Lua but accepts more arguments.") + end + define_arithmetic_special("+", "0") + define_arithmetic_special("..", "''") + define_arithmetic_special("^") + define_arithmetic_special("-", nil, "") + define_arithmetic_special("*", "1") + define_arithmetic_special("%") + define_arithmetic_special("/", nil, "1") + define_arithmetic_special("//", nil, "1") + define_arithmetic_special("lshift", nil, "1", "<<") + define_arithmetic_special("rshift", nil, "1", ">>") + define_arithmetic_special("band", "0", "0", "&") + define_arithmetic_special("bor", "0", "0", "|") + define_arithmetic_special("bxor", "0", "0", "~") + doc_special("lshift", {"x", "n"}, "Bitwise logical left shift of x by n bits; only works in Lua 5.3+.") + doc_special("rshift", {"x", "n"}, "Bitwise logical right shift of x by n bits; only works in Lua 5.3+.") + doc_special("band", {"x1", "x2"}, "Bitwise AND of arguments; only works in Lua 5.3+.") + doc_special("bor", {"x1", "x2"}, "Bitwise OR of arguments; only works in Lua 5.3+.") + doc_special("bxor", {"x1", "x2"}, "Bitwise XOR of arguments; only works in Lua 5.3+.") + define_arithmetic_special("or", "false") + define_arithmetic_special("and", "true") + doc_special("and", {"a", "b", "..."}, "Boolean operator; works the same as Lua but accepts more arguments.") + doc_special("or", {"a", "b", "..."}, "Boolean operator; works the same as Lua but accepts more arguments.") + doc_special("..", {"a", "b", "..."}, "String concatenation operator; works the same as Lua but accepts more arguments.") + local function define_comparator_special(name, realop, chain_op) + do + local op = (realop or name) + local function opfn(ast, scope, parent) + local len = #ast + compiler.assert((len > 2), "expected at least two arguments", ast) + local lhs = compiler.compile1(ast[2], scope, parent, {nval = 1})[1] + local lastval = compiler.compile1(ast[3], scope, parent, {nval = 1})[1] + if (len > 3) then + lastval = once(lastval, ast[3], scope, parent) + end + local out = ("(%s %s %s)"):format(tostring(lhs), op, tostring(lastval)) + if (len > 3) then + for i = 4, len do + local nextval = once(compiler.compile1(ast[i], scope, parent, {nval = 1})[1], ast[i], scope, parent) + out = ((out .. " %s (%s %s %s)")):format((chain_op or "and"), tostring(lastval), op, tostring(nextval)) + lastval = nextval + end + out = ("(" .. out .. ")") + end + return out + end + SPECIALS[name] = opfn + end + return doc_special(name, {"a", "b", "..."}, "Comparison operator; works the same as Lua but accepts more arguments.") + end + define_comparator_special(">") + define_comparator_special("<") + define_comparator_special(">=") + define_comparator_special("<=") + define_comparator_special("=", "==") + define_comparator_special("not=", "~=", "or") + SPECIALS["~="] = SPECIALS["not="] + local function define_unary_special(op, realop) + local function opfn(ast, scope, parent) + compiler.assert((#ast == 2), "expected one argument", ast) + local tail = compiler.compile1(ast[2], scope, parent, {nval = 1}) + return ((realop or op) .. tostring(tail[1])) + end + SPECIALS[op] = opfn + return nil + end + define_unary_special("not", "not ") + doc_special("not", {"x"}, "Logical operator; works the same as Lua.") + define_unary_special("bnot", "~") + doc_special("bnot", {"x"}, "Bitwise negation; only works in Lua 5.3+.") + define_unary_special("length", "#") + doc_special("length", {"x"}, "Returns the length of a table or string.") + SPECIALS["#"] = SPECIALS.length + SPECIALS.quote = function(ast, scope, parent) + compiler.assert((#ast == 2), "expected one argument") + local runtime, this_scope = true, scope + while this_scope do + this_scope = this_scope.parent + if (this_scope == compiler.scopes.compiler) then + runtime = false + end + end + return compiler["do-quote"](ast[2], scope, parent, runtime) + end + doc_special("quote", {"x"}, "Quasiquote the following form. Only works in macro/compiler scope.") + local function make_compiler_env(ast, scope, parent) + local function _0_() + return compiler.scopes.macro + end + local function _1_(symbol) + compiler.assert(compiler.scopes.macro, "must call from macro", ast) + return compiler.scopes.macro.manglings[tostring(symbol)] + end + local function _2_() + return utils.sym(compiler.gensym((compiler.scopes.macro or scope))) + end + local function _3_(form) + compiler.assert(compiler.scopes.macro, "must call from macro", ast) + return compiler.macroexpand(form, compiler.scopes.macro) + end + return setmetatable({["get-scope"] = _0_, ["in-scope?"] = _1_, ["list?"] = utils["is-list"], ["multi-sym?"] = utils["is-multi-sym"], ["sequence?"] = utils["is-sequence"], ["sym?"] = utils["is-sym"], ["table?"] = utils["is-table"], ["varg?"] = utils["is-varg"], _AST = ast, _CHUNK = parent, _IS_COMPILER = true, _SCOPE = scope, _SPECIALS = compiler.scopes.global.specials, _VARARG = utils.varg(), fennel = utils["fennel-module"], gensym = _2_, list = utils.list, macroexpand = _3_, sequence = utils.sequence, sym = utils.sym, unpack = unpack}, {__index = (_ENV or _G)}) + end + local cfg = string.gmatch(package.config, "([^\n]+)") + local dirsep, pathsep, pathmark = (cfg() or "/"), (cfg() or ";"), (cfg() or "?") + local pkg_config = {dirsep = dirsep, pathmark = pathmark, pathsep = pathsep} + local function escapepat(str) + return string.gsub(str, "[^%w]", "%%%1") + end + local function search_module(modulename, pathstring) + local pathsepesc = escapepat(pkg_config.pathsep) + local pattern = ("([^%s]*)%s"):format(pathsepesc, pathsepesc) + local no_dot_module = modulename:gsub("%.", pkg_config.dirsep) + local fullpath = ((pathstring or utils["fennel-module"].path) .. pkg_config.pathsep) + local function try_path(path) + local filename = path:gsub(escapepat(pkg_config.pathmark), no_dot_module) + local filename2 = path:gsub(escapepat(pkg_config.pathmark), modulename) + local _0_0 = (io.open(filename) or io.open(filename2)) + if (nil ~= _0_0) then + local file = _0_0 + file:close() + return filename + end + end + local function find_in_path(start) + local _0_0 = fullpath:match(pattern, start) + if (nil ~= _0_0) then + local path = _0_0 + return (try_path(path) or find_in_path((start + #path + 1))) + end + end + return find_in_path(1) + end + local function make_searcher(options) + local opts = utils.copy(utils.root.options) + for k, v in pairs((options or {})) do + opts[k] = v + end + local function _0_(module_name) + local filename = search_module(module_name) + if filename then + local function _1_(mod_name) + return utils["fennel-module"].dofile(filename, opts, mod_name) + end + return _1_ + end + end + return _0_ + end + local function macro_globals(env, globals) + local allowed = current_global_names(env) + for _, k in pairs((globals or {})) do + table.insert(allowed, k) + end + return allowed + end + local function add_macros(macros_2a, ast, scope) + compiler.assert(utils["is-table"](macros_2a), "expected macros to be table", ast) + for k, v in pairs(macros_2a) do + compiler.assert((type(v) == "function"), "expected each macro to be function", ast) + scope.macros[k] = v + end + return nil + end + local function load_macros(modname, ast, scope, parent) + local filename = compiler.assert(search_module(modname), (modname .. " module not found."), ast) + local env = make_compiler_env(ast, scope, parent) + local globals = macro_globals(env, current_global_names()) + return utils["fennel-module"].dofile(filename, {allowedGlobals = globals, env = env, scope = compiler.scopes.compiler, useMetadata = utils.root.options.useMetadata}) + end + local macro_loaded = {} + SPECIALS["require-macros"] = function(ast, scope, parent) + compiler.assert((#ast == 2), "Expected one module name argument", ast) + local modname = ast[2] + if not macro_loaded[modname] then + macro_loaded[modname] = load_macros(modname, ast, scope, parent) + end + return add_macros(macro_loaded[modname], ast, scope, parent) + end + doc_special("require-macros", {"macro-module-name"}, "Load given module and use its contents as macro definitions in current scope.\nMacro module should return a table of macro functions with string keys.\nConsider using import-macros instead as it is more flexible.") + local function emit_fennel(src, path, opts, sub_chunk) + local subscope = compiler["make-scope"](utils.root.scope.parent) + local forms = {} + if utils.root.options.requireAsInclude then + subscope.specials.require = compiler["require-include"] + end + for _, val in parser.parser(parser["string-stream"](src), path) do + table.insert(forms, val) + end + for i = 1, #forms do + local subopts = nil + if (i == #forms) then + subopts = {nval = 1, tail = true} + else + subopts = {nval = 0} + end + utils["propagate-options"](opts, subopts) + compiler.compile1(forms[i], subscope, sub_chunk, subopts) + end + return nil + end + local function include_path(ast, opts, path, mod, fennel_3f) + utils.root.scope.includes[mod] = "fnl/loading" + local src = nil + do + local f = assert(io.open(path)) + local function close_handlers_0_(ok_0_, ...) + f:close() + if ok_0_ then + return ... + else + return error(..., 0) + end + end + local function _0_() + return f:read("*all"):gsub("[\13\n]*$", "") + end + src = close_handlers_0_(xpcall(_0_, (package.loaded.fennel or debug).traceback)) + end + local ret = utils.expr(("require(\"" .. mod .. "\")"), "statement") + local target = ("package.preload[%q]"):format(mod) + local preload_str = (target .. " = " .. target .. " or function(...)") + local temp_chunk, sub_chunk = {}, {} + compiler.emit(temp_chunk, preload_str, ast) + compiler.emit(temp_chunk, sub_chunk) + compiler.emit(temp_chunk, "end", ast) + for i, v in ipairs(temp_chunk) do + table.insert(utils.root.chunk, i, v) + end + if fennel_3f then + emit_fennel(src, path, opts, sub_chunk) + else + compiler.emit(sub_chunk, src, ast) + end + utils.root.scope.includes[mod] = ret + return ret + end + local function include_circular_fallback(mod, modexpr, fallback, ast) + if (utils.root.scope.includes[mod] == "fnl/loading") then + compiler.assert(fallback, "circular include detected", ast) + return fallback(modexpr) + end + end + SPECIALS.include = function(ast, scope, parent, opts) + compiler.assert((#ast == 2), "expected one argument", ast) + local modexpr = compiler.compile1(ast[2], scope, parent, {nval = 1})[1] + if ((modexpr.type ~= "literal") or ((modexpr[1]):byte() ~= 34)) then + if opts.fallback then + return opts.fallback(modexpr) + else + return compiler.assert(false, "module name must be string literal", ast) + end + else + local mod = load_code(("return " .. modexpr[1]))() + local function _1_() + local _0_0 = search_module(mod) + if (nil ~= _0_0) then + local fennel_path = _0_0 + return include_path(ast, opts, fennel_path, mod, true) + else + local _ = _0_0 + local lua_path = search_module(mod, package.path) + if lua_path then + return include_path(ast, opts, lua_path, mod, false) + elseif opts.fallback then + return opts.fallback(modexpr) + else + return compiler.assert(false, ("module not found " .. mod), ast) + end + end + end + return (include_circular_fallback(mod, modexpr, opts.fallback, ast) or utils.root.scope.includes[mod] or _1_()) + end + end + doc_special("include", {"module-name-literal"}, "Like require but load the target module during compilation and embed it in the\nLua output. The module must be a string literal and resolvable at compile time.") + local function eval_compiler_2a(ast, scope, parent) + local scope0 = compiler["make-scope"](compiler.scopes.compiler) + local luasrc = compiler.compile(ast, {scope = scope0, useMetadata = utils.root.options.useMetadata}) + local loader = load_code(luasrc, wrap_env(make_compiler_env(ast, scope0, parent))) + return loader() + end + SPECIALS.macros = function(ast, scope, parent) + compiler.assert((#ast == 2), "Expected one table argument", ast) + return add_macros(eval_compiler_2a(ast[2], scope, parent), ast, scope, parent) + end + doc_special("macros", {"{:macro-name-1 (fn [...] ...) ... :macro-name-N macro-body-N}"}, "Define all functions in the given table as macros local to the current scope.") + SPECIALS["eval-compiler"] = function(ast, scope, parent) + local old_first = ast[1] + ast[1] = utils.sym("do") + local val = eval_compiler_2a(ast, scope, parent) + ast[1] = old_first + return val + end + doc_special("eval-compiler", {"..."}, "Evaluate the body at compile-time. Use the macro system instead if possible.") + return {["current-global-names"] = current_global_names, ["load-code"] = load_code, ["macro-loaded"] = macro_loaded, ["make-compiler-env"] = make_compiler_env, ["make-searcher"] = make_searcher, ["search-module"] = search_module, ["wrap-env"] = wrap_env, doc = doc_2a} +end +package.preload["fennel.compiler"] = package.preload["fennel.compiler"] or function(...) + local utils = require("fennel.utils") + local parser = require("fennel.parser") + local friend = require("fennel.friend") + local unpack = (_G.unpack or table.unpack) + local scopes = {} + local function make_scope(parent) + local parent0 = (parent or scopes.global) + local _0_ + if parent0 then + _0_ = ((parent0.depth or 0) + 1) + else + _0_ = 0 + end + return {autogensyms = {}, depth = _0_, hashfn = (parent0 and parent0.hashfn), includes = setmetatable({}, {__index = (parent0 and parent0.includes)}), macros = setmetatable({}, {__index = (parent0 and parent0.macros)}), manglings = setmetatable({}, {__index = (parent0 and parent0.manglings)}), parent = parent0, refedglobals = setmetatable({}, {__index = (parent0 and parent0.refedglobals)}), specials = setmetatable({}, {__index = (parent0 and parent0.specials)}), symmeta = setmetatable({}, {__index = (parent0 and parent0.symmeta)}), unmanglings = setmetatable({}, {__index = (parent0 and parent0.unmanglings)}), vararg = (parent0 and parent0.vararg)} + end + local function assert_compile(condition, msg, ast) + if not condition then + local _0_ = (utils.root.options or {}) + local source = _0_["source"] + local unfriendly = _0_["unfriendly"] + utils.root.reset() + if unfriendly then + local m = getmetatable(ast) + local filename = ((m and m.filename) or ast.filename or "unknown") + local line = ((m and m.line) or ast.line or "?") + local target = nil + local function _1_() + if utils["is-sym"](ast[1]) then + return utils.deref(ast[1]) + else + return (ast[1] or "()") + end + end + target = tostring(_1_()) + error(string.format("Compile error in '%s' %s:%s: %s", target, filename, line, msg), 0) + else + friend["assert-compile"](condition, msg, ast, source) + end + end + return condition + end + scopes.global = make_scope() + scopes.global.vararg = true + scopes.compiler = make_scope(scopes.global) + scopes.macro = scopes.global + local serialize_subst = {["\11"] = "\\v", ["\12"] = "\\f", ["\7"] = "\\a", ["\8"] = "\\b", ["\9"] = "\\t", ["\n"] = "n"} + local function serialize_string(str) + local function _0_(_241) + return ("\\" .. _241:byte()) + end + return ("%q"):format(str):gsub(".", serialize_subst):gsub("[\128-\255]", _0_) + end + local function global_mangling(str) + if utils["is-valid-lua-identifier"](str) then + return str + else + local function _0_(_241) + return ("_%02x"):format(_241:byte()) + end + return ("__fnl_global__" .. str:gsub("[^%w]", _0_)) + end + end + local function global_unmangling(identifier) + local _0_0 = identifier:match("^__fnl_global__(.*)$") + if (nil ~= _0_0) then + local rest = _0_0 + local _1_0 = nil + local function _2_(_241) + return string.char(tonumber(_241:sub(2), 16)) + end + _1_0 = rest:gsub("_[%da-f][%da-f]", _2_) + return _1_0 + else + local _ = _0_0 + return identifier + end + end + local allowed_globals = nil + local function global_allowed(name) + local found_3f = not allowed_globals + if not allowed_globals then + return true + else + for _, g in ipairs(allowed_globals) do + if (g == name) then + found_3f = true + end + end + return found_3f + end + end + local function local_mangling(str, scope, ast, temp_manglings) + local append = 0 + local mangling = str + assert_compile(not utils["is-multi-sym"](str), ("unexpected multi symbol " .. str), ast) + if (utils["lua-keywords"][mangling] or mangling:match("^%d")) then + mangling = ("_" .. mangling) + end + local function _1_(_241) + return ("_%02x"):format(_241:byte()) + end + mangling = mangling:gsub("-", "_"):gsub("[^%w_]", _1_) + local raw = mangling + while scope.unmanglings[mangling] do + mangling = (raw .. append) + append = (append + 1) + end + scope.unmanglings[mangling] = str + do + local manglings = (temp_manglings or scope.manglings) + manglings[str] = mangling + end + return mangling + end + local function apply_manglings(scope, new_manglings, ast) + for raw, mangled in pairs(new_manglings) do + assert_compile(not scope.refedglobals[mangled], ("use of global " .. raw .. " is aliased by a local"), ast) + scope.manglings[raw] = mangled + end + return nil + end + local function combine_parts(parts, scope) + local ret = (scope.manglings[parts[1]] or global_mangling(parts[1])) + for i = 2, #parts, 1 do + if utils["is-valid-lua-identifier"](parts[i]) then + if (parts["multi-sym-method-call"] and (i == #parts)) then + ret = (ret .. ":" .. parts[i]) + else + ret = (ret .. "." .. parts[i]) + end + else + ret = (ret .. "[" .. serialize_string(parts[i]) .. "]") + end + end + return ret + end + local function gensym(scope, base) + local append, mangling = 0, ((base or "") .. "_0_") + while scope.unmanglings[mangling] do + mangling = ((base or "") .. "_" .. append .. "_") + append = (append + 1) + end + scope.unmanglings[mangling] = true + return mangling + end + local function autogensym(base, scope) + local _0_0 = utils["is-multi-sym"](base) + if (nil ~= _0_0) then + local parts = _0_0 + parts[1] = autogensym(parts[1], scope) + return table.concat(parts, ((parts["multi-sym-method-call"] and ":") or ".")) + else + local _ = _0_0 + local function _1_() + local mangling = gensym(scope, base:sub(1, ( - 2))) + scope.autogensyms[base] = mangling + return mangling + end + return (scope.autogensyms[base] or _1_()) + end + end + local function check_binding_valid(symbol, scope, ast) + local name = utils.deref(symbol) + assert_compile(not (scope.specials[name] or scope.macros[name]), ("local %s was overshadowed by a special form or macro"):format(name), ast) + return assert_compile(not utils["is-quoted"](symbol), ("macro tried to bind %s without gensym"):format(name), symbol) + end + local function declare_local(symbol, meta, scope, ast, temp_manglings) + check_binding_valid(symbol, scope, ast) + local name = utils.deref(symbol) + assert_compile(not utils["is-multi-sym"](name), ("unexpected multi symbol " .. name), ast) + scope.symmeta[name] = meta + return local_mangling(name, scope, ast, temp_manglings) + end + local function symbol_to_expression(symbol, scope, is_reference) + local name = symbol[1] + local multi_sym_parts = utils["is-multi-sym"](name) + if scope.hashfn then + if (name == "$") then + name = "$1" + end + if multi_sym_parts then + if (multi_sym_parts[1] == "$") then + multi_sym_parts[1] = "$1" + name = table.concat(multi_sym_parts, ".") + end + end + end + local parts = (multi_sym_parts or {name}) + local etype = (((#parts > 1) and "expression") or "sym") + local is_local = scope.manglings[parts[1]] + if (is_local and scope.symmeta[parts[1]]) then + scope.symmeta[parts[1]]["used"] = true + end + assert_compile((not is_reference or is_local or global_allowed(parts[1])), ("unknown global in strict mode: " .. parts[1]), symbol) + if (allowed_globals and not is_local) then + utils.root.scope.refedglobals[parts[1]] = true + end + return utils.expr(combine_parts(parts, scope), etype) + end + local function emit(chunk, out, ast) + if (type(out) == "table") then + return table.insert(chunk, out) + else + return table.insert(chunk, {ast = ast, leaf = out}) + end + end + local function peephole(chunk) + if chunk.leaf then + return chunk + elseif ((#chunk >= 3) and (chunk[(#chunk - 2)].leaf == "do") and not chunk[(#chunk - 1)].leaf and (chunk[#chunk].leaf == "end")) then + local kid = peephole(chunk[(#chunk - 1)]) + local new_chunk = {ast = chunk.ast} + for i = 1, (#chunk - 3), 1 do + table.insert(new_chunk, peephole(chunk[i])) + end + for i = 1, #kid, 1 do + table.insert(new_chunk, kid[i]) + end + return new_chunk + else + return utils.map(chunk, peephole) + end + end + local function flatten_chunk_correlated(main_chunk) + local function flatten(chunk, out, last_line, file) + local last_line0 = last_line + if chunk.leaf then + out[last_line0] = ((out[last_line0] or "") .. " " .. chunk.leaf) + else + for _, subchunk in ipairs(chunk) do + if (subchunk.leaf or (#subchunk > 0)) then + if (subchunk.ast and (file == subchunk.ast.file)) then + last_line0 = math.max(last_line0, (subchunk.ast.line or 0)) + end + last_line0 = flatten(subchunk, out, last_line0, file) + end + end + end + return last_line0 + end + local out = {} + local last = flatten(main_chunk, out, 1, main_chunk.file) + for i = 1, last do + if (out[i] == nil) then + out[i] = "" + end + end + return table.concat(out, "\n") + end + local function flatten_chunk(sm, chunk, tab, depth) + if chunk.leaf then + local code = chunk.leaf + local info = chunk.ast + if sm then + sm[(#sm + 1)] = ((info and info.line) or ( - 1)) + end + return code + else + local tab0 = nil + do + local _0_0 = tab + if (_0_0 == true) then + tab0 = " " + elseif (_0_0 == false) then + tab0 = "" + elseif (_0_0 == tab) then + tab0 = tab + elseif (_0_0 == nil) then + tab0 = "" + else + tab0 = nil + end + end + local function parter(c) + if (c.leaf or (#c > 0)) then + local sub = flatten_chunk(sm, c, tab0, (depth + 1)) + if (depth > 0) then + sub = (tab0 .. sub:gsub("\n", ("\n" .. tab0))) + end + return sub + end + end + return table.concat(utils.map(chunk, parter), "\n") + end + end + local fennel_sourcemap = {} + local function make_short_src(source) + local source0 = source:gsub("\n", " ") + if (#source0 <= 49) then + return ("[fennel \"" .. source0 .. "\"]") + else + return ("[fennel \"" .. source0:sub(1, 46) .. "...\"]") + end + end + local function flatten(chunk, options) + local chunk0 = peephole(chunk) + if options.correlate then + return flatten_chunk_correlated(chunk0), {} + else + local sm = {} + local ret = flatten_chunk(sm, chunk0, options.indent, 0) + if sm then + local key, short_src = nil + if options.filename then + short_src = options.filename + key = ("@" .. short_src) + else + key = ret + short_src = make_short_src((options.source or ret)) + end + sm.short_src = short_src + sm.key = key + fennel_sourcemap[key] = sm + end + return ret, sm + end + end + local function make_metadata() + local function _0_(self, tgt, key) + if self[tgt] then + return self[tgt][key] + end + end + local function _1_(self, tgt, key, value) + self[tgt] = (self[tgt] or {}) + self[tgt][key] = value + return tgt + end + local function _2_(self, tgt, ...) + local kv_len = select("#", ...) + local kvs = {...} + if ((kv_len % 2) ~= 0) then + error("metadata:setall() expected even number of k/v pairs") + end + self[tgt] = (self[tgt] or {}) + for i = 1, kv_len, 2 do + self[tgt][kvs[i]] = kvs[(i + 1)] + end + return tgt + end + return setmetatable({}, {__index = {get = _0_, set = _1_, setall = _2_}, __mode = "k"}) + end + local function exprs1(exprs) + return table.concat(utils.map(exprs, 1), ", ") + end + local function keep_side_effects(exprs, chunk, start, ast) + local start0 = (start or 1) + for j = start0, #exprs, 1 do + local se = exprs[j] + if ((se.type == "expression") and (se[1] ~= "nil")) then + emit(chunk, ("do local _ = %s end"):format(tostring(se)), ast) + elseif (se.type == "statement") then + local code = tostring(se) + emit(chunk, (((code:byte() == 40) and ("do end " .. code)) or code), ast) + end + end + return nil + end + local function handle_compile_opts(exprs, parent, opts, ast) + if opts.nval then + local n = opts.nval + local len = #exprs + if (n ~= len) then + if (len > n) then + keep_side_effects(exprs, parent, (n + 1), ast) + for i = (n + 1), len, 1 do + exprs[i] = nil + end + else + for i = (#exprs + 1), n, 1 do + exprs[i] = utils.expr("nil", "literal") + end + end + end + end + if opts.tail then + emit(parent, ("return %s"):format(exprs1(exprs)), ast) + end + if opts.target then + local result = exprs1(exprs) + if (result == "") then + result = "nil" + end + emit(parent, ("%s = %s"):format(opts.target, result), ast) + end + if (opts.tail or opts.target) then + return {} + else + return exprs + end + end + local function macroexpand_2a(ast, scope, once) + if not utils["is-list"](ast) then + return ast + else + local multi_sym_parts = utils["is-multi-sym"](ast[1]) + local macro_2a = (utils["is-sym"](ast[1]) and scope.macros[utils.deref(ast[1])]) + if (not macro_2a and multi_sym_parts) then + local in_macro_module = nil + macro_2a = scope.macros + for i = 1, #multi_sym_parts, 1 do + macro_2a = (utils["is-table"](macro_2a) and macro_2a[multi_sym_parts[i]]) + if macro_2a then + in_macro_module = true + end + end + assert_compile((not in_macro_module or (type(macro_2a) == "function")), "macro not found in imported macro module", ast) + end + if not macro_2a then + return ast + else + local old_scope = scopes.macro + local _ = nil + scopes.macro = scope + _ = nil + local ok, transformed = pcall(macro_2a, unpack(ast, 2)) + scopes.macro = old_scope + assert_compile(ok, transformed, ast) + if (once or not transformed) then + return transformed + else + return macroexpand_2a(transformed, scope) + end + end + end + end + local function compile1(ast, scope, parent, opts) + local opts0 = (opts or {}) + local ast0 = macroexpand_2a(ast, scope) + local exprs = {} + if utils["is-list"](ast0) then + local len = #ast0 + local first = ast0[1] + local multi_sym_parts = utils["is-multi-sym"](first) + local special = (utils["is-sym"](first) and scope.specials[utils.deref(first)]) + assert_compile((#ast0 > 0), "expected a function, macro, or special to call", ast0) + if special then + exprs = (special(ast0, scope, parent, opts0) or utils.expr("nil", "literal")) + if (type(exprs) == "string") then + exprs = utils.expr(exprs, "expression") + end + if utils["is-expr"](exprs) then + exprs = {exprs} + end + if not exprs.returned then + exprs = handle_compile_opts(exprs, parent, opts0, ast0) + elseif (opts0.tail or opts0.target) then + exprs = {} + end + elseif (multi_sym_parts and multi_sym_parts["multi-sym-method-call"]) then + local table_with_method = table.concat({unpack(multi_sym_parts, 1, (#multi_sym_parts - 1))}, ".") + local method_to_call = multi_sym_parts[#multi_sym_parts] + local new_ast = utils.list(utils.sym(":", scope), utils.sym(table_with_method, scope), method_to_call) + for i = 2, len, 1 do + new_ast[(#new_ast + 1)] = ast0[i] + end + exprs = compile1(new_ast, scope, parent, opts0) + else + local fargs = {} + local fcallee = compile1(ast0[1], scope, parent, {nval = 1})[1] + assert_compile((fcallee.type ~= "literal"), ("cannot call literal value " .. tostring(ast0[1])), ast0) + fcallee = tostring(fcallee) + for i = 2, len, 1 do + local subexprs = compile1(ast0[i], scope, parent, {nval = (((i ~= len) and 1) or nil)}) + fargs[(#fargs + 1)] = (subexprs[1] or utils.expr("nil", "literal")) + if (i == len) then + for j = 2, #subexprs, 1 do + fargs[(#fargs + 1)] = subexprs[j] + end + else + keep_side_effects(subexprs, parent, 2, ast0[i]) + end + end + local call = ("%s(%s)"):format(tostring(fcallee), exprs1(fargs)) + exprs = handle_compile_opts({utils.expr(call, "statement")}, parent, opts0, ast0) + end + elseif utils["is-varg"](ast0) then + assert_compile(scope.vararg, "unexpected vararg", ast0) + exprs = handle_compile_opts({utils.expr("...", "varg")}, parent, opts0, ast0) + elseif utils["is-sym"](ast0) then + local multi_sym_parts = utils["is-multi-sym"](ast0) + local e = nil + assert_compile(not (multi_sym_parts and multi_sym_parts["multi-sym-method-call"]), "multisym method calls may only be in call position", ast0) + if (ast0[1] == "nil") then + e = utils.expr("nil", "literal") + else + e = symbol_to_expression(ast0, scope, true) + end + exprs = handle_compile_opts({e}, parent, opts0, ast0) + elseif ((type(ast0) == "nil") or (type(ast0) == "boolean")) then + exprs = handle_compile_opts({utils.expr(tostring(ast0), "literal")}, parent, opts0) + elseif (type(ast0) == "number") then + local n = ("%.17g"):format(ast0) + exprs = handle_compile_opts({utils.expr(n, "literal")}, parent, opts0) + elseif (type(ast0) == "string") then + local s = serialize_string(ast0) + exprs = handle_compile_opts({utils.expr(s, "literal")}, parent, opts0) + elseif (type(ast0) == "table") then + local buffer = {} + for i = 1, #ast0, 1 do + local nval = ((i ~= #ast0) and 1) + buffer[(#buffer + 1)] = exprs1(compile1(ast0[i], scope, parent, {nval = nval})) + end + local function write_other_values(k) + if ((type(k) ~= "number") or (math.floor(k) ~= k) or (k < 1) or (k > #ast0)) then + if ((type(k) == "string") and utils["is-valid-lua-identifier"](k)) then + return {k, k} + else + local _0_ = compile1(k, scope, parent, {nval = 1}) + local compiled = _0_[1] + local kstr = ("[" .. tostring(compiled) .. "]") + return {kstr, k} + end + end + end + do + local keys = nil + do + local _0_0 = utils.kvmap(ast0, write_other_values) + local function _1_(a, b) + return (a[1] < b[1]) + end + table.sort(_0_0, _1_) + keys = _0_0 + end + local function _1_(k) + local v = tostring(compile1(ast0[k[2]], scope, parent, {nval = 1})[1]) + return ("%s = %s"):format(k[1], v) + end + utils.map(keys, _1_, buffer) + end + exprs = handle_compile_opts({utils.expr(("{" .. table.concat(buffer, ", ") .. "}"), "expression")}, parent, opts0, ast0) + else + assert_compile(false, ("could not compile value of type " .. type(ast0)), ast0) + end + exprs.returned = true + return exprs + end + local function destructure(to, from, ast, scope, parent, opts) + local opts0 = (opts or {}) + local _0_ = opts0 + local declaration = _0_["declaration"] + local forceglobal = _0_["forceglobal"] + local forceset = _0_["forceset"] + local isvar = _0_["isvar"] + local nomulti = _0_["nomulti"] + local noundef = _0_["noundef"] + local setter = nil + if declaration then + setter = "local %s = %s" + else + setter = "%s = %s" + end + local new_manglings = {} + local function getname(symbol, up1) + local raw = symbol[1] + assert_compile(not (nomulti and utils["is-multi-sym"](raw)), ("unexpected multi symbol " .. raw), up1) + if declaration then + return declare_local(symbol, {var = isvar}, scope, symbol, new_manglings) + else + local parts = (utils["is-multi-sym"](raw) or {raw}) + local meta = scope.symmeta[parts[1]] + if ((#parts == 1) and not forceset) then + assert_compile(not (forceglobal and meta), ("global %s conflicts with local"):format(tostring(symbol)), symbol) + assert_compile(not (meta and not meta.var), ("expected var " .. raw), symbol) + assert_compile((meta or not noundef), ("expected local " .. parts[1]), symbol) + end + if forceglobal then + assert_compile(not scope.symmeta[scope.unmanglings[raw]], ("global " .. raw .. " conflicts with local"), symbol) + scope.manglings[raw] = global_mangling(raw) + scope.unmanglings[global_mangling(raw)] = raw + if allowed_globals then + table.insert(allowed_globals, raw) + end + end + return symbol_to_expression(symbol, scope)[1] + end + end + local function compile_top_target(lvalues) + local inits = nil + local function _2_(_241) + if scope.manglings[_241] then + return _241 + else + return "nil" + end + end + inits = utils.map(lvalues, _2_) + local init = table.concat(inits, ", ") + local lvalue = table.concat(lvalues, ", ") + local plen, plast = #parent, parent[#parent] + local ret = compile1(from, scope, parent, {target = lvalue}) + if declaration then + for pi = plen, #parent do + if (parent[pi] == plast) then + plen = pi + end + end + if ((#parent == (plen + 1)) and parent[#parent].leaf) then + parent[#parent]["leaf"] = ("local " .. parent[#parent].leaf) + else + table.insert(parent, (plen + 1), {ast = ast, leaf = ("local " .. lvalue .. " = " .. init)}) + end + end + return ret + end + local function destructure1(left, rightexprs, up1, top) + if (utils["is-sym"](left) and (left[1] ~= "nil")) then + local lname = getname(left, up1) + check_binding_valid(left, scope, left) + if top then + compile_top_target({lname}) + else + emit(parent, setter:format(lname, exprs1(rightexprs)), left) + end + elseif utils["is-table"](left) then + local s = gensym(scope) + local right = nil + if top then + right = exprs1(compile1(from, scope, parent)) + else + right = exprs1(rightexprs) + end + if (right == "") then + right = "nil" + end + emit(parent, ("local %s = %s"):format(s, right), left) + for k, v in utils.stablepairs(left) do + if (utils["is-sym"](left[k]) and (left[k][1] == "&")) then + assert_compile(((type(k) == "number") and not left[(k + 2)]), "expected rest argument before last parameter", left) + local formatted = ("{(table.unpack or unpack)(%s, %s)}"):format(s, k) + local subexpr = utils.expr(formatted, "expression") + destructure1(left[(k + 1)], {subexpr}, left) + return + else + if (utils["is-sym"](k) and (tostring(k) == ":") and utils["is-sym"](v)) then + k = tostring(v) + end + if (type(k) ~= "number") then + k = serialize_string(k) + end + local subexpr = utils.expr(("%s[%s]"):format(s, k), "expression") + destructure1(v, {subexpr}, left) + end + end + elseif utils["is-list"](left) then + local left_names, tables = {}, {} + for i, name in ipairs(left) do + local symname = nil + if utils["is-sym"](name) then + symname = getname(name, up1) + else + symname = gensym(scope) + tables[i] = {name, utils.expr(symname, "sym")} + end + table.insert(left_names, symname) + end + if top then + compile_top_target(left_names) + else + local lvalue = table.concat(left_names, ", ") + local setting = setter:format(lvalue, exprs1(rightexprs)) + emit(parent, setting, left) + end + for _, pair in utils.stablepairs(tables) do + destructure1(pair[1], {pair[2]}, left) + end + else + assert_compile(false, ("unable to bind %s %s"):format(type(left), tostring(left)), (((type(up1[2]) == "table") and up1[2]) or up1)) + end + if top then + return {returned = true} + end + end + local ret = destructure1(to, nil, ast, true) + apply_manglings(scope, new_manglings, ast) + return ret + end + local function require_include(ast, scope, parent, opts) + opts.fallback = function(e) + return utils.expr(("require(%s)"):format(tostring(e)), "statement") + end + return scopes.global.specials.include(ast, scope, parent, opts) + end + local function compile_stream(strm, options) + local opts = utils.copy(options) + local old_globals = allowed_globals + local scope = (opts.scope or make_scope(scopes.global)) + local vals = {} + local chunk = {} + local _0_ = utils.root + _0_["set-reset"](_0_) + allowed_globals = opts.allowedGlobals + if (opts.indent == nil) then + opts.indent = " " + end + if opts.requireAsInclude then + scope.specials.require = require_include + end + utils.root.chunk, utils.root.scope, utils.root.options = chunk, scope, opts + for ok, val in parser.parser(strm, opts.filename, opts) do + vals[(#vals + 1)] = val + end + for i = 1, #vals, 1 do + local exprs = compile1(vals[i], scope, chunk, {nval = (((i < #vals) and 0) or nil), tail = (i == #vals)}) + keep_side_effects(exprs, chunk, nil, vals[i]) + end + allowed_globals = old_globals + utils.root.reset() + return flatten(chunk, opts) + end + local function compile_string(str, opts) + return compile_stream(parser["string-stream"](str), (opts or {})) + end + local function compile(ast, opts) + local opts0 = utils.copy(opts) + local old_globals = allowed_globals + local chunk = {} + local scope = (opts0.scope or make_scope(scopes.global)) + local _0_ = utils.root + _0_["set-reset"](_0_) + allowed_globals = opts0.allowedGlobals + if (opts0.indent == nil) then + opts0.indent = " " + end + if opts0.requireAsInclude then + scope.specials.require = require_include + end + utils.root.chunk, utils.root.scope, utils.root.options = chunk, scope, opts0 + local exprs = compile1(ast, scope, chunk, {tail = true}) + keep_side_effects(exprs, chunk, nil, ast) + allowed_globals = old_globals + utils.root.reset() + return flatten(chunk, opts0) + end + local function traceback_frame(info) + if ((info.what == "C") and info.name) then + return (" [C]: in function '%s'"):format(info.name) + elseif (info.what == "C") then + return " [C]: in ?" + else + local remap = fennel_sourcemap[info.source] + if (remap and remap[info.currentline]) then + info["short-src"] = remap["short-src"] + info.currentline = remap[info.currentline] + end + if (info.what == "Lua") then + local function _1_() + if info.name then + return ("'" .. info.name .. "'") + else + return "?" + end + end + return string.format(" %s:%d: in function %s", info.short_src, info.currentline, _1_()) + elseif (info["short-src"] == "(tail call)") then + return " (tail call)" + else + return string.format(" %s:%d: in main chunk", info.short_src, info.currentline) + end + end + end + local function traceback(msg, start) + local msg0 = (msg or "") + if ((msg0:find("^Compile error") or msg0:find("^Parse error")) and not utils["debug-on"]("trace")) then + return msg0 + else + local lines = {} + if (msg0:find("^Compile error") or msg0:find("^Parse error")) then + table.insert(lines, msg0) + else + local newmsg = msg0:gsub("^[^:]*:%d+:%s+", "runtime error: ") + table.insert(lines, newmsg) + end + table.insert(lines, "stack traceback:") + local done_3f, level = false, (start or 2) + while not done_3f do + do + local _1_0 = debug.getinfo(level, "Sln") + if (_1_0 == nil) then + done_3f = true + elseif (nil ~= _1_0) then + local info = _1_0 + table.insert(lines, traceback_frame(info)) + end + end + level = (level + 1) + end + return table.concat(lines, "\n") + end + end + local function entry_transform(fk, fv) + local function _0_(k, v) + if (type(k) == "number") then + return k, fv(v) + else + return fk(k), fv(v) + end + end + return _0_ + end + local function no() + return nil + end + local function mixed_concat(t, joiner) + local seen = {} + local ret, s = "", "" + for k, v in ipairs(t) do + table.insert(seen, k) + ret = (ret .. s .. v) + s = joiner + end + for k, v in utils.stablepairs(t) do + if not seen[k] then + ret = (ret .. s .. "[" .. k .. "]" .. "=" .. v) + s = joiner + end + end + return ret + end + local function do_quote(form, scope, parent, runtime) + local function q(x) + return do_quote(x, scope, parent, runtime) + end + if utils["is-varg"](form) then + assert_compile(not runtime, "quoted ... may only be used at compile time", form) + return "_VARARG" + elseif utils["is-sym"](form) then + local filename = nil + if form.filename then + filename = ("%q"):format(form.filename) + else + filename = "nil" + end + local symstr = utils.deref(form) + assert_compile(not runtime, "symbols may only be used at compile time", form) + if (symstr:find("#$") or symstr:find("#[:.]")) then + return ("sym('%s', nil, {filename=%s, line=%s})"):format(autogensym(symstr, scope), filename, (form.line or "nil")) + else + return ("sym('%s', nil, {quoted=true, filename=%s, line=%s})"):format(symstr, filename, (form.line or "nil")) + end + elseif (utils["is-list"](form) and utils["is-sym"](form[1]) and (utils.deref(form[1]) == "unquote")) then + local payload = form[2] + local res = unpack(compile1(payload, scope, parent)) + return res[1] + elseif utils["is-list"](form) then + local mapped = utils.kvmap(form, entry_transform(no, q)) + local filename = nil + if form.filename then + filename = ("%q"):format(form.filename) + else + filename = "nil" + end + assert_compile(not runtime, "lists may only be used at compile time", form) + return (("setmetatable({filename=%s, line=%s, bytestart=%s, %s}" .. ", getmetatable(list()))")):format(filename, (form.line or "nil"), (form.bytestart or "nil"), mixed_concat(mapped, ", ")) + elseif (type(form) == "table") then + local mapped = utils.kvmap(form, entry_transform(q, q)) + local source = getmetatable(form) + local filename = nil + if source.filename then + filename = ("%q"):format(source.filename) + else + filename = "nil" + end + local function _1_() + if source then + return source.line + else + return "nil" + end + end + return ("setmetatable({%s}, {filename=%s, line=%s})"):format(mixed_concat(mapped, ", "), filename, _1_()) + elseif (type(form) == "string") then + return serialize_string(form) + else + return tostring(form) + end + end + return {["apply-manglings"] = apply_manglings, ["compile-stream"] = compile_stream, ["compile-string"] = compile_string, ["declare-local"] = declare_local, ["do-quote"] = do_quote, ["global-mangling"] = global_mangling, ["global-unmangling"] = global_unmangling, ["keep-side-effects"] = keep_side_effects, ["make-scope"] = make_scope, ["require-include"] = require_include, ["symbol-to-expression"] = symbol_to_expression, assert = assert_compile, autogensym = autogensym, compile = compile, compile1 = compile1, destructure = destructure, emit = emit, gensym = gensym, macroexpand = macroexpand_2a, metadata = make_metadata(), scopes = scopes, traceback = traceback} +end +package.preload["fennel.friend"] = package.preload["fennel.friend"] or function(...) + local function ast_source(ast) + local m = getmetatable(ast) + if (m and m.line and m) then + return m + else + return ast + end + end + local suggestions = {["$ and $... in hashfn are mutually exclusive"] = {"modifying the hashfn so it only contains $... or $, $1, $2, $3, etc"}, ["can't start multisym segment with a digit"] = {"removing the digit", "adding a non-digit before the digit"}, ["cannot call literal value"] = {"checking for typos", "checking for a missing function name"}, ["could not compile value of type "] = {"debugging the macro you're calling not to return a coroutine or userdata"}, ["could not read number (.*)"] = {"removing the non-digit character", "beginning the identifier with a non-digit if it is not meant to be a number"}, ["expected a function.* to call"] = {"removing the empty parentheses", "using square brackets if you want an empty table"}, ["expected binding table"] = {"placing a table here in square brackets containing identifiers to bind"}, ["expected body expression"] = {"putting some code in the body of this form after the bindings"}, ["expected each macro to be function"] = {"ensuring that the value for each key in your macros table contains a function", "avoid defining nested macro tables"}, ["expected even number of name/value bindings"] = {"finding where the identifier or value is missing"}, ["expected even number of values in table literal"] = {"removing a key", "adding a value"}, ["expected local"] = {"looking for a typo", "looking for a local which is used out of its scope"}, ["expected macros to be table"] = {"ensuring your macro definitions return a table"}, ["expected parameters"] = {"adding function parameters as a list of identifiers in brackets"}, ["expected rest argument before last parameter"] = {"moving & to right before the final identifier when destructuring"}, ["expected symbol for function parameter: (.*)"] = {"changing %s to an identifier instead of a literal value"}, ["expected var (.*)"] = {"declaring %s using var instead of let/local", "introducing a new local instead of changing the value of %s"}, ["expected vararg as last parameter"] = {"moving the \"...\" to the end of the parameter list"}, ["expected whitespace before opening delimiter"] = {"adding whitespace"}, ["global (.*) conflicts with local"] = {"renaming local %s"}, ["illegal character: (.)"] = {"deleting or replacing %s", "avoiding reserved characters like \", \\, ', ~, ;, @, `, and comma"}, ["local (.*) was overshadowed by a special form or macro"] = {"renaming local %s"}, ["macro not found in macro module"] = {"checking the keys of the imported macro module's returned table"}, ["macro tried to bind (.*) without gensym"] = {"changing to %s# when introducing identifiers inside macros"}, ["malformed multisym"] = {"ensuring each period or colon is not followed by another period or colon"}, ["may only be used at compile time"] = {"moving this to inside a macro if you need to manipulate symbols/lists", "using square brackets instead of parens to construct a table"}, ["method must be last component"] = {"using a period instead of a colon for field access", "removing segments after the colon", "making the method call, then looking up the field on the result"}, ["mismatched closing delimiter (.), expected (.)"] = {"replacing %s with %s", "deleting %s", "adding matching opening delimiter earlier"}, ["multisym method calls may only be in call position"] = {"using a period instead of a colon to reference a table's fields", "putting parens around this"}, ["unable to bind (.*)"] = {"replacing the %s with an identifier"}, ["unexpected closing delimiter (.)"] = {"deleting %s", "adding matching opening delimiter earlier"}, ["unexpected multi symbol (.*)"] = {"removing periods or colons from %s"}, ["unexpected vararg"] = {"putting \"...\" at the end of the fn parameters if the vararg was intended"}, ["unknown global in strict mode: (.*)"] = {"looking to see if there's a typo", "using the _G table instead, eg. _G.%s if you really want a global", "moving this code to somewhere that %s is in scope", "binding %s as a local in the scope of this code"}, ["unused local (.*)"] = {"fixing a typo so %s is used", "renaming the local to _%s"}, ["use of global (.*) is aliased by a local"] = {"renaming local %s", "refer to the global using _G.%s instead of directly"}} + local unpack = (_G.unpack or table.unpack) + local function suggest(msg) + local suggestion = nil + for pat, sug in pairs(suggestions) do + local matches = {msg:match(pat)} + if (0 < #matches) then + if ("table" == type(sug)) then + local out = {} + for _, s in ipairs(sug) do + table.insert(out, s:format(unpack(matches))) + end + suggestion = out + else + suggestion = sug(matches) + end + end + end + return suggestion + end + local function read_line_from_file(filename, line) + local bytes = 0 + local f = assert(io.open(filename)) + local _ = nil + for _0 = 1, (line - 1) do + bytes = (bytes + 1 + #f:read()) + end + _ = nil + local codeline = f:read() + f:close() + return codeline, bytes + end + local function read_line_from_source(source, line) + local lines, bytes, codeline = 0, 0 + for this_line, newline in string.gmatch((source .. "\n"), "(.-)(\13?\n)") do + lines = (lines + 1) + if (lines == line) then + codeline = this_line + break + end + bytes = (bytes + #newline + #this_line) + end + return codeline, bytes + end + local function read_line(filename, line, source) + if source then + return read_line_from_source(source, line) + else + return read_line_from_file(filename, line) + end + end + local function friendly_msg(msg, _0_0, source) + local _1_ = _0_0 + local byteend = _1_["byteend"] + local bytestart = _1_["bytestart"] + local filename = _1_["filename"] + local line = _1_["line"] + local ok, codeline, bol, eol = pcall(read_line, filename, line, source) + local suggestions0 = suggest(msg) + local out = {msg, ""} + if (ok and codeline) then + table.insert(out, codeline) + end + if (ok and codeline and bytestart and byteend) then + table.insert(out, (string.rep(" ", (bytestart - bol - 1)) .. "^" .. string.rep("^", math.min((byteend - bytestart), ((bol + #codeline) - bytestart))))) + end + if (ok and codeline and bytestart and not byteend) then + table.insert(out, (string.rep("-", (bytestart - bol - 1)) .. "^")) + table.insert(out, "") + end + if suggestions0 then + for _, suggestion in ipairs(suggestions0) do + table.insert(out, ("* Try %s."):format(suggestion)) + end + end + return table.concat(out, "\n") + end + local function assert_compile(condition, msg, ast, source) + if not condition then + local _1_ = ast_source(ast) + local filename = _1_["filename"] + local line = _1_["line"] + error(friendly_msg(("Compile error in %s:%s\n %s"):format((filename or "unknown"), (line or "?"), msg), ast_source(ast), source), 0) + end + return condition + end + local function parse_error(msg, filename, line, bytestart, source) + return error(friendly_msg(("Parse error in %s:%s\n %s"):format(filename, line, msg), {bytestart = bytestart, filename = filename, line = line}, source), 0) + end + return {["assert-compile"] = assert_compile, ["parse-error"] = parse_error} +end +package.preload["fennel.parser"] = package.preload["fennel.parser"] or function(...) + local utils = require("fennel.utils") + local friend = require("fennel.friend") + local unpack = (_G.unpack or table.unpack) + local function granulate(getchunk) + local c = "" + local index = 1 + local done = false + local function _0_(parser_state) + if not done then + if (index <= #c) then + local b = c:byte(index) + index = (index + 1) + return b + else + c = getchunk(parser_state) + if (not c or (c == "")) then + done = true + return nil + end + index = 2 + return c:byte(1) + end + end + end + local function _1_() + c = "" + return nil + end + return _0_, _1_ + end + local function string_stream(str) + local str0 = str:gsub("^#![^\n]*\n", "") + local index = 1 + local function _0_() + local r = str0:byte(index) + index = (index + 1) + return r + end + return _0_ + end + local delims = {[123] = 125, [125] = true, [40] = 41, [41] = true, [91] = 93, [93] = true} + local function iswhitespace(b) + return ((b == 32) or ((b >= 9) and (b <= 13))) + end + local function issymbolchar(b) + return ((b > 32) and not delims[b] and (b ~= 127) and (b ~= 34) and (b ~= 39) and (b ~= 126) and (b ~= 59) and (b ~= 44) and (b ~= 64) and (b ~= 96)) + end + local prefixes = {[35] = "hashfn", [39] = "quote", [44] = "unquote", [96] = "quote"} + local function parser(getbyte, filename, options) + local stack = {} + local line = 1 + local byteindex = 0 + local lastb = nil + local function ungetb(ub) + if (ub == 10) then + line = (line - 1) + end + byteindex = (byteindex - 1) + lastb = ub + return nil + end + local function getb() + local r = nil + if lastb then + r, lastb = lastb, nil + else + r = getbyte({["stack-size"] = #stack}) + end + byteindex = (byteindex + 1) + if (r == 10) then + line = (line + 1) + end + return r + end + local function parse_error(msg) + local _0_ = (utils.root.options or {}) + local source = _0_["source"] + local unfriendly = _0_["unfriendly"] + utils.root.reset() + if unfriendly then + return error(("Parse error in %s:%s: %s"):format((filename or "unknown"), (line or "?"), msg), 0) + else + return friend["parse-error"](msg, (filename or "unknown"), (line or "?"), byteindex, source) + end + end + local function parse_stream() + local whitespace_since_dispatch, done, retval = true + local function dispatch(v) + if (#stack == 0) then + retval = v + done = true + whitespace_since_dispatch = false + return nil + elseif stack[#stack].prefix then + local stacktop = stack[#stack] + stack[#stack] = nil + return dispatch(utils.list(utils.sym(stacktop.prefix), v)) + else + whitespace_since_dispatch = false + return table.insert(stack[#stack], v) + end + end + local function badend() + local accum = utils.map(stack, "closer") + return parse_error(("expected closing delimiter%s %s"):format((((#stack == 1) and "") or "s"), string.char(unpack(accum)))) + end + while true do + local b = nil + while true do + b = getb() + if (b and iswhitespace(b)) then + whitespace_since_dispatch = true + end + if (not b or not iswhitespace(b)) then + break + end + end + if not b then + if (#stack > 0) then + badend() + end + return nil + end + if (b == 59) then + while true do + b = getb() + if (not b or (b == 10)) then + break + end + end + elseif (type(delims[b]) == "number") then + if not whitespace_since_dispatch then + parse_error(("expected whitespace before opening delimiter " .. string.char(b))) + end + table.insert(stack, setmetatable({bytestart = byteindex, closer = delims[b], filename = filename, line = line}, getmetatable(utils.list()))) + elseif delims[b] then + if (#stack == 0) then + parse_error(("unexpected closing delimiter " .. string.char(b))) + end + local last = stack[#stack] + local val = nil + if (last.closer ~= b) then + parse_error(("mismatched closing delimiter " .. string.char(b) .. ", expected " .. string.char(last.closer))) + end + last.byteend = byteindex + if (b == 41) then + val = last + elseif (b == 93) then + val = utils.sequence(unpack(last)) + for k, v in pairs(last) do + getmetatable(val)[k] = v + end + else + if ((#last % 2) ~= 0) then + byteindex = (byteindex - 1) + parse_error("expected even number of values in table literal") + end + val = {} + setmetatable(val, last) + for i = 1, #last, 2 do + if ((tostring(last[i]) == ":") and utils["is-sym"](last[(i + 1)]) and utils["is-sym"](last[i])) then + last[i] = tostring(last[(i + 1)]) + end + val[last[i]] = last[(i + 1)] + end + end + stack[#stack] = nil + dispatch(val) + elseif (b == 34) then + local state = "base" + local chars = {34} + stack[(#stack + 1)] = {closer = 34} + while true do + b = getb() + chars[(#chars + 1)] = b + if (state == "base") then + if (b == 92) then + state = "backslash" + elseif (b == 34) then + state = "done" + end + else + state = "base" + end + if (not b or (state == "done")) then + break + end + end + if not b then + badend() + end + stack[#stack] = nil + local raw = string.char(unpack(chars)) + local formatted = nil + local function _2_(c) + return ("\\" .. c:byte()) + end + formatted = raw:gsub("[\1-\31]", _2_) + local load_fn = (_G.loadstring or load)(("return %s"):format(formatted)) + dispatch(load_fn()) + elseif prefixes[b] then + table.insert(stack, {prefix = prefixes[b]}) + local nextb = getb() + if iswhitespace(nextb) then + if (b ~= 35) then + parse_error("invalid whitespace after quoting prefix") + end + stack[#stack] = nil + dispatch(utils.sym("#")) + end + ungetb(nextb) + elseif (issymbolchar(b) or (b == string.byte("~"))) then + local chars = {} + local bytestart = byteindex + while true do + chars[(#chars + 1)] = b + b = getb() + if (not b or not issymbolchar(b)) then + break + end + end + if b then + ungetb(b) + end + local rawstr = string.char(unpack(chars)) + if (rawstr == "true") then + dispatch(true) + elseif (rawstr == "false") then + dispatch(false) + elseif (rawstr == "...") then + dispatch(utils.varg()) + elseif rawstr:match("^:.+$") then + dispatch(rawstr:sub(2)) + elseif (rawstr:match("^~") and (rawstr ~= "~=")) then + parse_error("illegal character: ~") + else + local force_number = rawstr:match("^%d") + local number_with_stripped_underscores = rawstr:gsub("_", "") + local x = nil + if force_number then + x = (tonumber(number_with_stripped_underscores) or parse_error(("could not read number \"" .. rawstr .. "\""))) + else + x = tonumber(number_with_stripped_underscores) + if not x then + if rawstr:match("%.[0-9]") then + byteindex = (((byteindex - #rawstr) + rawstr:find("%.[0-9]")) + 1) + parse_error(("can't start multisym segment " .. "with a digit: " .. rawstr)) + elseif (rawstr:match("[%.:][%.:]") and (rawstr ~= "..") and (rawstr ~= "$...")) then + byteindex = ((byteindex - #rawstr) + 1 + rawstr:find("[%.:][%.:]")) + parse_error(("malformed multisym: " .. rawstr)) + elseif rawstr:match(":.+[%.:]") then + byteindex = ((byteindex - #rawstr) + rawstr:find(":.+[%.:]")) + parse_error(("method must be last component " .. "of multisym: " .. rawstr)) + else + x = utils.sym(rawstr, nil, {byteend = byteindex, bytestart = bytestart, filename = filename, line = line}) + end + end + end + dispatch(x) + end + else + parse_error(("illegal character: " .. string.char(b))) + end + if done then + break + end + end + return true, retval + end + local function _0_() + stack = {} + return nil + end + return parse_stream, _0_ + end + return {["string-stream"] = string_stream, granulate = granulate, parser = parser} +end +local utils = nil +package.preload["fennel.utils"] = package.preload["fennel.utils"] or function(...) + local function stablepairs(t) + local keys = {} + local succ = {} + for k in pairs(t) do + table.insert(keys, k) + end + local function _0_(a, b) + return (tostring(a) < tostring(b)) + end + table.sort(keys, _0_) + for i, k in ipairs(keys) do + succ[k] = keys[(i + 1)] + end + local function stablenext(tbl, idx) + if (idx == nil) then + return keys[1], tbl[keys[1]] + else + return succ[idx], tbl[succ[idx]] + end + end + return stablenext, t, nil + end + local function map(t, f, out) + local out0 = (out or {}) + local f0 = nil + if (type(f) == "function") then + f0 = f + else + local s = f + local function _0_(x) + return x[s] + end + f0 = _0_ + end + for _, x in ipairs(t) do + local _1_0 = f0(x) + if (nil ~= _1_0) then + local v = _1_0 + table.insert(out0, v) + end + end + return out0 + end + local function kvmap(t, f, out) + local out0 = (out or {}) + local f0 = nil + if (type(f) == "function") then + f0 = f + else + local s = f + local function _0_(x) + return x[s] + end + f0 = _0_ + end + for k, x in stablepairs(t) do + local korv, v = f0(k, x) + if (korv and not v) then + table.insert(out0, korv) + end + if (korv and v) then + out0[korv] = v + end + end + return out0 + end + local function copy(from) + local to = {} + for k, v in pairs((from or {})) do + to[k] = v + end + return to + end + local function allpairs(tbl) + assert((type(tbl) == "table"), "allpairs expects a table") + local t = tbl + local seen = {} + local function allpairs_next(_, state) + local next_state, value = next(t, state) + if seen[next_state] then + return allpairs_next(nil, next_state) + elseif next_state then + seen[next_state] = true + return next_state, value + else + local meta = getmetatable(t) + if (meta and meta.__index) then + t = meta.__index + return allpairs_next(t) + end + end + end + return allpairs_next + end + local function deref(self) + return self[1] + end + local nil_sym = nil + local function list_to_string(self, tostring2) + local safe, max = {}, 0 + for k in pairs(self) do + if ((type(k) == "number") and (k > max)) then + max = k + end + end + for i = 1, max, 1 do + safe[i] = (((self[i] == nil) and nil_sym) or self[i]) + end + return ("(" .. table.concat(map(safe, (tostring2 or tostring)), " ", 1, max) .. ")") + end + local SYMBOL_MT = {"SYMBOL", __fennelview = deref, __tostring = deref} + local EXPR_MT = {"EXPR", __tostring = deref} + local LIST_MT = {"LIST", __fennelview = list_to_string, __tostring = list_to_string} + local SEQUENCE_MARKER = {"SEQUENCE"} + local VARARG = setmetatable({"..."}, {"VARARG", __fennelview = deref, __tostring = deref}) + local getenv = nil + local function _0_() + return nil + end + getenv = ((os and os.getenv) or _0_) + local function debug_on(flag) + local level = (getenv("FENNEL_DEBUG") or "") + return ((level == "all") or level:find(flag)) + end + local function list(...) + return setmetatable({...}, LIST_MT) + end + local function sym(str, scope, source) + local s = {str, scope = scope} + for k, v in pairs((source or {})) do + if (type(k) == "string") then + s[k] = v + end + end + return setmetatable(s, SYMBOL_MT) + end + nil_sym = sym("nil") + local function sequence(...) + return setmetatable({...}, {sequence = SEQUENCE_MARKER}) + end + local function expr(strcode, etype) + return setmetatable({strcode, type = etype}, EXPR_MT) + end + local function varg() + return VARARG + end + local function is_expr(x) + return ((type(x) == "table") and (getmetatable(x) == EXPR_MT) and x) + end + local function is_varg(x) + return ((x == VARARG) and x) + end + local function is_list(x) + return ((type(x) == "table") and (getmetatable(x) == LIST_MT) and x) + end + local function is_sym(x) + return ((type(x) == "table") and (getmetatable(x) == SYMBOL_MT) and x) + end + local function is_table(x) + return ((type(x) == "table") and (x ~= VARARG) and (getmetatable(x) ~= LIST_MT) and (getmetatable(x) ~= SYMBOL_MT) and x) + end + local function is_sequence(x) + local mt = ((type(x) == "table") and getmetatable(x)) + return (mt and (mt.sequence == SEQUENCE_MARKER) and x) + end + local function is_multi_sym(str) + if is_sym(str) then + return is_multi_sym(tostring(str)) + elseif (type(str) ~= "string") then + return false + else + local parts = {} + for part in str:gmatch("[^%.%:]+[%.%:]?") do + local last_char = part:sub(( - 1)) + if (last_char == ":") then + parts["multi-sym-method-call"] = true + end + if ((last_char == ":") or (last_char == ".")) then + parts[(#parts + 1)] = part:sub(1, ( - 2)) + else + parts[(#parts + 1)] = part + end + end + return ((#parts > 0) and (str:match("%.") or str:match(":")) and not str:match("%.%.") and (str:byte() ~= string.byte(".")) and (str:byte(( - 1)) ~= string.byte(".")) and parts) + end + end + local function is_quoted(symbol) + return symbol.quoted + end + local function walk_tree(root, f, custom_iterator) + local function walk(iterfn, parent, idx, node) + if f(idx, node, parent) then + for k, v in iterfn(node) do + walk(iterfn, node, k, v) + end + return nil + end + end + walk((custom_iterator or pairs), nil, nil, root) + return root + end + local lua_keywords = {"and", "break", "do", "else", "elseif", "end", "false", "for", "function", "if", "in", "local", "nil", "not", "or", "repeat", "return", "then", "true", "until", "while"} + for i, v in ipairs(lua_keywords) do + lua_keywords[v] = i + end + local function is_valid_lua_identifier(str) + return (str:match("^[%a_][%w_]*$") and not lua_keywords[str]) + end + local propagated_options = {"allowedGlobals", "indent", "correlate", "useMetadata", "env"} + local function propagate_options(options, subopts) + for _, name in ipairs(propagated_options) do + subopts[name] = options[name] + end + return subopts + end + local root = nil + local function _1_() + end + root = {chunk = nil, options = nil, reset = _1_, scope = nil} + root["set-reset"] = function(new_root) + root.reset = function() + root.chunk, root.scope, root.options, root.reset = new_root.chunk, new_root.scope, new_root.options, new_root.reset + return nil + end + return root.reset + end + local _3_ + do + local _2_0 = {"./?.fnl", "./?/init.fnl"} + table.insert(_2_0, getenv("FENNEL_PATH")) + _3_ = _2_0 + end + return {["debug-on"] = debug_on, ["is-expr"] = is_expr, ["is-list"] = is_list, ["is-multi-sym"] = is_multi_sym, ["is-quoted"] = is_quoted, ["is-sequence"] = is_sequence, ["is-sym"] = is_sym, ["is-table"] = is_table, ["is-valid-lua-identifier"] = is_valid_lua_identifier, ["is-varg"] = is_varg, ["lua-keywords"] = lua_keywords, ["propagate-options"] = propagate_options, ["walk-tree"] = walk_tree, allpairs = allpairs, copy = copy, deref = deref, expr = expr, kvmap = kvmap, list = list, map = map, path = table.concat(_3_, ";"), root = root, sequence = sequence, stablepairs = stablepairs, sym = sym, varg = varg} +end +utils = require("fennel.utils") +local parser = require("fennel.parser") +local compiler = require("fennel.compiler") +local specials = require("fennel.specials") +local repl = require("fennel.repl") +local function eval(str, options, ...) + local opts = utils.copy(options) + local _ = nil + if ((opts.allowedGlobals == nil) and not getmetatable(opts.env)) then + opts.allowedGlobals = specials["current-global-names"](opts.env) + _ = nil + else + _ = nil + end + local env = (opts.env and specials["wrap-env"](opts.env)) + local lua_source = compiler["compile-string"](str, opts) + local loader = nil + local function _1_(...) + if opts.filename then + return ("@" .. opts.filename) + else + return str + end + end + loader = specials["load-code"](lua_source, env, _1_(...)) + opts.filename = nil + return loader(...) +end +local function dofile_2a(filename, options, ...) + local opts = utils.copy(options) + local f = assert(io.open(filename, "rb")) + local source = f:read("*all") + f:close() + opts.filename = filename + return eval(source, opts, ...) +end +local mod = {["compile-stream"] = compiler["compile-stream"], ["compile-string"] = compiler["compile-string"], ["load-code"] = specials["load-code"], ["macro-loaded"] = specials["macro-loaded"], ["make-searcher"] = specials["make-searcher"], ["search-module"] = specials["search-module"], ["string-stream"] = parser["string-stream"], compile = compiler.compile, compile1 = compiler.compile1, compileStream = compiler["compile-stream"], compileString = compiler["compile-string"], doc = specials.doc, dofile = dofile_2a, eval = eval, gensym = compiler.gensym, granulate = parser.granulate, list = utils.list, loadCode = specials["load-code"], macroLoaded = specials["macro-loaded"], makeSearcher = specials["make-searcher"], make_searcher = specials["make-searcher"], mangle = compiler["global-mangling"], metadata = compiler.metadata, parser = parser.parser, path = utils.path, repl = repl, scope = compiler["make-scope"], searchModule = specials["search-module"], searcher = specials["make-searcher"](), stringStream = parser["string-stream"], sym = utils.sym, traceback = compiler.traceback, unmangle = compiler["global-unmangling"], varg = utils.varg, version = "0.5.0"} +utils["fennel-module"] = mod +do + local builtin_macros = [===[;; The code for these macros is somewhat idiosyncratic because it cannot use any + ;; macros which have not yet been defined. + + (fn -> [val ...] + "Thread-first macro. + Take the first value and splice it into the second form as its first argument. + The value of the second form is spliced into the first arg of the third, etc." + (var x val) + (each [_ e (ipairs [...])] + (let [elt (if (list? e) e (list e))] + (table.insert elt 2 x) + (set x elt))) + x) + + (fn ->> [val ...] + "Thread-last macro. + Same as ->, except splices the value into the last position of each form + rather than the first." + (var x val) + (each [_ e (pairs [...])] + (let [elt (if (list? e) e (list e))] + (table.insert elt x) + (set x elt))) + x) + + (fn -?> [val ...] + "Nil-safe thread-first macro. + Same as -> except will short-circuit with nil when it encounters a nil value." + (if (= 0 (select "#" ...)) + val + (let [els [...] + e (table.remove els 1) + el (if (list? e) e (list e)) + tmp (gensym)] + (table.insert el 2 tmp) + `(let [,tmp ,val] + (if ,tmp + (-?> ,el ,(unpack els)) + ,tmp))))) + + (fn -?>> [val ...] + "Nil-safe thread-last macro. + Same as ->> except will short-circuit with nil when it encounters a nil value." + (if (= 0 (select "#" ...)) + val + (let [els [...] + e (table.remove els 1) + el (if (list? e) e (list e)) + tmp (gensym)] + (table.insert el tmp) + `(let [,tmp ,val] + (if ,tmp + (-?>> ,el ,(unpack els)) + ,tmp))))) + + (fn doto [val ...] + "Evaluates val and splices it into the first argument of subsequent forms." + (let [name (gensym) + form `(let [,name ,val])] + (each [_ elt (pairs [...])] + (table.insert elt 2 name) + (table.insert form elt)) + (table.insert form name) + form)) + + (fn when [condition body1 ...] + "Evaluate body for side-effects only when condition is truthy." + (assert body1 "expected body") + `(if ,condition + (do ,body1 ,...))) + + (fn with-open [closable-bindings ...] + "Like `let`, but invokes (v:close) on each binding after evaluating the body. + The body is evaluated inside `xpcall` so that bound values will be closed upon + encountering an error before propagating it." + (let [bodyfn `(fn [] ,...) + closer `(fn close-handlers# [ok# ...] (if ok# ... + (error ... 0))) + traceback `(. (or package.loaded.fennel debug) :traceback)] + (for [i 1 (# closable-bindings) 2] + (assert (sym? (. closable-bindings i)) + "with-open only allows symbols in bindings") + (table.insert closer 4 `(: ,(. closable-bindings i) :close))) + `(let ,closable-bindings ,closer + (close-handlers# (xpcall ,bodyfn ,traceback))))) + + (fn partial [f ...] + "Returns a function with all arguments partially applied to f." + (let [body (list f ...)] + (table.insert body _VARARG) + `(fn [,_VARARG] ,body))) + + (fn pick-args [n f] + "Creates a function of arity n that applies its arguments to f. + + For example, + (pick-args 2 func) + expands to + (fn [_0_ _1_] (func _0_ _1_))" + (assert (and (= (type n) :number) (= n (math.floor n)) (>= n 0)) + "Expected n to be an integer literal >= 0.") + (let [bindings []] + (for [i 1 n] (tset bindings i (gensym))) + `(fn ,bindings (,f ,(unpack bindings))))) + + (fn pick-values [n ...] + "Like the `values` special, but emits exactly n values. + + For example, + (pick-values 2 ...) + expands to + (let [(_0_ _1_) ...] + (values _0_ _1_))" + (assert (and (= :number (type n)) (>= n 0) (= n (math.floor n))) + "Expected n to be an integer >= 0") + (let [let-syms (list) + let-values (if (= 1 (select :# ...)) ... `(values ,...))] + (for [i 1 n] (table.insert let-syms (gensym))) + (if (= n 0) `(values) + `(let [,let-syms ,let-values] (values ,(unpack let-syms)))))) + + (fn lambda [...] + "Function literal with arity checking. + Will throw an exception if a declared argument is passed in as nil, unless + that argument name begins with ?." + (let [args [...] + has-internal-name? (sym? (. args 1)) + arglist (if has-internal-name? (. args 2) (. args 1)) + docstring-position (if has-internal-name? 3 2) + has-docstring? (and (> (# args) docstring-position) + (= :string (type (. args docstring-position)))) + arity-check-position (- 4 (if has-internal-name? 0 1) + (if has-docstring? 0 1)) + empty-body? (< (# args) arity-check-position)] + (fn check! [a] + (if (table? a) + (each [_ a (pairs a)] + (check! a)) + (and (not (: (tostring a) :match "^?")) + (not= (tostring a) "&") + (not= (tostring a) "...")) + (table.insert args arity-check-position + `(assert (not= nil ,a) + (: "Missing argument %s on %s:%s" + :format ,(tostring a) + ,(or a.filename "unknown") + ,(or a.line "?")))))) + (assert (= :table (type arglist)) "expected arg list") + (each [_ a (ipairs arglist)] + (check! a)) + (if empty-body? + (table.insert args (sym :nil))) + `(fn ,(unpack args)))) + + (fn macro [name ...] + "Define a single macro." + (assert (sym? name) "expected symbol for macro name") + (local args [...]) + `(macros { ,(tostring name) (fn ,name ,(unpack args))})) + + (fn macrodebug [form return?] + "Print the resulting form after performing macroexpansion. + With a second argument, returns expanded form as a string instead of printing." + (let [(ok view) (pcall require :fennelview) + handle (if return? `do `print)] + `(,handle ,((if ok view tostring) (macroexpand form _SCOPE))))) + + (fn import-macros [binding1 module-name1 ...] + "Binds a table of macros from each macro module according to a binding form. + Each binding form can be either a symbol or a k/v destructuring table. + Example: + (import-macros mymacros :my-macros ; bind to symbol + {:macro1 alias : macro2} :proj.macros) ; import by name" + (assert (and binding1 module-name1 (= 0 (% (select :# ...) 2))) + "expected even number of binding/modulename pairs") + (for [i 1 (select :# binding1 module-name1 ...) 2] + (local (binding modname) (select i binding1 module-name1 ...)) + ;; generate a subscope of current scope, use require-macros + ;; to bring in macro module. after that, we just copy the + ;; macros from subscope to scope. + (local scope (get-scope)) + (local subscope (fennel.scope scope)) + (fennel.compile-string (string.format "(require-macros %q)" + modname) + {:scope subscope}) + (if (sym? binding) + ;; bind whole table of macros to table bound to symbol + (do (tset scope.macros (. binding 1) {}) + (each [k v (pairs subscope.macros)] + (tset (. scope.macros (. binding 1)) k v))) + + ;; 1-level table destructuring for importing individual macros + (table? binding) + (each [macro-name [import-key] (pairs binding)] + (assert (= :function (type (. subscope.macros macro-name))) + (.. "macro " macro-name " not found in module " modname)) + (tset scope.macros import-key (. subscope.macros macro-name))))) + nil) + + ;;; Pattern matching + + (fn match-pattern [vals pattern unifications] + "Takes the AST of values and a single pattern and returns a condition + to determine if it matches as well as a list of bindings to + introduce for the duration of the body if it does match." + ;; we have to assume we're matching against multiple values here until we + ;; know we're either in a multi-valued clause (in which case we know the # + ;; of vals) or we're not, in which case we only care about the first one. + (let [[val] vals] + (if (or (and (sym? pattern) ; unification with outer locals (or nil) + (not= :_ (tostring pattern)) ; never unify _ + (or (in-scope? pattern) + (= :nil (tostring pattern)))) + (and (multi-sym? pattern) + (in-scope? (. (multi-sym? pattern) 1)))) + (values `(= ,val ,pattern) []) + ;; unify a local we've seen already + (and (sym? pattern) + (. unifications (tostring pattern))) + (values `(= ,(. unifications (tostring pattern)) ,val) []) + ;; bind a fresh local + (sym? pattern) + (let [wildcard? (= (tostring pattern) "_")] + (if (not wildcard?) (tset unifications (tostring pattern) val)) + (values (if (or wildcard? (: (tostring pattern) :find "^?")) + true `(not= ,(sym :nil) ,val)) + [pattern val])) + ;; guard clause + (and (list? pattern) (sym? (. pattern 2)) (= :? (tostring (. pattern 2)))) + (let [(pcondition bindings) (match-pattern vals (. pattern 1) + unifications) + condition `(and ,pcondition)] + (for [i 3 (# pattern)] ; splice in guard clauses + (table.insert condition (. pattern i))) + (values `(let ,bindings ,condition) bindings)) + + ;; multi-valued patterns (represented as lists) + (list? pattern) + (let [condition `(and) + bindings []] + (each [i pat (ipairs pattern)] + (let [(subcondition subbindings) (match-pattern [(. vals i)] pat + unifications)] + (table.insert condition subcondition) + (each [_ b (ipairs subbindings)] + (table.insert bindings b)))) + (values condition bindings)) + ;; table patterns + (= (type pattern) :table) + (let [condition `(and (= (type ,val) :table)) + bindings []] + (each [k pat (pairs pattern)] + (if (and (sym? pat) (= "&" (tostring pat))) + (do (assert (not (. pattern (+ k 2))) + "expected rest argument before last parameter") + (table.insert bindings (. pattern (+ k 1))) + (table.insert bindings [`(select ,k ((or _G.unpack + table.unpack) + ,val))])) + (and (= :number (type k)) + (= "&" (tostring (. pattern (- k 1))))) + nil ; don't process the pattern right after &; already got it + (let [subval `(. ,val ,k) + (subcondition subbindings) (match-pattern [subval] pat + unifications)] + (table.insert condition subcondition) + (each [_ b (ipairs subbindings)] + (table.insert bindings b))))) + (values condition bindings)) + ;; literal value + (values `(= ,val ,pattern) [])))) + + (fn match-condition [vals clauses] + "Construct the actual `if` AST for the given match values and clauses." + (if (not= 0 (% (length clauses) 2)) ; treat odd final clause as default + (table.insert clauses (length clauses) (sym :_))) + (let [out `(if)] + (for [i 1 (length clauses) 2] + (let [pattern (. clauses i) + body (. clauses (+ i 1)) + (condition bindings) (match-pattern vals pattern {})] + (table.insert out condition) + (table.insert out `(let ,bindings ,body)))) + out)) + + (fn match-val-syms [clauses] + "How many multi-valued clauses are there? return a list of that many gensyms." + (let [syms (list (gensym))] + (for [i 1 (length clauses) 2] + (if (list? (. clauses i)) + (each [valnum (ipairs (. clauses i))] + (if (not (. syms valnum)) + (tset syms valnum (gensym)))))) + syms)) + + (fn match [val ...] + "Perform pattern matching on val. See reference for details." + (let [clauses [...] + vals (match-val-syms clauses)] + ;; protect against multiple evaluation of the value, bind against as + ;; many values as we ever match against in the clauses. + (list `let [vals val] + (match-condition vals clauses)))) + + {: -> : ->> : -?> : -?>> + : doto : when : with-open + : partial : lambda + : pick-args : pick-values + : macro : macrodebug : import-macros + : match} + ]===] + local module_name = "fennel.macros" + local _ = nil + local function _0_() + return mod + end + package.preload[module_name] = _0_ + _ = nil + local env = specials["make-compiler-env"](nil, compiler.scopes.compiler, {}) + local built_ins = eval(builtin_macros, {allowedGlobals = false, env = env, filename = "src/fennel/macros.fnl", moduleName = module_name, scope = compiler.scopes.compiler, useMetadata = true}) + for k, v in pairs(built_ins) do + compiler.scopes.global.macros[k] = v + end + compiler.scopes.global.macros["\206\187"] = compiler.scopes.global.macros.lambda + package.preload[module_name] = nil +end +return mod diff --git a/lib/fennelview.lua b/lib/fennelview.lua new file mode 100644 index 0000000..ecd5660 --- /dev/null +++ b/lib/fennelview.lua @@ -0,0 +1,225 @@ +local function view_quote(str) + return ("\"" .. str:gsub("\"", "\\\"") .. "\"") +end +local short_control_char_escapes = {["\11"] = "\\v", ["\12"] = "\\f", ["\13"] = "\\r", ["\7"] = "\\a", ["\8"] = "\\b", ["\9"] = "\\t", ["\n"] = "\\n"} +local long_control_char_escapes = nil +do + local long = {} + for i = 0, 31 do + local ch = string.char(i) + if not short_control_char_escapes[ch] then + short_control_char_escapes[ch] = ("\\" .. i) + long[ch] = ("\\%03d"):format(i) + end + end + long_control_char_escapes = long +end +local function escape(str) + return str:gsub("\\", "\\\\"):gsub("(%c)%f[0-9]", long_control_char_escapes):gsub("%c", short_control_char_escapes) +end +local function sequence_key_3f(k, len) + return ((type(k) == "number") and (1 <= k) and (k <= len) and (math.floor(k) == k)) +end +local type_order = {["function"] = 5, boolean = 2, number = 1, string = 3, table = 4, thread = 7, userdata = 6} +local function sort_keys(a, b) + local ta = type(a) + local tb = type(b) + if ((ta == tb) and (ta ~= "boolean") and ((ta == "string") or (ta == "number"))) then + return (a < b) + else + local dta = type_order[a] + local dtb = type_order[b] + if (dta and dtb) then + return (dta < dtb) + elseif dta then + return true + elseif dtb then + return false + elseif "else" then + return (ta < tb) + end + end +end +local function get_sequence_length(t) + local len = 1 + for i in ipairs(t) do + len = i + end + return len +end +local function get_nonsequential_keys(t) + local keys = {} + local sequence_length = get_sequence_length(t) + for k in pairs(t) do + if not sequence_key_3f(k, sequence_length) then + table.insert(keys, k) + end + end + table.sort(keys, sort_keys) + return keys, sequence_length +end +local function count_table_appearances(t, appearances) + if (type(t) == "table") then + if not appearances[t] then + appearances[t] = 1 + for k, v in pairs(t) do + count_table_appearances(k, appearances) + count_table_appearances(v, appearances) + end + end + else + if (t and (t == t)) then + appearances[t] = ((appearances[t] or 0) + 1) + end + end + return appearances +end +local put_value = nil +local function puts(self, ...) + for _, v in ipairs({...}) do + table.insert(self.buffer, v) + end + return nil +end +local function tabify(self) + return puts(self, "\n", (self.indent):rep(self.level)) +end +local function already_visited_3f(self, v) + return (self.ids[v] ~= nil) +end +local function get_id(self, v) + local id = self.ids[v] + if not id then + local tv = type(v) + id = ((self["max-ids"][tv] or 0) + 1) + self["max-ids"][tv] = id + self.ids[v] = id + end + return tostring(id) +end +local function put_sequential_table(self, t, len) + puts(self, "[") + self.level = (self.level + 1) + for i = 1, len do + local _0_ = (1 + len) + if ((1 < i) and (i < _0_)) then + puts(self, " ") + end + put_value(self, t[i]) + end + self.level = (self.level - 1) + return puts(self, "]") +end +local function put_key(self, k) + if ((type(k) == "string") and k:find("^[-%w?\\^_!$%&*+./@:|<=>]+$")) then + return puts(self, ":", k) + else + return put_value(self, k) + end +end +local function put_kv_table(self, t, ordered_keys) + puts(self, "{") + self.level = (self.level + 1) + for i, k in ipairs(ordered_keys) do + if (self["table-edges"] or (i ~= 1)) then + tabify(self) + end + put_key(self, k) + puts(self, " ") + put_value(self, t[k]) + end + for i, v in ipairs(t) do + tabify(self) + put_key(self, i) + puts(self, " ") + put_value(self, v) + end + self.level = (self.level - 1) + if self["table-edges"] then + tabify(self) + end + return puts(self, "}") +end +local function put_table(self, t) + local metamethod = nil + local function _1_() + local _0_0 = t + if _0_0 then + local _2_0 = getmetatable(_0_0) + if _2_0 then + return _2_0.__fennelview + else + return _2_0 + end + else + return _0_0 + end + end + metamethod = (self["metamethod?"] and _1_()) + if (already_visited_3f(self, t) and self["detect-cycles?"]) then + return puts(self, "#
") + elseif (self.level >= self.depth) then + return puts(self, "{...}") + elseif metamethod then + return puts(self, metamethod(t, self.fennelview)) + elseif "else" then + local non_seq_keys, len = get_nonsequential_keys(t) + local id = get_id(self, t) + if ((1 < (self.appearances[t] or 0)) and self["detect-cycles?"]) then + return puts(self, "#") + elseif ((#non_seq_keys == 0) and (#t == 0)) then + local function _2_() + if self["empty-as-square"] then + return "[]" + else + return "{}" + end + end + return puts(self, _2_()) + elseif (#non_seq_keys == 0) then + return put_sequential_table(self, t, len) + elseif "else" then + return put_kv_table(self, t, non_seq_keys) + end + end +end +local function _0_(self, v) + local tv = type(v) + if (tv == "string") then + return puts(self, view_quote(escape(v))) + elseif ((tv == "number") or (tv == "boolean") or (tv == "nil")) then + return puts(self, tostring(v)) + elseif (tv == "table") then + return put_table(self, v) + elseif "else" then + return puts(self, "#<", tostring(v), ">") + end +end +put_value = _0_ +local function one_line(str) + local ret = str:gsub("\n", " "):gsub("%[ ", "["):gsub(" %]", "]"):gsub("%{ ", "{"):gsub(" %}", "}"):gsub("%( ", "("):gsub(" %)", ")") + return ret +end +local function fennelview(x, options) + local options0 = (options or {}) + local inspector = nil + local function _1_(_241) + return fennelview(_241, options0) + end + local function _2_() + if options0["one-line"] then + return "" + else + return " " + end + end + inspector = {["detect-cycles?"] = not (false == options0["detect-cycles?"]), ["empty-as-square"] = options0["empty-as-square"], ["max-ids"] = {}, ["metamethod?"] = not (false == options0["metamethod?"]), ["table-edges"] = (options0["table-edges"] ~= false), appearances = count_table_appearances(x, {}), buffer = {}, depth = (options0.depth or 128), fennelview = _1_, ids = {}, indent = (options0.indent or _2_()), level = 0} + put_value(inspector, x) + local str = table.concat(inspector.buffer) + if options0["one-line"] then + return one_line(str) + else + return str + end +end +return fennelview diff --git a/lib/stdio.fnl b/lib/stdio.fnl new file mode 100644 index 0000000..52d6ef6 --- /dev/null +++ b/lib/stdio.fnl @@ -0,0 +1,46 @@ +(require "love.event") +(local view (require "lib.fennelview")) + +;; This module exists in order to expose stdio over a channel so that it +;; can be used in a non-blocking way from another thread. + +(local (event channel) ...) + +(when channel + (let [prompt (fn [] (io.write "> ") (io.flush) (io.read "*l"))] + ((fn looper [input] + (when input + ;; This is consumed by love.handlers[event] + (love.event.push event input) + (let [output (: channel :demand)] + ;; There is probably a more efficient way of determining an error + (if (and (. output 2) (= "Error:" (. output 2))) + (print (view output)) + (each [_ ret (ipairs output)] + (print ret)))) + (io.flush) + (looper (prompt)))) (prompt)))) + +{:start (fn start-repl [] + + (let [code (love.filesystem.read "lib/stdio.fnl") + luac (if code + (love.filesystem.newFileData + (fennel.compileString code) "io") + (love.filesystem.read "lib/stdio.lua")) + thread (love.thread.newThread luac) + io-channel (love.thread.newChannel) + coro (coroutine.create fennel.repl) + out (fn [val] + (: io-channel :push val)) + options {:readChunk coroutine.yield + :onValues out + :onError (fn [kind ...] (out [kind "Error:" ...])) + :pp view + :moduleName "lib.fennel"}] + ;; this thread will send "eval" events for us to consume: + (coroutine.resume coro options) + (: thread :start "eval" io-channel) + (set love.handlers.eval + (fn [input] + (coroutine.resume coro (.. input "\n"))))))} diff --git a/lite.lua b/lite.lua new file mode 120000 index 0000000..c89bd17 --- /dev/null +++ b/lite.lua @@ -0,0 +1 @@ +../lite/main.lua \ No newline at end of file diff --git a/machine.fnl b/machine.fnl new file mode 100644 index 0000000..216c3ad --- /dev/null +++ b/machine.fnl @@ -0,0 +1,109 @@ +(local command (require "core.command")) +(local spawn (require "spawn")) +(local socket (require "socket")) +(local json (require "dkjson")) + +(local gsplus-path "/home/jeremy/src/gsplus/result/bin/GSplus") + +(local debug-port 8769) +(local reg-write-format { + :ip "k%06X " + :a "a%04X " + :x "x%04X " + :y "y%04X " + :s "s%04X " + :d "d%04X " + :b "b%02X " + :psr "p%06X " +}) +(local machine +{:boot + (fn [self] + (when (not self.pid) + (set self.pid (spawn [:nixGL gsplus-path :-debugport (tostring debug-port)])))) + :die + (fn [self] + (when self.pid + (spawn [:kill (tostring self.pid)]) + (set self.pid nil) + (when self.socket + (self.socket:close) + (set self.socket nil)))) + :connect + (fn [self] + (when (not self.socket) + (set self.socket (socket.connect :localhost debug-port)) + (if self.socket + (self.socket:settimeout 1) + (love.timer.sleep 0.25)))) + :disconnect + (fn [self] + (when self.socket + (self.socket:close) + (set self.socket nil))) + :cmd (fn [self cmd] (self.socket:send (.. cmd "\n"))) + :response + (fn [self] + (var bytes "") + (var done false) + (while (not done) + (local (line err) (self.socket:receive)) + (set done (or (= line "") (= line nil))) + (when line (set bytes (.. bytes line)))) + (json.decode bytes)) + :cmd-response (fn [self cmd] (self:cmd cmd) (self:response)) + :hello (fn [self] (self:cmd-response "1")) + :continue (fn [self] (self:cmd-response "3")) + :step (fn [self] (self:cmd-response "2")) + :getreg (fn [self] (self:cmd-response "4")) + :set-bp (fn [self addr] (self:cmd-response (.. "8" (string.format "%06X" addr)))) + :delete-bp (fn [self addr] (self:cmd-response (.. "9" (string.format "%06X" addr)))) + :get-bp (fn [self] (self:cmd-response "A")) + :write + (fn [self addr bytes] + (self:cmd-response (.. "7" (string.format "%06X" addr) (bytes:tohex)))) + :setreg + (fn [self regvals] + (var bytes "5") + (each [reg val (pairs regvals)] + (set bytes (.. bytes (string.format (. reg-write-format reg) val)))) + (self:cmd-response bytes)) + :stop-at + (fn [self addr k] + (local fulladdr (bit.bor addr (bit.lshift (or k 0) 16))) + (self:set-bp fulladdr) + (var retries 5) + (while (> retries 0) + (local reg (. (self:getreg) 1 :data)) + (pp reg.PC.fromhex) + (local pc (reg.PC:fromhex)) + (pp) + (local curr-k (reg.K:fromhex)) + (print (curr-k:tohex) (pc:tohex)) + (if (and (= pc addr) (= curr-k (or k 0))) + (set retries 0) + (do (love.timer.sleep 1) (set retries (- retries 1))))) + (self:delete-bp fulladdr)) +}) + +(command.add #(not machine.pid) { + "gsplus:launch-gsplus" #(machine:boot) + "gsplus:boot" (fn [] + (machine:boot) + (while (not machine.socket) (pp (machine:connect))) + (machine:hello) + ) +}) +(command.add (fn [] machine.socket) { + "gsplus:disconnect" #(machine:disconnect) + "gsplus:hello" #(machine:hello) + "gsplus:dump-cpu-state" #(pp (machine:getreg)) + "gsplus:step" #(pp (machine:step)) + "gsplus:continue" #(pp (machine:continue)) +}) +(command.add #(not machine.socket) { + "gsplus:connect" #(machine:connect) +}) + +machine + diff --git a/main.lua b/main.lua new file mode 100644 index 0000000..2c88a23 --- /dev/null +++ b/main.lua @@ -0,0 +1,21 @@ +-- bootstrap the compiler +fennel = require("lib.fennel") +table.insert(package.loaders, fennel.make_searcher({correlate=true})) +fv = require("lib.fennelview") +pp = function(x) print(fv(x)) end + +function reload(modname) + package.loaded[modname] = nil + return require(modname) +end + +_coroutine_resume = coroutine.resume +function coroutine.resume(...) + local state,result = _coroutine_resume(...) + if not state then + error( tostring(result), 2 ) -- Output error message + end + return state,result +end + +require("wrap") \ No newline at end of file diff --git a/spawn.lua b/spawn.lua new file mode 100644 index 0000000..180b865 --- /dev/null +++ b/spawn.lua @@ -0,0 +1,41 @@ +-- adapted from https://gist.github.com/iMega/f47f5a2ae1f02d7d5769a008538fd925 + +local ffi = require 'ffi' +local C = ffi.C + +ffi.cdef([[ +typedef int32_t pid_t; +pid_t fork(void); +int open(const char *pathname, int flags, int mode); +int close(int fd); +int dup2(int oldfd, int newfd); +int execvp(const char *file, char *const argv[]); +]]) + +local bor = bit.bor + +local ffi_cast = ffi.cast +local k_char_p_arr_t = ffi.typeof('const char * [?]') +local char_p_k_p_t = ffi.typeof('char * const *') + +local function spawn(args) + if not args or #args == 0 then error("couldn't tokenize cmd_line") end + + local pid = C.fork() + if pid < 0 then + error("fork failed " .. ffi.errno()) + elseif pid == 0 then -- child process + local argv = k_char_p_arr_t(#args + 1) -- automatically NULL terminated + for i = 1, #args do + argv[i-1] = args[i] -- args is 1-based Lua table, argv is 0-based C array + end + + local res = C.execvp(args[1], ffi_cast(char_p_k_p_t, argv)) + if res == -1 then error("execvp failed with " .. ffi.errno()) end + -- HERE SHOULD BE UNREACHABLE!! + else + return pid + end +end + +return spawn \ No newline at end of file diff --git a/stream.fnl b/stream.fnl new file mode 100644 index 0000000..5786bb4 --- /dev/null +++ b/stream.fnl @@ -0,0 +1,163 @@ +(var make-stream nil) +(fn stream [table] + (make-stream + {:table (or table []) + :i 0 + :n (length table) + :step 1 + :next + (fn [self] + (when (~= self.i self.n) + (set self.i (+ self.i self.step)) + true)) + :curr (fn [self] (. self.table self.i)) + :reverse + (fn [self] + (local prev-i self.i) + (set self.i (+ self.n self.step)) + (set self.n (+ prev-i self.step)) + (set self.step (* self.step -1)) + self)})) + +(fn kvstream [table] + (make-stream + {:table (or table {}) + :curr-key nil + :curr-val :start + :curr (fn [self] (values self.curr-key self.curr-val)) + :keys (fn [self] (self:map (fn [k v] k))) + :values (fn [self] (self:map (fn [k v] v))) + :next + (fn [self] + (when self.curr-val + (set (self.curr-key self.curr-val) (next self.table self.curr-key))) + (~= self.curr-key nil))})) + +(fn one [...] + (make-stream + {:vals [...] + :advanced false + :curr (fn [self] (unpack self.vals)) + :next + (fn [self] + (if self.advanced + false + (do + (set self.advanced true) + true)))})) + +(fn iter [self] + (values + (fn [self _] + (when (self:next) + (self:curr))) + self + nil)) + +(fn first [self] + (if (self:next) (self:curr) nil)) + +(fn map [stream f] + (make-stream + {: stream : f + :curr (fn [self] (self.f (self.stream:curr))) + :next (fn [self] (self.stream:next)) + :reverse + (fn [self] + (set self.stream (self.stream:reverse)) + self)})) + +(fn filter [stream f] + (make-stream + {: stream : f :curr-val nil + :curr (fn [self] self.curr-val) + :next + (fn [self] + (set self.curr-val nil) + (var has-more (self.stream:next)) + (while has-more + (let [curr (self.stream:curr) + include? (self.f curr)] + (when include? + (set self.curr-val curr)) + (set has-more (if include? false (self.stream:next))))) + self.curr-val)})) + +(fn reduce [stream f init] + (var val init) + (each [v (stream:iter)] + (set val (f val v))) + val) + +(fn flatten [stream] + (make-stream + {: stream + :curr-stream nil + :curr (fn [self] (self.curr-stream:curr)) + :next + (fn [self] + (var reached-next + (if self.curr-stream (self.curr-stream:next) false)) + (while (not reached-next) + (set self.curr-stream + (if (self.stream:next) (self.stream:curr) nil)) + (set reached-next + (if self.curr-stream (self.curr-stream:next) true))) + (~= self.curr-stream nil))})) + +(fn concat [s ...] + (: (stream [s ...]) :flatten)) + +(fn skip [stream n] + (make-stream + {: stream + : n + :curr (fn [self] (self.stream:curr)) + :next + (fn [self] + (for [_ 1 self.n] + (self.stream:next)) + (set self.n 0) + (self.stream:next))})) + +(fn take [stream n] + (make-stream + {: stream + : next + :curr (fn [self] (self.stream:curr)) + :next + (fn [self] + (if (> self.n 0) + (do + (set self.n (- self.n 1)) + (self.stream:next)) + false))})) + +(fn tolist [stream] + (let [l []] + (each [v (stream:iter)] + (table.insert l v)) + l)) + +(fn tomap [stream] + (let [m {}] + (each [k v (stream:iter)] + (tset m k v)) + m)) + +(set make-stream + (fn [stream] + (set stream.iter iter) + (set stream.map map) + (set stream.filter filter) + (set stream.first first) + (set stream.reduce reduce) + (set stream.flatten flatten) + (set stream.concat concat) + (set stream.skip skip) + (set stream.take take) + (set stream.tolist tolist) + (set stream.tomap tomap) + stream)) + +{: stream : kvstream : one} \ No newline at end of file diff --git a/test.fnl b/test.fnl new file mode 100644 index 0000000..af60f5f --- /dev/null +++ b/test.fnl @@ -0,0 +1,14 @@ +(local program (require "asm")) +(local {: stream : kvstream : one} (require "stream")) + +(local prg (program)) + +(prg:block :print-chars-forever 0x0c00 + :start + [:dex] + [:txa] + [:jsr :0xfded] + [:jmp :start]) +(prg:assemble) +(set prg.start-symbol :print-chars-forever) +prg \ No newline at end of file diff --git a/util.fnl b/util.fnl new file mode 100644 index 0000000..c3e0342 --- /dev/null +++ b/util.fnl @@ -0,0 +1,9 @@ +(fn table.clone [tbl] + (let [newtbl {}] + (each [k v (pairs tbl)] + (tset newtbl k v)) + newtbl)) +(fn string.fromhex [str] + (str:gsub ".." (fn [cc] (string.char (tonumber cc 16))))) +(fn string.tohex [str] + (str:gsub "." (fn [c] (string.format "%02X" (string.byte c))))) diff --git a/wrap.fnl b/wrap.fnl new file mode 100644 index 0000000..d5d362a --- /dev/null +++ b/wrap.fnl @@ -0,0 +1,47 @@ +(require "lite") +(require "util") +(local imgui (require "imgui")) +(local machine (require "machine")) + +(fn love.load [] + ; (repl.start) + ) + +(fn love.update [dt] + (imgui.NewFrame)) + +(fn love.draw [] + (when machine.socket + (when (imgui.Button "Stop on keypress") + (machine:stop-at 0xfd1b)) + (when (imgui.Button "Upload") + (local prg (reload "test")) + (each [_ block (pairs prg.symbols)] + (pp (machine:write block.addr block.bytes))) + (pp (machine:setreg {:ip (. prg.symbols prg.start-symbol :addr)})) + (pp (machine:continue)))) + (imgui.Render)) + +(fn love.quit [] + (imgui.ShutDown)) + +(fn love.textinput [t] + (imgui.TextInput t)) + +(fn love.keypressed [key] + (imgui.KeyPressed key)) + +(fn love.keyreleased [key] + (imgui.KeyReleased key)) + +(fn love.mousemoved [x y] + (imgui.MouseMoved x y)) + +(fn love.mousepressed [x y button] + (imgui.MousePressed button)) + +(fn love.mousereleased [x y button] + (imgui.MouseReleased button)) + +(fn love.wheelmoved [x y] + (imgui.WheelMoved y))