From a99c3ec2b8eb8d8f2223e8175790539a675ffcac Mon Sep 17 00:00:00 2001 From: NiLSPACE Date: Mon, 4 Nov 2024 23:43:20 +0100 Subject: [PATCH] Added code to export definitions for a lua-language-server (#5475) * Added code to export definitions for a lua-language-server * Renamed VSCode -> LLS * Fixed global variables/functions in APIDump being part of API docs * Added article explaining how to configure lua-language-server --- Server/Plugins/APIDump/APIDesc.lua | 4 + .../APIDump/SettingUpLuaLanguageServer.html | 42 ++++ .../APIDump/Static/vscode_lua_addon.png | Bin 0 -> 72014 bytes .../APIDump/Static/vscode_lua_settings.png | Bin 0 -> 24284 bytes Server/Plugins/APIDump/_preload.lua | 22 ++ Server/Plugins/APIDump/lualanguageserver.lua | 223 ++++++++++++++++++ Server/Plugins/APIDump/main_APIDump.lua | 7 +- 7 files changed, 296 insertions(+), 2 deletions(-) create mode 100644 Server/Plugins/APIDump/SettingUpLuaLanguageServer.html create mode 100644 Server/Plugins/APIDump/Static/vscode_lua_addon.png create mode 100644 Server/Plugins/APIDump/Static/vscode_lua_settings.png create mode 100644 Server/Plugins/APIDump/_preload.lua create mode 100644 Server/Plugins/APIDump/lualanguageserver.lua diff --git a/Server/Plugins/APIDump/APIDesc.lua b/Server/Plugins/APIDump/APIDesc.lua index 0bcbca848..54a8d4e4f 100644 --- a/Server/Plugins/APIDump/APIDesc.lua +++ b/Server/Plugins/APIDump/APIDesc.lua @@ -19246,6 +19246,10 @@ end FileName = "SettingUpZeroBrane.html", Title = "Setting up the ZeroBrane Studio Lua IDE", }, + { + FileName = "SettingUpLuaLanguageServer.html", + Title = "Setting up Lua-Language-Server (VSCode/Emacs)" + }, { FileName = "UsingChunkStays.html", Title = "Using ChunkStays", diff --git a/Server/Plugins/APIDump/SettingUpLuaLanguageServer.html b/Server/Plugins/APIDump/SettingUpLuaLanguageServer.html new file mode 100644 index 000000000..ffe79aed9 --- /dev/null +++ b/Server/Plugins/APIDump/SettingUpLuaLanguageServer.html @@ -0,0 +1,42 @@ + + + + + Cuberite - Setting up the Lua-Language-Server (VSCode) + + + + + + + + +
+

Setting up the Lua-Language-Server (VSCode)

+

This article will explain how to configure an IDE that is able to use the Lua-Language-Server. This article will show how it's done using Visual Studio Code, but it should work with any IDE that supports language servers.

+ +

About Language Servers

+ +

IDE's in the past always implemented every programming language they supported on their own, it was baked in. Because of this everyone supported different features. With language servers this all changes. A single language server can be created with a community which can be shared across any number of IDE's which support the protocol. To learn more about language servers and IDE's that support them see langserver.org

+ +

First-time setup

+

Visual Studio Code doesn't support Lua by default. Instead it has a marketplace where extensions can be downloaded from. In this example we're going to use the Lua extension by Sumneko who also created the language server.

+ + + +

Libraries

+

The extension doesn't know the Cuberite API by default. The extension, or rather the language server, supports the inclusion of libraries. In order to generate the definitions required by the language server you have to activate the APIDump plugin in Cuberite which is included by default but not enabled. When the plugin is enabled the entire API can be exported by using the 'api' command in the console. Once this has completed there is a new folder next to the Cuberite executable called LLS.

+

In order to use these definition files you need to create a settings.json file in the plugin folder you're developing for. This file should be in a folder called '.vscode'. If it doesn't exist yet you have to create it yourself. There are two important settings to configure: +

+

+ +

After configuring your settings.json file would something like this:

+ + +

After saving the settings.json file the IDE should recognize Cuberite's API.

+
+ + diff --git a/Server/Plugins/APIDump/Static/vscode_lua_addon.png b/Server/Plugins/APIDump/Static/vscode_lua_addon.png new file mode 100644 index 0000000000000000000000000000000000000000..109f220ceacb4ada02d1a673ff937b6d8143c38c GIT binary patch literal 72014 zcmc$_V|ZoX5@_( z*?X^DwQ8-Zx8AA~E-xz%fWw6Y0RaI>N{A?efIuLCfPkjLKmotu^ypUr{sVPV6c+-i zp8RqQ96*=}eisA*sf&ewGk^q+VeKU}oIpSj2mk(oCetF~fq;A#ONt08yX&59KzpI@ zFG6qodR&qr3lYJRH%<#N&Z5LqP=!SVz+j3nV9`;zqQi&j@Z(XHsiC9GqeC7O;UmyP zNDx5?!4*B;O#Co2b#raVwD$PJ^D%sEVwQTA!)jM|vPj>F9mPD1ZS=1X+{Ll9{|;nA z(V+f&iPr!BV32=;2K6v$kNX1i1&S}o5L(TI_}}jVPJ4n@VY|^EnS4Cf;1)8_isjd7 z&361%olfd2mVeacVPAQzz;D)n&K0NY-!fncYP)YU*`rAWXfQ{l!O!*TDJJ$Y*rh^ zl$Ft;0JuSj_^Xk}?Ib*%cW%h!^bBj6{*-*SSI*(9M`5^3O~Su`w6}8Ywrp`wOP52FgRVANmHr-; z&E<<82#uw3@@TY4r1&nSo%oW$pwn*b*b~9jE%*HVyxiub_EQiElH>j5ekdG`(&6AY z4p3fsriAqL;PbT>T4_r{aOBAv<{Mv)+ zp4*q`fC9q}{Vq4iGg%wd1r)d9s07Z&x3_2bv4r-(gfDjlIo~MX zQ4}@@^nBj|+}v$D?^Up?Q|#}a@Q8?*eRekazPopJI$Z=bu=OsdTZTD-dVe>w%4+mn z`xaltI7|suEg?qrZ{>W_9&atcD3~fO;>d2h8k)0`sfi%W10*Wr5RvI?2F-WOBpNUD zmsbkImY3(0{@iV3O_ZQMx9|P>%r-egDyY^|=VH3M4^+-KV(|@}H^QO$(+fzVZRu3? z&7jpI{SJrXwWAWqYip00P-AFef*DgA?@j8uI59CX<}(G535hkSRGSs_mU!ss5T2gj zbQIj-dc~r!Vo<^q7YpJ%Y^WazfxE0XubeD9CMMXtLxWLj;tI_41`Kd(d?)e(# zd2nz*@gOZBfxc#0(_=Ie^J|K68b2^#am^Ml{9O)3O{PppY@?nM`aZ+@sxvQ(I`2Kz96&)K}om>UyNLSIZcWrHa+x_l^m4#(UNpF{i zu7r+gBzWrHZ^c5k{f&B_JE1q+P8O;hJlVPWO$IMLgq zkm3#f(sB&36a}N+`U8JEb}?H!{@M=xNvpd=J6KC!j?H1oOIE18z-*2#YaK1{#C`o7 zXC4$ZY+w|7pb$FPRWz|Oak-G82RASckL^$RHX`Wko21DmTck9$dOpmgFN2^$KleaZ0 z%g%`Ru*@pZdA%#@hK3{@b{|R*hRS;#G*Z&j9~KtJibN}tovudcWXSCd9+v0(`_y23 z^t-2}p5l*jG2*9<*w`rJHnnL90g6*we2In0`F zJKiGl7Nag}ZfOy>wavMBp?acB(Ps1xk;~;HZ7w!aC#NuGY)yKIEToaeZmdxonIf z3hkw1j*<{xW9nsB^~B^{7tZgCF%YB}u)oaJiUh9g&hnkGYxK4j1-a^W>TW#W*Mw_a zNW1~uIcK)o@(z?ci8PaR^IyMN#NEg$+(X{$(q8JRbaOJNqWYV@Bg9bpLcJ3A_923L z7w=A+g;fhb;v`eu?w^qNMc|TiwLnASEGft-$HJxwu=*eUX_hIp- z7h5T!!QS~yzZR%s0p?6RnG=EI^|+{jLE)EpO!8OKa%kB>Tt@< z+t5Z{G-YrVJVtE_pC3k6$6v&1z6UoKH)GEmi>XZeR3EqQOPVU|NOWQn!PrrdjJwVTYPsHS< zS_0_MuY23zqCPp&@zUse_9h+u;v}ZH5tZNo4jVkE6gIF@fDctziGE)B$(_}yhgEK+ zRbcn3fFOtt8sxDuiGa7Id6s?t_JA^zVDxx2fj96(4l6JCH5dAC2HtdYtcK!h%@zD` zk_6oa+9-emu81nHz)u2C9*6buhXOd`YAz~_^7%ktpYHED@2YYl1%ME&cg~TMXfeYP zYcY!p<1z01JB{?a_FNA;&AGx%>EzF!KX;oE>l%SFU3_pJO0A0697;h%PVJhG+DtH+2ZZ@+H`@*ao7jM?=yPO zn;6lQUpPgpzO<&_qkC<()TU9bc_ z(Wf~s_#RXi_(E1s(uWP%FdPn>AtxuNbWo190p1Qp!z;L?r)dEKJV>jd55%9ERJRP3vch$xuIl){5h3j@duvyh# zs<|Gy97=ufR}|xVPQrzqp*N?TTdzTy^#0|f#uBe-?c&OoCif@qZ24pY>ET%LTX;@I zR$Tf?UNn(Iu;7nr=OkB;QR@&rXrF;L3ItgRll^9|nFY~c<*sq(8@NkQJkhOuPWR_n zRKhm-rTy$Wx#|GA1)|7^_&N4@h_6f2`NGNE&!dzJW)ydg8K_W}T~?E7#Zbs-3< zEBCH@5%a}bp}wSjO_B=W9YZ}@$d_H}X;dvG>_U6_o;MZ$!d>{7`mwPz|L=93geN3- z^A?vg8JK`@ENB!MDu)Ow*jMZ=tvY0o7!hg6$uM#iel;zLXuzX3!-Gmfn91$H%lO6q zrFhr97XwE^B`3sfu1bHOqMW=@NNx*Z5KoPlS%4hmfe5j?06MVT%Ps&an&rvMqvNQ< zhLebI{3Qo}-biaxT1Xa-hw&mvIK)8SFf|*YBZyVPW)n*}F0ZT=8`9O*{`NuCp)Q#X zJ+kinC^a_>$gzJ!X}% zp`8A4+_2v6Vs-t2=i40ZNtOSY;-Q|Wh^OM>8|5jP_bNKdeePM({801Wp>Mf0dl3HM zWO1U-$H!N&rbtUmyYc+91*yDV=+*pF=V$KuSZz@%g!Cmeeq?o~F5^3I-jd_l@-^y+ zDbSta@&KduHm5g{HEV`}04L)h;YL6jJhMH_Md%fWYXN0&#fAUTLN(>rU=E?x9Ghh$ z%J+v0ibpOHVXaH&8O1IKJGl1el0y3}c@xjAFIk!$N_V<>TD~+;lz^Dy$g{c60lm_w z7$dLsEPZElxIxKRycF6ZT~x3c?KVE#j1|%CZ9ZtW(*?w?K^86JE&GH3*ylGyf8Lqy z)Xu8!lK?JB!SdoR2`2gz`h56|y%GI}gO6iRwyVMI4%^gCtM;XdKiHp0KHo9|lG1K^ zI1fA|CBhwqU)MsZMiO>vv*w;YYUUcDu1@`8@Y^MFeUBTw^>as!v|LUxb;+kbSv%LZ z9eXJE(>v+dkN}CLNbTrXjCZ1lHZvA#RQxkC|B#EO6_{Q(*-os ziTD^0!`BoBgNq;W=;`Ds#6k95jK2Ww3q7Q@r_Z3Qnf5c)|1^fSF z5TN4j?q0{D^W$TKsnQI2-6rXW6WkoKlRkWmw#or5F+IIbx?yGg#Zbbfop>CJSsV5n z$G%3T>H(dRbM+flW!tCdTjg)VCu=&m@cyZakHJwo6CBz;pnFMYNlHw#a>f6*8Gf^< zq%pw^_0HgLD`kZ@W(k?3GkdnWa|!LCl~Y;t!h);1P=yhKT5CoHR}>_f6kG8gaPxS_ z!Z)XWGsrXNg{|S?C8*LtNJRAUz8tFT5X%eHLh$jq6|Jm0bBvld1}k#4@Avx`A69pw z6bu_^i_Jj{6BCZ|cWsL_X?DNpvrSj(NXFL)p_;D& zy)n7fXTxQDspL#2pq0QpriR5chZ5Q2#hd50=>h|{o8s7;zwE;3r0Mln4fnD>;dcK^ zbT8LAZ?cX$Kb|xvEo<@~k3C1q@1yX_o~`~0TDgM8(ATO<4;;DJ+o91ZEdA#gICOA( zf}qlr@8Z2b6MtQvh8vLwIGf#NJ+ly8ri5YKZuN68Sjhi(yH)Tt&4mbVVw}Z<2~(`2 z%sXMXKhut%!okfFW=4+;3i#g_OiX^XZb`ya)`GD9p<) zSuhp|-;FcYmPiRWfgX&PYIpJfl2!3)fd)?#Pv?ieS22?MA$e1f^!!EQPzKy1nt3%R0b=aA@li1_0eh$ERJXyD z&_cak!-FvC7%=nVqLNHUr16cfzaQzL*Y=l^yNM|hwK3-q4t_~j%;AXpwz_B{WC8;# zWxml^uKQ^q*BA%MgBvfn4VWA4E$*y#%46*riFakQu#l=*RWdi5bdtNPLM>HN{90kyvd; zUMmcoQD|4Au;KHEzlhGG<{_H=PR=2fWLO5N0nI-EZ)Yp)vo%s@JV{ho(70>y7fp_9nO!{|5}=Tpn!R=hHnAZggVgq1K)9+HZ#< zQk)d^>99ACV)Uoj_y-O7o$zitY`%*bE`^=9_|}Xw#N30i%DvbY&J0-@s?pdsLPqK~ z2JTG}l0oQ?R9T6U*;HH@Z+)U#8*&7z#GnGZ4r2!!-#5JIIN1_CP}}pcxFfWepwKCS zPG&C2q-CbP7y_rHSF;n%3WdedWc8;PJBf21`0Y_rPQB@5B=2V!GEe>L~dX zrhhZlCnXW&2xXi>4rojU0j@AC@AIp@DApP+h^K7AB8EBj)rd2y!i>gM`5TDtyNj$ON@RiaRXH+Gpn-k@Q3l_J7Ia^3;Mqp%+;V*i_ zx_d8{iv8M!qLCNBPvU>gYhsCB#GmeS=0*6o+{@ofz+eOA5fG39JOwFc73bK55r5xD zPczAPfb+&R>e@2u`?u{p>;u6g)1-`Kz#Q%MZ==h|VMIV~r8p_~1oQ`az^VMxYZ38t z0!u}~V9?5G@)|_#-Mt7wm`GvY9J0qLc2Le{86$CCUODbXpYqoLRPcGO{ASGn+&8`A)x+%gaO+(!~ITroqV_6C5`@nN5qOu znm8tV|7_m4R98@~X4@Hr>tD*v=5a+tZQ}LX7=qOq@)&*e$si!ZDHZ5~WUAKEVn~JC z9(##$5=$)udrI!y%m(E)V5IXQ{w03~QDtieT`g-JYGWk`uyMm<`sUXHG)V+-`Qk3n z$gz{?jc2V&_WT@N5TxR!yO>r&gjUMjAi0kPyR@kuODdO?Dr5~GpJf_x*uH-{Zxt=3 z@s$B=Mb6_NsA}rV$>bLT1D~#*lfw{Ov1&TG2)Y$$>-3LZO?>}jv5898Ri?7jMjIsg zjc1g(E2w*^Jj}w>fHjO)Z>Hu-{rM-Zl9TPoa@dRZlP~j1ex1C4dER_yhFvlc75uzy z&6W*u?4&E7p9`>MmH{0esBlH>ubS%=fqSufq@v+|s7uD{44~XyNb!nKdIjbF?%(s% zth_#pmhK7YmzuWnYzFe`7g$enjB;!GU|ag!J4FT}Xe?O`IG{SR2O0GUlu}f{3BN7V zCe}6t*07BJd-*%sG=f7zv1sQoPeKgP0=Cnz{q@`|#!WM|blVrf#Ylg1LNlK>Z->=a z^32Z8CQ}cWgJYat`X%mIbh@@jgjs^@q9pmC`r5u>_I%(6qPvrr|2l8A`wio4AK5o$ z*B!==Q4S@zg|ZyIqU=Bwx@n%x8}RB{k)m`UG|H@SnvM_mdIk# zuT&luWnE36|VolLG}Be*Fl0MW-tkv4}$G(RF2trePd&|n~OMCUGC^ZY7c$n`vLXE zCcyibCnEnTtEuGT+6-(fzIr;8EX_$EbV717L@QXE1d^x||NI3gEjDS4X*T#LxTv3( z*98eGKcSH*$YZXCG@JbI!q501&}3W*t9ik6T0EO^a=<@Wux|A)gz-Yh0DHI~#^!KN zvo+_mt`{YTkDB3|-vs?Hu(j01pg;g7-2T`_EA71-13H{pF6LF0oCkiy;F>%Ay> z^@G^#F~9yhafVux3Tib$U&{Syt!=i?6X$}ihJ~>g%;JNie`*zr9oT)*|A2Ca+PMw3 z{8Bi@yCbfyw335LI{VOB_doJuSE#bj9{t~{gsGNt*j&cs)Jpqm>E1a12&w9z`sdG| zp|Qr`ekNmWD|bv|68chk4bx52Q(G?64aIcUMX*v`r=iV5*&Sk&@D#f3XDRSY#I zv^L%RzjfhdS0optonwU<{r*a{@eRFgGJ25Z1kiWxLFQF`M%yp}W~5E-4}6cBf22X0w=ufX8AO z?DYpvCjUog^?^a)^8T|n$-S_FG}FyCTAf$@@P?HhH=~ryw(DHX-^aJycLANR7afM~ zNBN&1R?Q~Mp#|K3CS9<|Vk!eYU8=zX508ox zv9v5t`+%VWEcQHzC0%?uoxDqsSwCNBhQ-X+=r&ueSRPHMF&}uyc7mRU35#U?E&| zJUqVM+}_q1jUX~J4c}GkNXwVdC1z$8%KS%@a$HJ;sH7BNzNo?|i~Vn?qUvU!4DpYk zQOWXEkm<2tx`^`cGx26C3 zt?&V(xi&B}gz})=Ow0(VD}DI09W3)h2lDSB2?+#x!@BlgLqm|lAqaxGeBRUD-kxlB zn_p~gZ4L38zB?b!l4pH&fqQ*8AK3E!jQ;&Q;y?*c_Ts7We4#ZgmJ zo4HjM7L7JEGd8AjiegsfRCd6FVld~;`xdb7msNqX+(RuNTMEA z*AeyS!)RG7s16g4C5TREH8WhUH8`3rj(oa^j*3!lj@xh;!B1neK)vX^m38;NYc}?tEL1RC&Qm2y!g-KWCiwU4`fWHswk8<>@T~IU3p;g1UtKRZ@r6SX zhk&$OT!P|?Y9>woX;s>n6LPsyk)2Tf*wMLrgeINoxS1Z%lfU(}lLVTo1Z0nKE@$(k zz*g_fy3g|ZS{Vj&eskngv>_isO}*3nVl)5SV z+Sb-KmPNd(tSO!sE9d#02o=f8vtDbfL?Kj0_cH{-7BW=Lu`}oyDrzcaM6KkL`Xx*cA z$W^%9pTOXO?E<mLLP-1?~8?26#MsbNLW8f^QAXbj#NqwfrqY8 zZq|eCF7L5UjYOt;)~n0hlq7ZisJd0Pe?vw|JqTB^st@&oHqxV0GX54!JP1Re+fx7e za(_x${v{|lIDGpJXb|Pac_j2&rGh}+(A7L*c1JFwVFczX4-+*SS3+L;03RuI^F)Y) z;o)&}{#D=W6Z+*JqTIDXlcEcRxNQ5+a;8FLuJ84zc3p2Iy4vliT9e1)=en}t8iVfRPZ9Txxr4*3-Y<;Fkaz|#RjT}WY*0^ntgk&<~i|TpIH0v=1j?c zWo5c@2m-g#9dr_OOvCCM@<3(WjZLLV)$D@C;OP$51_3d@gb(f=o4o$w(>h!ce+F{6 z?$?WNZ&w3ItsVU`yW=Zd+)?$i> zuS{yGNo5EOIzT_*Th3$<7Y4t?3aUj25%NkiPB(*_@53N4>7vb7O7}1GWZ#~*Y(@00 zwQdBw1SH_&aabcqJxh1+~{)YZvM1qq)j6fad>g1%9!bUeg3svNQC}}@KKfPNJZ#|S93XHcrmtC@f zA`5-9v&pkFzL9Wt{NAr(Q!5J~##Q5f`qOB@9?I7>Gj@+EYZXJgDjWCU=}=$ai|Tz~ zC~!;n9|c-x2B^O9rbhALxk21_Vsr^fy((Ub9Qpaf+%}0Dc+kmy**}5#doXO^fw+_R zahC4~i;s+4Z?ZI&1359~^}JG)8d?yWjep!Wh{P8DFKO;rVP8V=&gGuBRxMFr zezaaiVx(f#9|XH|?B?Uc=ksz*iH;e;7ey1b%7e{iPxSI|4uAXz<>fuDWK!oG9v;r+ z^~CgWu@Q;?&6S9v-hX-(pO*mIXK ztdN(`EBv&@IEB4Xjb~O}QZ|4EFV~&cA%nj`C9VB2!aP`V(6>2(B#7^kcexF_6Z$Kt z&wGZP4dh}mT_Wsjm`$<-=3hYl7luK&xw*Z)UiK7Z2SiZ7m!bFV#`4EhX|+TMd?c&s z_Wg<{tzgp-IC6K^{>qmfIw^iwe5)1VAu%1%mLjCk19LM0^1awU8ZnQ0Kk;!5{M`u#N7eFp`<<1@#~K zjuzMPC8GO2s>JUkK@PfhDVa1yVbca%U72 zaUj*AZc~u*`Ew$$&`uuj0fK(lG#fQ7TI zp=Ir9I|gF;MfHsqQ8dCqo-L){b1n*Y0QQ1)as-dvpEWr`c5**1R;!2Hou5&Dgfymy zKkBssCgyQzGmH?`%NPai&ub{Jjwn-y8n;<68GXM345XqLZc>=8?(Tw;lapDNuF$ct zNXdgcu+5?t=v5M!%u)Fex-?tCkC~T0Qz zFPDwEdne#9CdPrP9SY$pvjCl!~NNYy=Xmcn1Hq@Z!Rew3qoS_Y^T z`wLPRq>PlHV^EH)!q2rq><|BR+QVc~~)1Z*wdb-0@pQxq4Xq z?7H^w_@>BGpUgb~0ZL7eqi-uS=&Z}((Tvph!Hqvy56qbH8gu2V8es!xi|~hUENTRU zt|m$iRe#9wBf`qmL`YOCGbFCI9})hzSm=T1@^eIsv_>Q;v}?cy!SPp#*F>e6 z)FFrCr^(L^n#t4zTGeC$UcTvjMLUF+4cE+i^a63HDvk*+(EyzqdRK>W`;o9II5^Z-#s@+V4v=a-o>@8buTXk>z@D38WvDBP! zCDdgll-KC`oDg?kkM4oY3A3u2N@tM2mDL>~HWdHbm%-ds|1JfU84|%~2jITNC13z< z;rq7thc!{F+xb>vK+4VI<48qKcf_B8P+DoJ7o7-yGp~E3YTfWeX(aWv{!u}n`7CJ{ z6f#Sqs_YWx8K~8g;o-Hg3pnzXwjYj?K><8ZoDTz7tkC+()HZO6JASAzPKT32Nz_V7 z#l7XMqOHCwQzXoSBl9_tY3&qFMg_8SyuW1S`kqbDP<9wp{{Yu{gmsFCbn35Pb5S0W z!ftIA+X6lRa~KyIq$%?+clX;dKR=&DLqPO;JdrLB3h?=ME7vd@AooGQPi6WwM(Rlr#+|s&Bn5FLk(XERS0kX`8~C4)d-Ujc47lt;T2P`SFuSUS1#?uEImTZ z)%#nh|XySHH@p}8H+S*5Fs%J{SjHj=dLY{2m&77OdMKRgghwpW3XBkVZrTf)tv z${Og=1Bo>tWoF73REyzAqmfZRC;Rtw$4D7d`8trq#?jDVNN=Xeq=Re;MH9}Ow&%OOJLg$WCbn= zxHW)4wvw+*J~`+K?OUyh8~RfPut5U2D!_jJFg>4V(Wq$pr_-;U1bVa)A4&y&VWrP- z(g7AqyY=cGUtB6hm(t@BK)1N9M0dlA^HoteczDH<;POz>PU`5mW0_}$g>*4xJ9&gO zNZhg?M=5jvQXN2Gt=guG`d2?yv$ob&{pmcx{S!dG+vO(E6%$Uk*3G7N2jr|M{R}X% zYQ{;TB02~-Uj1TKy1)T@)Xu-!D%XkleIgvS?4`fpHRLz}>ZDG>;!vT5*itw&6Z5-> zlJ_4lulohHu$UOt1K?Zg+M|K#74Ws->^^Vq5YW)6RIYZ24!mIntSY9tugZ9|o<=z#UmU}G^ z2j9K5D7C0ek;;4j(BMI7vGB0s@_u1UVbrVs{WpDcA^aDITL)F<`FK%VU*8{t|1B;v zvx1Jj2G|t*bT=pW=jf=6E?z+nd;_yOI5Dw7FwXi5)zX2w=q-9}1-J_AG}Md8My#&f zrKnZiU0!$y06o^VUUUZ7f?QTM%g zago5#ziN9c`0JvcU|x{>GfQ*jOOBgf#rZHEZnQ=nS-HGI(>^Bjs_#ENJ?Y;a%}7W| z_1pElmjDIS>2Ou=aIGrq&%1vr5%Idal~qW}mBKI&yjvwe%b+Nr1S=;H>>@!wT2q>? zYr-OjcV45WS}q0gT}<Z$tdn|_!fpK&k_jJ%%cT7Uz|RaMrq z7tmxnrVGHIKY;5e>sA>4{I++Fn8Al*P^20 zNL1*PYmw2wJM?wdPRj0V^fGH5?s>faR6UNZ)*|5TB53a zrG;9N6^Iqr9brXFcA@ULe$MPL_~wBrHnx$3m%&9y=-sG|(C+OqIjCr|A`U-74UaMV zAWe8&@|$V+BvMWHN3lq~{&h|i>L?goWpv=fDt3kW>OdbZv|eV|yAz!>W}J9&s>kkx zU>Zj~XGFcC%Q@2YY0;82IZe)1JWYxP20A*GlF2x*y3i$qK*;w+I)(0!u^_(aB~k_6 zQy3AoXnsq)*1O&ZgA2pOZ6PY%t9=aOc&Q)ZG9-R?HXXp{Xy|BQAUl9onj}4j9Rd_ibC)5{T zp(_woL^lkK+Ie?afM-9qpCr=sQq z2}nCp&lIcJ9Q`>hl%dvMGs?J5G*J~d*s^rTKUen0|Vvs~*XyKYh)KhmvAb7zNjH zluC5YsFjx#@n$1LOEQV7i*Rys5(bjVENWjZYqpz~bd?T_(-mcWPHC-N$l>W=cdQ&M zWue)x1?Qc1kd%sLtYP1--$WE<{bIgTNeb0`J`7pK7ajBXdt~PAjR8SHti$ebc#%Mb zYSo~?T%$FReFpNu;4G}H$zA_C@4!=%tZ!x(y4mH~zqF*5-hvS=je&&~*|(r#Yt!!i z+B_TEs?S_?e>K2*{gN>BL|euD!oVN&G5*mvkU7V^vl)8*uvRlLH>b2x@A~EKPUAXA z13@o0K}bHllrWX0tQ3)e8*rGTXs>%yXihX;frGp8B4Bw~3 zjB|6{Tmn%T$^hyhMLpDOW5uM3Ar_4rEEoty?Nsauj3j?9E~EcrDYXMmB5|$HoreJWv;oox}u6VW~KzPk_&Z`s|_uZdz7VS$K z=FXLp0)J6RR}vVY**iXt76^?rSUa=J^tNl{zTeWol^qxTtLV#Fn?1Pj7JpD=^Mw5r zZ-}UJm_^%YAD-Rzq+x)SxDvbb71{MB_&Nf9CEikf47I5 zkrSc}cCo3?(46O9QD>#V2-BC*lg!{7{hhmUJQT?rLGtkq2m(lC~ zLV2zf6%3!-&k0>)xYTBh?WPo;ksbT_;SBdK9uwT*dH=r5l}1I$>|6{5ws9}%pTjzn zT3&2MCFdUk)nwu7ol= z<>~jrSM`kd*T+a#q}CY*>F+>Ny5eeGz@%B%Q7qI!&gd9xYxniC_)p~H)mUTB?5ty2 zH^S*+6)Q7c;sr8}-=V5yN{yGSW&x-EADRii(^~8H`T~gdt%KOYjAogJ36^I#XDGf< zm3E`~iAP)Q&@WFfd)tTu{mPgf&kw2mST~2m2~%NzI1Kr(+sg2ALvy;Pc7t8RMsf3M6YDL=8s{cY)-&E@hsY!@U^?X>07s`U3ISTpNl;TKib_K0J|*Vo6J$d z`uj=ZiR7hG*lbQ>we0X?N^>$|8M~j*GdbP^@V_9fy)7|&2Z!Ow+n3=K1a(kYoafdo-7sKlJ{3G|1x`qLG30z{d!21-}0Iud4iCK4G;Qptgg#1B>MK7(KW2o=Azm#M0vi1nBV(5Ds_INcq31 zA|&wB3j0+_FG|D5ZtphD!2A&Sc)RPmM&rXg$5BRid88(^(zIu5rUB5h43EWvDbX08djiLqeS_JQ7R^M+poT4*(}^xycG+b%()_NDOA_VT z4>8x#jOQ^k`xkoPHAkC<0U8~JW{Fx!IDl)-(4F>+TLu7L4QZY(CD%Ccr{X3+6QUHu zGw4PwB%|h8!pia9>s9J@p#nF-m(>kNJfAk}*pBX=Al1lE!G=S({LhintB*RbBKG45 z%7e+i(p(=uB!2Cf-d@wOSZLZJvvK}OnNfNwAyr-C^>rEVf{I`MQ*~-;_C$D;pQ@|W z$csi+L0`=}V-}EBmS2z8)KjV6<9!b?fX6(&^|3o${i>hV{qa~=;^o=Kt8?nEqun-q z)-|}<8}#_LUVtt$6fze#nL)kdxBf~y`P2z2+^U5omhgp(0q>@K4EyWxl!JVwNt6mi zQ+9*NIOf?}i=2ibE_=x;5*2{X|f`76W z|59J{x#Q{;g5|>lzXggmEw@s*UL;^bMZS=FmT;){J2jAHXbcb8BJyq75@zz-ia9ByK^%$o|FBM0=t%`?@yA@%8- zXi^U1F<6+@D!u;DyVl(JcvEAp02W6himFZ!wALIk9%!(%w6svRM+OJ;)Z3+%*PYf| zXWXy)ELv5!gV@EZcU}jsTjSywHYD*BSp1|2%8E3YFV77_74Y$PFYJ90tj_&6I$VvW z^R$>gQ=Q!HGLLOj-?Y!KAJ=o#Z}xV>BEHtpnN$|6BQH0HYqPP?62zxcooc(WTN-PW zp8SWu)FAMEbKrU2OB~DkeKHeW+w3+Ac{mK}`8_7Q&4fPViRj?@gw{Y{vIHbw?!+^k zsNL$ub{O^p??3BO9Kh1?B%Un zSd~FJa;N+w$31{P0K_AL=jtnmNb}G#!QB-JTIg0{z#y{4Gxomu4Bp*q>auQuj+{B3 zi{8EajyR_dDQ}}%dq#Gc=@GObN*8@Sq%j=uewpz$^Juu4cpb;2$ni9(9p%@O7ZxP zPCw7u#4=dBH@72}SnwV`4hwi@%1umvz9!D{GY;pXWFQHPP=7*=zny93Ddxg=NItcX z2(T%b(z_Z#=kRqwjU;LK^W7GRM1O3BrFdMXPy&W{B0nA^5f*75-F9&r@zD^UVODz_ zLVQ2xd;SEFkMIIr3&AYM@RBm(YAhzJ&;oQp;l45Gz2DU^UZm)K;H9id;Rv2*?NjV6 zS8iIkA*~hqoNtCPD2kJ+YHN;)-vaaw(?w!n>wV$C(Y%$P1mEu?JP^DjYjA&`SOlbd zA%z=JSw7 z*gcK}_Qz?-KxYKzS^aWm?mR!lC7FF~{B-2xbS9FpInD>7LeygdT?=#V`OlSS$SBym zRi4%LfI92_g_Rh;3^uY~1An*Q)PrIK5xfJCydj58k@%#nsIwnK{~f3MOXG6J{U!Yy zo!wmTQ@9=MP2$JzU)e9c*H zHEL|0uxV`DHlNM+_x#_Sm&rN1JF_!$U!Ut%sN@{Y1{R@b+ApDk+71)XMs6TtR;I{~ zqeu?h>E|D*ar)mgzCLh|pICl1{`4|c1+m1%9{VPcqr^tnpgMhZzj=dX-b%3bJSXhf6*F`MnO)XY^9W3^X>W1<#Z^iOAno1tl*O*i zRHCNDEABRcFYkqez@SNYTx1i+8%;njE$oqF7D({e>~NmfdN*BDqE6KN`UDfst2rP+ zL&pTH3d(RF&IIkEWF-cvm>z5mg;u6U@W0PZa~Y1`Y4ecbj)EdK3Q&YJ?mo~hI)|5s z%Zux2nAIDkyVXWB=puwzh`UT8eC7g?+1`I*8RZspjU&>50$Z7d&-DT8v{tTgZbE}` z6~w0r$AQh~y(3tA;K~?N$lL6c#;XnYh-_u*-O#&I`|;U4KlZ@SQN1-M?39G+nk41! z%c5Sk-F2mCn>CKNeqeQNu*60)ev=j{e*mk5Q!M^Qs_m;kTt%s8+cM~M__iIzL+|x4_Qrd)G|8d&;oqw^+$mgmw znLs_Q(jt$Y+a&<5cWfRQ)Ofeh0x}@-c_6qlYRIF%K}j$G9s}R&gCe|8!C!lZTjb7R zjy?(i4Ma!t;4rzw!T$e{`c8UCdD6azs}P^`fiQ+~F}LFFmE5G>o|{PRAMK@m%ux4k zZ+q0OBN0Lvvy5xlRIO>669T%52OLcl{RlQpq z7m=_ZcW!GSF7(80Tsd44v|C4x3^x_%+)7-sE28wfh`2*w?=V-o>Ib-?r+u#oyy{>W zc~7asOAu9nu*=UYF+ZQnXDs_`ZemP)@!Z9Gh|~SY>I%Uq z5pr5DU=aE7n4{hd6w+(J;HK8ut~rjW)R$A9O&p-iv%Oxh|LC|PD6ICId+H7U1aK^+s#;xu_fd5^a3C3?XBfTc3 zHmsMs)8)QVxtliw`Wfo*twZhKn7ixY&0lHzC+bV9ke__6GI-iASzbW69xzsKGUilO zX{)T#oQt9EZCew2Raz{z#=;r1h(EKCL6w(;#>B3e5&jP8tQXkz;VR^|;xk2eAkENc z&Dov%5e5Si^|TB+DE*wI9wf_m&5miOWlETS-I^|4yi$2GZ>wPRs7_sDk*V&fufc1w z;#RUs8R8nA{b4WX!#j=E^Cs2<*GYkW6?@I8TVcUyLS2$uWk|pHa)G__mJqY)Yu9es z4Rvi@Z%lz08qq;9!^AQEPJFI~`{2Ni{Eg8air-5XDJ?CW?c7UPHoqr;cp6QzLzr<_ z6c!$1BgL+cmAZlX8yR%?Xy}+OrL&qP(=O(!Z>b(41%;TVICmRP1Hc2{Tw^2yXGj^| ze5sqaNX|-JL4=QjX-j>8S!|ss>j%>@@`ad~xZX|&|JEC3qs9CQG8ncK%T)JT+^M@) z2e#Tc@H|!9J3rasO&!OuZ{|KW2|9n^)+v-}wZ9<~zSLHErd;cCb6w|v#htbj(;mAX z65Q%Q7XIbSu%z~C*zFmOF;@yqt9+Uq(l*F=UAx;$R^6cQIk&t>$+qMR1d4|%k{ z2(Fm9Z(&2;fEKDep$fYor&0b{P&zm9aMLL&euA*6-&dl8s#%IWBneX;YalO10K=Yk zrd;&Kw(9PadCZDmOD5Va!EAXEYK%x zfCzDC?*c9~o48DlA&ouGt18{^4By`vKc`ZqN7NV>lsrS9w#fIf+0<*$7Ky#*=ofau zJl$TshDp3zjJ+dOuQ-2fTqFTvRy?5dg=4epJv%0b7uoCf{?C;DBe<8Aub%u_`OP=e z-XLS{`g>0)Q427^b&MGA>l{=i;?m9j(X{G=q>qSbI&EiX=g=6#vrevauko7aw@<#7 zlg&of!16O8F3mbSuHnF2v&hdMRHIsbc^d^nEqcCNcT5Q|#VU|W&@3Js{reY-64!Q( zsb8jtaJB_&K&Na{q{00e>sli5wsxddXCb=J<$Q8hj4#)!Qn>>gPd>#16)9Gwo9;Ib z*s$!FR`jQe=f4O7W_6Z9nJM8A^hVt)--?Y#lEby*Xin0$3f>ZsB!h0&H+Wx*XzaS` z)g2x#Ces+sNrUn7VgyZETZ2s+kiAiR#^QN|+s5-4VOvPWIK7<&Wu66x>`8Ie9rK=+ z@PDmKa%h${E_5PPE9k|u|2k^f`(?j#CEE~TRD`#mM^4!p{nN?C6$A0L5Uw-I1-)WL z%!NfwJ|&;@EU**zY>HHN*{EJ6Uxp<0_A@ID6*H1q5$~%{-#@)8LB>0b^V5BG%}nKW~0`|I+DfqnD=D_5HiSe$?) z=zC5MX~zGk^YQwgbHeU;SMG_mbtI|Wqwq8% zA1uAb7sff2Ww?O>iTrQSpmb|MQKVjs+t#Ao2IaZ#&mB)B5FPmbs->f=s;rFaal+z< zXuFa^_A4kI7iO4~muks8tT>zCBr!WD1_b}s(-3f!wY@`VN?QNg2?qTHWdPcu{TcfElwKC1dxu;W`ha~cgGYO3gGc85}k!$ zGL#c(?4&D{aW1<;`L3olU2`dp4$wH{dr?hIX{G2rzzqMnpwUAy=S$S}z8v!vuhj&J zxhz%mv~BdN+NVnB{-up(E&%77vA!LC>m^Qzwyi>DJ)H8qY>Cc(c zqwh1$s1!PlS6S!lBOMaI|HQ|A|3<&BH<50nL&Gakr02%?HqWX)wJ`*~Vk9vfk|j}u z0i9#-YqD@EyUn>hXmT?_1Y6eO;ZL`_9!M^J2tHM&hRY>ozF}h%pUzzUGla~q_P%Zy z9lZXaB=CpxnQnQhl{PjqC2@cH(^P z4O$;)_G4@DbO+ePlruEYpKd0p^N01a6v2R91ZtHsgqeX;W$dVFyT3W`4pcvSDJw-- zaM97x9-s=mt!`%S-*}M-pTfD)z%=4Rtk^-I8B#34iLY+Ly)*slmm6npZcZvFNCXEr zYt#@@o0Z0yvtZsjDlBS%qR6YNd*J%#Txm9tZZWU;U}?Ihld6oRIM{YZf|MhYz?6|dE`9$gjoE1D(f-Ojb)l>?b!jf@YbPGG+&{CT%TE@s1!RN@N34{#MfW zi~>iGh3Fp}NM)D~2OUbp~?(`Y!J8w{sj7x6&}? zFQ+HH`S9sBIZ*D|+uLt$tNCc@R0633W12>@ zyA$uL3wI9G(#o%~wR~Z%26i*0iEJ>DIl(dT;=*=xG~9+3?Q358ORdqde}9u7x!HIS zwRW04xOK598o&^}IgwXp3+%XJ%FLq$LTfq?s`$NUP_+@o=y605CPNQ%PIA1Vx64Yjqte`nS*VbM{je{s6;H>G8X5)PW(+@J zT^0tPEZuUy&?oWs% z!=S|cd18OLzg4#IjNjn$7-MxaF*^$d2)stHu_P!F&miXnV-k??Jc^URemi;Gu~n+2 zDzmKYoqTDpP2ID4B{5+5NmvVyASjSOW}WgSUKVoxZ*oSgn)c((ejZU}*}@Y?_3J{k z$jFo3&lg=+e*sI=Lx@w-rLdH{Wjw;z&Ig&Fxp&!>@(A^(;u|o#3wz@-^~a{~YsiR` zhD~?3cm@d(n*ww)zR0fv1!ni6y5eknVVq(fb_A%}u^pMd78kAc)x>GF8mo#7o`d1A z#D_eJQ?@Mbgc0Xi4)~#FseVHAevY!<)i&VVK11o=09)D4fc08&@cy%T{T~8~Km9-%rmtk~N@?RrkO`rpHZB>4}%w@p*ehM_n^bg~d#Goxi z>q-jf*g-m3T+E%XrjG^N7rFdTbaKI;*)5DmQyE7HfIZ6`i+X;T2=W#DCwv(02Rb>( zKz?P$?);D>_jdz7y#m*NZ@4aUMsCNbkV@v>2EuV@pVc|PgWp}P{JhvBI#|+wkIwX7 zDDcdquT(QNA@oGdZjZT``0kM|)QKbMfe_rGFkFCxg(W8>zH^3o=u^` zO?1F3N1d`U4g3Xw5%Lf74Wz5I*~PqWbM@T}>cQr`GiW;f2sGgmi>MH+ zk2z08Jv%%5P9B`xWvqeqwB2Zg*S@D{7i$fQp%rI{fO*Qx_U z{5M=*P)+Kqb@s-2k;VFge(24*t8R3C<#)@ShzgwqE2){?xP8itDuax2Gup{pY<>mb zb{*Px+^L|Fsry@f{5c*~d^_(ZQ?C83VIQ?(1%J`}g!BF;z?9zF=+(c-_r8{cky!1I zKHvKw3=?_HUmok$t@~n^b1bvU{L%woFRx~4hO}ZG_J-yZyZej^vI$B|KYW<2BMu}{ z6)+D*f{3jIhiRlZeZn1g^iYycc;J?e*;9k=6q|j>A>#Hb2MUR|gjw4uxr~y|)?Jq` zd)th9kCv=44FtlsPSpPZNWFG8cA@iE{kku|SvuE2rTaxdjxV~3>0=6f%14KTAURr~ z?UxBIl$&Nj#AO9*Lbi&bQXR|oxP-m4k%ND}72d}_s~J|1oC*G`-E`(i(3TV>DkW5Z z{yCy`VoAiqgA2Zpn3T?DxLE_k)4a-UrW5Q{dw5hJku*f)+FjR>42^5FvHnVVa{=bN}$yKnr<*$0BQH+TH+*kEq zEpUAGeWInrp$l-NyEX()z#?R^33y!~d3lS33?0|nTi7VulH}LrT=J@smxT4Rsq&Wx zLcY{o*I&MJ6?1*9v}cY2 zps9*ux)c^+5Y)-LD}o1M6wIp~t$bWhqWv*|?6tQWZceS>GYyG}?jVcn7c=FlI&J2z zM#>}x_<3`%MAnpXu3y;KPg1Hn7@jcot6y&1S@FvfmGL^zngK`js4)kr6v`X5NdBQMQ-U`0--L}g-i8s(|DnsC9_1hus`d?L6 z<->t%KR7w5lJOD$IO-gsL=2Os0PO^cp7yr8^`{>!)YXy;Bo0Y+>Mt24MpgRx2N^Dx zCiaYH_a*a^kZn;E-#LISCw0(`Ton-;&TwDvnh8&NWA5R51Y4ENsnyr@LiDw6d<*|E zu`rFb94}>dyFOTi6|qY_cn>e3zVmq%MHmOivW0Tb1|x>UUf?O}`Zf-V4E3yPQCf|d zNG_#DABlUv}X&Iktkc?mv_ zDR-JPfJT-mxvc{>!|$AV5wX^iHbdpoS8dMMJaS1(xx#6vNNdJS zH8e)9;Z%{O)r}ztZdz;$>7}ew{-2?vW<|KzDenj5HuZ{SgM#8Zb9)4hhMHU@ji25W=g!$D31x~>S-yjtuhtfA z{>_Lqs3VjyQA;uR>=hX3MTg!h>$qF#Hnf)sZdevKi*P}E1Ubs+E2v`Y>CuSXn7kuKxLRmbvvfx(fnNQH2EUv)FCtQ6v&r%^}K= zIcec`1>i9#h)#4a&0h+$?1sxSy-PC*GjpSsxznh zVKLEuu9NtDKxV3@u}W7i?kO{sfB<-}{T?>kc+wB!zI7#ha+z`t#6fBIb`&DukxOhK zxKLYp-%Dtl6s$qRR`?vrJ$DikQy>5x-VpSogU})HQ16SoW#El1PUP(JyM&q}ckJ0L z_M2f<^Xq^Hk3a9{ZQpNO%a7Zv{!e|)UMdbR!RYWBX)LAdBS#}OqNV)8wA~tQW?yeH zJS%|p>i&2(#=1F$-qV_UfclwgqK^yQ%EwImr!Aom0^3eb zmS52tz?v~!mvJ4d&1*X1kfK$qy6Ijst+IlYotVLWF~pT%(B+aKia~DrN4l36)bAoq zsc&1_fGOMxNWA@*hsTS?qc!=|zddC1?0hAQx3PuniQ>6{RY-a^b0$lPP!3>bsCIUh z132$n19B{76~rs(N|C9_^NvE1i7}lZgmt@=2u4${w`0c0$oRpuK%$OhV5X^rXtVw5t?~J{Z*kA$oBM}!0d8M>e3f3Fj;Zup z-DLDbb90%g5!Ca`!%PU@M}AbWkvy?{6#I};GZ{!)GVu^W!7Y~ys^)|x^|gH8ry5z; z4EZD7TXbq<+oJOk-n);UBn-qN$eNjlFhn}ag6GgU;exwSF0>;a?1v36CEo_#x`y9T17RrTVrI?wA%V2qPe%iuIhe z9zkc~*J|r@uI3d-VZp3`inLPanz3`u1Kd?;UEf{lt!P{RU>VsKTM-lj_0M>{GcXw| zmQ@b$)vm^t>PY~B`ortMkArZ)P~YE3Ar)PcO*Bc3I0m(Mw2(vxS9I!VBOiTLr}8q4 z%c?M!19RqAa8r(6_)xIipZ=xJl=1eW5=efZk+;&-!zB&g#?i? z>#=8AtjZ@3`FNsW42bdrjuw?oB^uX;&?jk!nIS#-lEOk`Q0zC>Ix(|$0snL_Srr|1 zP*4(-qaX_;Ko}suJz92YEAHQ3U13iDcV=858P^NM!cusz>;Bv-oe>^vwqs(dDLc@m zYe8IJv3L@=nyKk?7Crnum7Dr=+kv)IOhKc@2EPSG`#tdb*K*C~fUm3qHmV-J?aEXw z6mmPi90hKvdWa7JkVtixpW#9!IK2@dvN~_#4Gs>*zAyerxz0jqWU)B8g(-M|j}yP) z13=j{(s_=vsCr^`oyOu6o_lxE-94QvCo?@g!pEkc02SZ&Gjrz!8xcNMJaY~%0zZ2k zjZW{<2wsBh;IAYoA^$e`u9rFyEt?+2r%mT=$>?;8%3lX;$5;j^2rK?%W+^47lO-J7 z4hPS?a{;y)2xD=fH+AX!@nyA?vL|v#pVyiZE9lW8734Jn3osuy1kKRkHo)ru_eEXIa^QKLe1i4fj-@v$% zO_=<-@7Z1vIIsoIYkrUY$L$+oQ6PRnn_5J=a=n-DC+3gd#<>-7EVhiK;Z!!PM>*Bg zySlm>zzD>_X<^t4N0@AWK6~EGPK(6I6=Z^XUEQ>@B!7qflb0EiQvY{iyhr+*R3 z2L((9NBL)#$;5JSL&K&L4%)#o--gikbEG$&fbc2~imwNyL*N}k`^)XQ*LjJ(_EVqc zSim`Ty`K}W;6ja&os>+dun`L4;S@T}glD3*=9KVHHM};SBO|@2XM5-dt^SXv0w+c8 zBj@w3A~sP}ghDU?jstn~IYQ4jLRzhEr}zq|x%QF0HSb}!YAB$Vo=Kk5;Hi71lQUcv zPkBoC)xhI)iIYM123^zdfyl7^4^CC3ZqR%Dd7PxfxRY~DXh8?#iJg6a0xAqYK99_G z&iEbfA}6GjkRKvGwu0!|?zGp==3@R|@P@C!)zt|+IA*s%@N3UZ)e^{yYO=>>T(db` zD)r57PnB<9N?)JELNTwz#p_%SoqqvC;I;17Zc%}Q0Q}&?dsF=&5S<#Ejh*r+PpMYP zs90N|&UPK9c}d?9h!Ruc{F}xR7UupwuHYoMhyn4|d1y@@$TaiI{jKH+kDF?}tMQlb zC0#ED$sBp-wo`)2Z-n_&R3H1B`R&au8vpZSqqL9BO{WoO4h!xBf#z?$2_!P$mM)egA4vt<#WA*%HGU(G%!;2;FtCV{~=-G0%PRr|t|qQnd35 zfcI#BBzb$iKx^k|C44jNf}SoBiUm>yD7?Hg%itRa2Q)e8loS+XLPlpPzcvv-2LIZF z22ievPa}r01qIJ&c)AGBJMI{;t9WBaE#r;Pv8-oPUKh~N;vkH=B5?#4!hXzu%H5bN z?Qju~omHBgoRpTMZxhdS{)9i%pH&BGnhEZ;owqjCZD`&esAKl$icJNV7_Nf;J)ehC z(T^GL%W#@93XFx!@5>H zGbMc5@`Qm-v07B4KyD`E_gXLOCA76*7u-CLY^%y_y+b9W$QFNF2&`Z?XXi;Qh$0Yb zlieeJb^8_HS*I<$VLCTVmS$k^pSJhzA_%=2%f9=Eiv}F0`!N2?+;@g<6rq=}7#wE2 zdaaGqQ`)_lWY7=XiubA7%QgXNc%tBEA8_lofbJR*N#gzHxa|SECGP_%{-etQ3DWYo*QbgM+#NiF9}@p@W{&IJtKFFUh-S zf6$Cbv*8#1Alq%5PKVtnvX3{6l$tIZop1p?TistgM|KulcZujKK~Tb5p(0^pV@09| z7pJ!&J2S~Q>lNI+4BXM6{J!s zl1OOB{w4l^Di8CEtX8j>!T{&>mViY*j^5I0+ZeKXoqldTdb-8mD*L3NVzpEsC8DAX z|5R-lH#nZ%Rz&RFW&Ag@VWHhS=EjV1WCJEUE{@aBuN@%psbn$rJLvAg{%ZG4Ae#|o z#O&|ih+*(^hk2Ycra~v=#1s)T3`!BV$3qo__SXUFOk=H`*a_dg?Wn`h2@wVW%`BQO zQKDC?TNX124*9~fkbG6&Nx&cjtl>me(6*9pi^!)`Z|#XP5T>m4@pP3aVH^rAN5mxK zr4dn=a(#sJB+<(7#qq2Hy#65{ERVbWQ!qF9Mx&vu9#reU6y-fT{G+HusEn?+Cluyb z9jiZSpgt}-5+AF!+A7iE^2WfGz@OE1*KfLPDXev^`3cg#ph~Stqls0eFuTfo*R_@U zdGDXXj_LW6J7t1pbJt@z;r`eQT1xo(>b?uZk%6aNwJLKg!N;zo`=yHxHcy5k z+;`F40GqQ=(!P0vrB}Mk9DF~j)L&oe&G(E-F1@uF5tUQZKo0_{*!Ug)LYf<|G`bSc zJ3LT!iH-!RCGX3B4q8@{mWub1py}{V;gm?JxlL0nX1U#mw{eWi7O)KkiD@R`;`_ds z74h}v=+_^w;QmS3)!n=Mt&q$SnV^I!1FofogZ6?!7c4BKTnY(})Y! zkTyevJ2M46JKo3%8Vi7DW()v}DKdF`FgD%@ow^Bh)}lAZKW%68|M%O|_>F!_u=)k( z9#D~ppa@dl8MPm<#$rCx&LR+XKzNS%Y8u{;VcuN*au3pK;%D(q^cx?DvDl2ibCJXG zX|!_P53GF%hhdGpyF83;D?G+rmg~!3^d!;e#jZeE$`eaRNqX0fGynImFC^hTF%_vd zoixsQv(2)0qs@xrGZ*sA=aq4koPm>lq25-1>x*-u_@!#Ue(gTj-4QGb%EKmwR3We_3wUJgs$@g(`Y|%Gucz*kaY;IJ91fO> zc|q$_Sgz*;vG>HeL4WZWt07o zTei6>yRt6D!vP+0A1JZA>@HxSPC8fKj7lbi4151tdVS@Xx3HQ|DqHwY5bsTf$^~C1 z*B*}~eZV@(GKsc=tu1m~yfqnE==)niP=(^e_8Z1?_YJeZ%Ng@ zp{lqt?Q2AEPxtx+zBwk}1tqUDyw3TS?j}0%iwyLJuN~|$9h|xp;E34eTA1BB`!4Vc zDBLu~NtQYo9VXk)tO-LCy)SSo)%Pj@+ug?RHjBq=-unLMQSCm>s4x+RcqvMfe;`7U z4$1AgUwtemjm`(l`cHj{SwRciS7{B)?tNrHsmu-OdmGtRA$^|DH`DR&hyJ$2oLmxO z9v<;t01EEW5S^Tf&DXU7Z8VH~HCE>TKx9$h3 zjVJT9YEE!kg1ip(Cs)Yf-|y$}2$Vb}vTE-O6i&FkwnGh?ZI)p>p6`_#e>^;qJvZH7 zg0!TZ`x-c*QIg+YU{)ev24ToeR`sTM*Lywp_0a?a5SQrNP^*K18X;5nCFi=auM5kW zmlGl%ztrZSxueM?b=P)?EACmdZ%rL%MJ{|{Aj?Q0nx|(A3_3{rme=jzI~(P-n6UtyL${qKsh6-jx^sj}$O)8xJlgWUgCVj`7@ zq;@P5wuhckw)Z7Gw^wz@SuO3Dft7xERjnAHM+jJ3ai2(^s3&ib+8`HVAyIe9Bh}>% z>=b;+|AZ6(I|1E-y%;{fcMLIa;QNncdKI5B#rw$Q_yXR&qy7~6kUKg-^*+!CH)I-l zI}OXUNL;sTtHxw_PBq2Fffm*7xC(l+F6Ek=M&n@U(+c`g$N^#IYnq*en^XE?;qb_# zi?TPB8Xb63Tn4wwP9;#_e0>)-&IM{86m<&Beb!sW6h0}-fZ-Xn zrINIo75YTaS5cCYi@lM{n#nTEq{^jLlMM>u_5s~85)CqG1ay-rA@&n~ey@5(M3%CY zb~a*&f5%FQwOw|)qBB0u;~i<3e%Q8yW@Gxei_7Z1Lg2vDSB=szCQzj#Tua+4CG9jOE%@CSe{@p*@$_#=_tsleXMcXM=Bov~q1 z2KqYwX^;84^QMj;GBYm6#VuEpUgQ8ALXL31qfUZQVG*H4dkCe{cz^w-pmaP>Tx$m2 z*UGaGlfcgKkI@ralXbzq^GTW4CDmeK$ZHT-C!c*8`Y_mOGYgJ{mSXRbEM&AAQ%t{) zjx54dgB`~z-IPzQy$DgrE56A({~vLPezk9IqJ!807cQJ9-@@@EzWBV+VZS?4#~Ve? zQzA#l+-4}a&Wo6d;N3e+&*ULNZa=RWM-pMrIer}z&D-{(~p4l}iL*@IKr$qPT|w>-3Z5uUjmLfmR! z`!pw`d)fT>ggFH9jeE$%=P|*2=tZDtJ}c@NCs}8p>H(56nEex&ps;BBqi4a4E&X+X zUPO67sW`Z_!iI94XqH=3c=(k*H>lg z=JqIIE0OI#bsW+_|7j=~yzH5BVj6k(%U@>~i{ODsPDtmQm{!Nc>$r}#Qy|KM#s2gk zqtV^3(&w4xZo^?AR(ARnX*S=#Ro568LhRs>5I0`j-KM-%(*;chLsq0InjJ?cT!K7H z5_QuP3P)X*Sf1wZYn;ZvjOAQ|r@rBlr)I}SO6tCGp1hnOP12BY`weM7D$8&IXOIt% zGC~t_wPxQotM^-8v!nxUc0CYdA^cD4i((U0l2bobgh^u>@PSvHVA2jTu^=|enb1jV zSyxc(;8Si`>%B|nEYy9)^J%g#uCNdu4tDod+CIe6a~j-w|Fw+q{%t~sIDh%4(#6aE zabmJXDDyHurHMT{6jW4HAVd?cJkOgxT&lvMm)p>XDbP;iz>pm z(XKF%TehPSVLnbaRT}ZE$-I8Q?*q=pj;%R#IsA5jk-8ds1yE!Y6#ks><#W9Ye~YK! zAmjl5E91%!1{63ey`^s&**}{x9<~FGO!OEw7MkHQsf$Ryl@q$zA!*H1;m&D3q3MJ( z{fv`{w`YM?I)c^GJNyYI;Pfv{a70%Iq~dowZ_eY)YiZ!9l|;U^1jn!HvT7-Ls3)NRzF7M2-1>9*^shh)Msh&XQ)Qx=HI@ytV&G!&Bjg% z3cmoBptWqXueHDVSEuzTM-gmnF6=ahzIol3*j%fat=kbdogF&JP26hxp!jluqal&1 zPM$Xo2K)jeqoWoHVMlFZ|0QkvLm0XMO0!H`K@9+7S=}hqCRmh&d(dHOY@}bN}Q-Txj6Rx*!lKQ=9$SJ z_WWCgZ7NHzTz~UAVh%@HH0M(x5-VyTQS`%q2`-hRreeq-D{%e*L$Dmm{)^afIs|ZDzbyf-fQ~vs~Ch)ei`k zF-x0Ok4h$!1$~oW?1?+|CWT|XxwPkRQ z^rUdK7lGvZZMynzVL3g@o*DN85R~@;-W257xC_60|HE76*5)Q@IdkePmc=a`NV`b7 z;meT7W))@bCd-Y)P@kfeEL!EmfbnW;Jk6i5U^$fXw(1-)hZm))dm+sxJIw;fQ90Zb zFC;Z?S+HMKy4?)c8I8$7E5%@L`$%G8^&RCmuGRf7_w~)Pf8A3ua5RYE9PPBEW-ek=pj^51hhh?yQI`U1VR-JdD z5%=kXy`pZXgMULSt;n@CChc=}t{02T-5aO+RI&!}yyP^-K}AUiNe2?gw$^hD%3!Fy# zwkK~vRP9%bLZ$NTdH)|TeY`oEMIhvJ>((;zFJfS23ulgn^q zTGw)Xn&ul*h|gqX4HZwx*89wIPx7zT%hhSmsB&m^ALFMhqnfLG|0_Z77Ff6ou^mfS zw^OuO|3`ki6;JfWJLG)vPlQTxNH2i+3fHGGvCZAr`F7oFH|sA|b>D-}n~y7Yg!?Q` zC6S;X&v=eN#aN2?sr=39G7h)HN;hy!pIlVgJ7WV)<@>3W!hjR8ATN2=WQM&@SwHY! zZ#h|PtxH8MIy9Xutg?G3a+{HGlMpcmgu*nN!yiEWOM*YB*%ch_ST)d-Y|De68`o_z zdO2BRF%+L5>NkQ`>3t2wQ27<`P-m?IhK38ktVZX$Cm|`h1z15xeq!FVeR_*~6>osF z=Y%}1rwx~o80sPb)8`A@!mn*LgkvC-w_cs8IoCh+u(=OscRv0*GL?FT{l6_p-h1=bBBCVxT_1Am%C1ucJg!`$Wwe`Tabz;pykvN_Ve4B$Hl>+ z234}{kX>b9e^FrS0`qe4Y3}3(*JO^g;h3FSAT^WM+y>lE3x9VvO8%JwgrKSR#UYwG ztyyJVsi2>aPb-^N>v<>pNz6e^2E->?Cl8mJc}jR$K)6v~sozYFKvXq;;o@5Bb>ZZU z+0#m=!5431SFK#{aK@aoQXwLMgqeq9S+ZF+9O_<#CZE)(Ap2KXG`chW;#5E^_=R8r zbCeRoZLlEEh)=0)!{TARcX(uut$|bmrf47HG~kG%A?0GGFc^9`>b&dSFoTVmloSjG znE;g%QQLcR+RPu#g^ujp6R_jqVNO<;0zaw<8LPw`6QzA=k19E;%AqNhK4Wu8?2Uw&U%`i>wIxy-Vz;( z`SaPQb@Q>!vFB%P$M+vvLG<&}5(N?BdXysSyfj07Pif~k!!WmeWtL(0+%KWP_*rGm zdh*%`{*`^Xll|(p%2>V}*dzdc-`Sbz5M*^6gbpRHfLF>k#|RW^JJLISZt0*AaY>ev zKFsNOfcG1aiZBA77A-KueyBizIiC&2j~Hs@I<=D#LNz%J>3Hnx!q#>v6^ex!@_~P&0D>PhaCt*m9<)VD8p}<}P{^!V8ImrMK()QJ#;F+;VV&$UB z(mC=%9i9o%SQp%{lB~2u)W1#S*&zN?A`I3lM%GCE#N74bl5r~aA?~^*{GSK@h_#$t z35g^%yquDP`uLeLV+!x$<}PuWZD?5B*#*(*5H>oADUyUhWAaBxgl_x0q%IXz=Ur&2 zWS)X(z2jMoiGk=un?1XM@%yDCOzp*cz@)$|HD#-5eZ%0|4_30oJOyEnJC^}QLcK^j zBm=#t<9L}OxTlwUcE8TUpmeP!VqEMnU+C~CYrZNz)T1bq&9DCKH*Umn72Y4;5((|2 zi`A?iU>0YM%t3GUIE@Ch6sshp#v=s@g3*9MDwX(`m_vD%;n^tWe-MTpwqE#R{bXbVgZ6xW1aE<)@2IbdL5?3Npmz`$HQ zLkjW&e}Dc~s&!_uK`oF9VY9H#4dhv%1zDOvz5?C+{J3DITWmNt^^LBb5)$4CW5 zoDNddTd$tCIH$LY_ikC4ba5#uv;Ii5e58n}o0CPg6-OKX|5%A?JHT4{l*DGhtfM#T zFU1aW5d8eP4Cr;h%?&SKCel}0TB?e_SwOuyqrDDH#3_{B4}zyPFZ%*dB%RIL@-ek> z+39o0`L?1JQzdc0W4!esp3&6s2M5eYR}(o&b;?{c6Ywcd~|nzFe#>Ex>l@^ zRpWlFX^x!F*ZrIjhlTX4GNDv2(#%(_SfR9GZOFlAW!iG7jlY25ZsCQV+**#h)3hGY2Us$JqAuWEqX7Z(2h*{S zZ=nU)$5}NUKjz7sm6a9XWhHkss%9MqbS1zzJ3AXe&s*Lm-acsILF2)&XQ_goS~90Q z1A7)XU-)NB)DTTNAk`1qZ zkloPH#@9XPtS|VU2<^E7n^E^GVAelbZNs5f{HeSL{D|78|Me?bP_XKYK+^tW5yu8I zDc2LFl#3dNpgK{>hNZ7HxR7Koi;vGtZ`*O19$Cvl@Mg^Qv+(&>J`lHk^)auqOK#rG zK?D96C**CXtmywWt$56<%-f*=p#|*LH>lz)Og0^B2-GK4-q}ke}Mi!|5z5x{~F}sr2|qXdwPE!g{4BdO&7SS6Sc<h5MqyItx5tk&rQuh)4@Fzxz~Y#frSp=rn*8m|L3~_VC@J+O-*eM zS99GjfvA7+IS+EaU!BEaxS8!)myN2(UQGUX0T)7J=Ob!_8#4AXDxJ#3Mkq=&2!T|U=d&=KB=tw%Hq16t?1~e^1;Uwd+(sB@QFwaTo-g^qQKzOPtKAE z#8DT6pV$50wVlYzr-QxmIdIQ@G|dsI3o;a1g^~LKwc6^AanH-frmCZQkGafG-ga7= zMW-W7b5Q~rRK%mBjP7r7@Tc!%iSb`EKHDINmFD2)W}cYnnTkfo^?2*);?L?zfaME6 z$~H%=CXigkEjQ$}F2q&MOs=tP3@|Cqi2M#gU08sb5AeeN^%sw}8guKvR^P^O<J$_dG;+s873~b>M|)~Hke@ziqDqSYwaY+KmzS4sfmj4Cyb0hLgMMz|UEF@r zdhglxM8xcA#0#q!fuFOs8wN&emR^ZrE?@C+pp~0Yf8|dY6ib-epA*ML^9t4Lsx#wY zDLa5tu)Z!#qrtkVUZYrB;!@yitOoS|n!{L-kdc9JgW~#ze*l4CRQDSpFE>o&z$;>} z7QTFKZyN*MnkquQIt6pk-rS+Axb*xnP?oNGzorKD>iP)K`DEYt9J;6Br0mcz%xHNU z$7Xn}+kQBNc1?!WEkBl@RTWcV!H&;w&F&{WD@)v%`lT@+^P=9%>+9x5USPRlCcReG zMm+ynH{d)6Oor~ZhY9`fjQu}6Q7}$FO$g7B7?=~ZzUS5Tc^w%AYJ_hHqZ;CJnUP%-yZBzXhIJf6)EO3d$&)hn~Q zi#e>CI2zWy-P3~@OpRPl)>B|&k|<&csXw_sR$@odn!j~_0j|Xn{Y4j7*IMHqaA2Il z93DOyMwJo0kBn@;nG@O(mdB6+q zK@_6W6h>Ne;*j^zuSoOnOzKM+!obysEiD3tIG$0jkw)&Tpo8MV9f(6;_cocySy<^N zN*60g8K6JnApF#hNAR+i3>DNPxv&e5^Nyq5o@8FG$K@Y~4Jxp43}|!;F)nIzoQ}eOH8Pkj_;17}@;ERM)$ZT$6QvqZnof z%OUh8w>*&{;;(aeo`La@tX4xzr|A69H7$2Lx43gG8B6OsSaz}o^oXVG`b&E;Q4if- ztyNBUqCq7BTX%27*yFyCG2FT0V?w?)adYmlW0K6owrwXJYm$j=+qymP?|;|5^`Y15?x(xzl@ zl^B>WMvZ|z_k7ejy&)iO2y3LGYB7)$=eFKpH9Z`HDy&<*K?z5#XJ=tpRP|uIZxNql;b$7c`5(-R1Ek&wG(bTS43VJoVwObFw5ac0 zpjX}iE7UcYWOq=znmbBd#+T2ab#v*9AL|PR8KsRqG|@(zslEiDbg73TKzA_@X43s8fgy8BsT3&)m*>p9jU#; zLk5L0D-aDdo}d?NDx+R72ti<3HnBPhUn9hdwYbPAIe2)>W@BoFK3D-R6iath5~Mn# zq6Igh3RO6dm&T1vLG8KlH z^EH@h5mS1bt#CGrm#wC4F}&F>WSXWL(>ZD<)^9=`SeHuY2r57_H+*?5uYV$uzE9x< zLWb8QB&4$Y@DMXJqCQn|;COFq3|>AfrZ(`P$+fH-)Oh=EVs_8&EcqB5MIxHuN9<0V z;qIv0(&*nOx^!>eJ)b^a7oBtJL+j*i(t~jMEP8dja0m&bAz|sS_B0ZclS5QQ-Zg)! zdmR_0$wSS~LyCcdE>C9LREdJQ<=`d?;9s;bukL?_pmF`kMVXHdS`p2|`_t*s)tKqk z))u)tbA8n6=Esl9^-XpZnyH<+UASGj-MIZCir4dkC_g`+z`9=a6d}$e?V_QA18L_m zkJvfj6vEE%hFXy11w*JOFKqPb8W?Nd{l|pPni2XodT1EKipPs&6)N7UWfw^3fXCK} zDj6qMg4m7s2XE2;Q|hOKuG=y)2k=qz?{D0;Lo}RslIUnD<<@=efq#S*!hU2#p3kdW z`tx+1?H5=mUuhXCvV@4LFQmR4-#f_O54LU>R~UIM6`OwCe!rSYWDNBDj%-{=QxJ1$v}CSPHeO|5s07z~edaDx&CqT6(L}0F6c|HD1R7U+3zf zUE+y`29*SyDK-hl0gnSjii7MJH4II+RC^3&ER^fmQfL_LlW+BXYwy!|C>UR(*3=RL z&5LySaRk_mTf7xU{CvcBE#@Xlq&<-njIYuavT2?yngnr**<>t9gxs7P7_*T$L=!FJ{zU7 zs5Bd$ni`J6W?(h#1^Y)-#p`odS}z@+1gpul^^un)#T68KnJxL3g(cE70JN_)yKi{h zp479DVu3-8Jqh!T2#emHb%w0<8a_AwClFy(X%KoUBFGdc0W8?H?U2!&b)UJPai6`P zb=QV*&ss_-C;wTNiv}|(DowR(-i@U?g&(iAo5GFqb~al!t!nsUO@M;*7*r4&`ys%{ z08i+z1cNcPn@3CcbnhgAYMH{iMw*8*_t6sD*A!1ho@z9u}|VvMBCDuk&Sl}1+8azZY>pYV(~xa zxlfz5x`XjVjW`IC^qtRC0|8zybxwtq-sl{-)x&h39d$>E%40aicLN$ZYBuNu-Mt!+ zKZi6-bW-I8l6+IblE78A5iOr_5$D^-9?gF^5I%doxTn&JUiK>TLLF?0S<2a57~~sY zdg`)k>6I3Bc`!o{=vL*!yz_fD=Nh)cYj&AUrgPzm_zOzM;01w1e?+l1d4QuJcf@Op zn_ZAEY}j_0!0QiVB;f#aMs1c~Wa05v@x!jkj_9X00xKIsvwo%^y2#tP=VSgOAA0@s zoo~m`d4=4qLniIOMGZ0p^im8I)835N+Jkarm4w}dQ3F%SYy9asBk5NCT z<^B~#Bkw}fNjn=8cdr8#zv@alBW@3el`!b`!agv&%ympp=%uZlG7B%ip>BF*oUi0E zFL>Uq*5z$T?oyb0+xpm8yw3+Av0g`y3?uiBKZ;c1f#$pM#yP@X_6dY>pRMSzq(XsN zTB@@mUmgT;sy1pA2pF>ggu?k>#T?kX^;!@)7%~_m`2vMX>e2jO1M2R^FYE65z{nn8 z-#k=b_OEvyy^2JfOwVdDplapFAD7QTtBnlKmS-Rbhu^IW*En_;EK=g2L*AXcV6dPO{CORkQCCG zvCpBAhcNYa`w=QdY&0#c#|K6#`zL);>_Y`1EmSvsrSg;X{^dfgc2InF3hlKx&oZssN1mlMvp|t{tYF-@?9&#ua zk+;>I5XH9Llt_pcse8;;`}O6ABRz5pvzOs3R7T3?(P%66B`Txg6V8U;E45$kHp0xV zS?Bv1l+C{M+or%N+CCSQYj!45TdXZduwc;FT|qw)&U?Au6r-_9@PYlGj3-VfB#eed zjI3WaaRlaWXFDz}V~$yn*ORx%w7=$CdRppjx^XJB0CkFlMhMZsHure(N@(Q$Kz@Oy z1CSRc9~SIHEXW564yn@b^VO~MpF|u8A<7EkMPQCo5Mt_lKFIh-YF_JlsGJFsCIk6! zWR;Yp)YKA};)gj^#{Uxl`s3g5ZBqR6<9+CVtGbFMG&J-N(9uN&I6l_Sw_^8by^2|8 z5(A9?({37i&*gWuFRjS+VIkxOHKktQXQJ4D3$C|RdyXf}>kp0lzGAV6i^=wfdhzOq zn>I56DoOnO;;U(>5xelGnScj%Inx*W-fnoQ3%Dv)D|hE&A7}TnMm7II!rn z@H*;57H6dU`2)}YC&hBM#Oqcx{x;redYH(f<4`_5@8(=u3JfYPOdlIP2B}>N&V`C- zVH4^>r!Y2QG_wT|nPHDbmPA?hVHJp~nCr^v89brPKxRPkdJL~c@K$1*ZvVnM&E zh31d8&*8+8{5gDr6~uOTx94&We{Hf_ZnwC=hXC7qso(L0Gw)N)oOD+BzqQe^Y`bT) zT%FlY^7wChKY8t83qJItjs+KcT}|qZ_`FcRsp#cP6bVa1A8&F5mE%lE>$ETuy+4t6 z7AYW=j_;Q|xwwcv3*wzQf*%ULu`;6=3B}e!(8XRa_@H*0UBD{h=Mb)2CH#C$r)q1{ zdiWF0R-9XM2GZf_2dNS|fe^ZuHUkHjm+=V+XjnKnJ6nAr=4&&BNC9HM%T0>c=WrN2 zv(*mhhi_|iewNKGEc$Aurguj8WaC}mVJM=?57wP3%@(mG94AGdYv7pQmr6YyTyO_w z5wo)l%7RORsdM-I(9y}>s|M9;NO@yuUl<^x_F0q)$=8Z|y1^0^iBL$A3K4+=6V1KQ z4@9{S60X5kO6Np35}xIJKgzZ7_5DwzQ(0MgZc{=)jdafNTKfBGvHBJV((N@j$naaQ^`Hfg_Z>yKb$ZXT&4Xc9mAKEtx;a#@9k2=wf$eE$85u%2AFBu0Sci_MMWYjb4?8*% zHEd%C1d&;1b?YYxkyoy9rJIzw{CSMl7gBoZwoZxeF# zb)d!!VLo8seBbt}R!_Cs(6V$ynZTL?l8Nd3(|VC4lc|XnO{+we2H(P6eYM$sw$4Jv zvic(*1MBD3Vm?)$(gGrc1s4TE4^wt@o8xCpvfe71>m;Vop?|!$kRZCJGhw~*M-0!Q zP*hk&{?BvJzog)-O=1K3^7=orN zIS9B}ZNjoljinls%7j_u`d&4m^HZO?PxW9s{%YpK-^JP4@^>7qFiFHL%|r5{GboO^ zvvwgYDC9}2&kIo&p<}uYE1)o1`+ZXZa1Yrq^s;b*DEZhe2h@dN#9F1*!bxJPK)71@ zh1gn=DDYvp3Fjz#`1#FHFrAufC?PhkwbIT))`U9vs9Y-279o2{cwf(S)U(y7P4fCT zV->hG=0C44SA>shu4qO#BptkREaKmilIx$e*6ZzDegMFbCu>u*6UR0^yyY%E{6R_& z=<&)tTC09CIDm}11ZD?O;a9zZWPZ*HZ@W3}OqUA;% ze~c6CsBWRv{2wD&h2#%+yKewd*lt%WlQ4oRt5Ok>k zR!@R%n&8J3S)bQQj)tQWfravF0*V;pLZ1(vU?&2)WF ztDgPI4^l^S$af>loAWPG&cY~yaHK)z!fPI!%w{b`_)iX0>jDFYdD16Wg;$F@;oD6T z`u!#J(SW~7sGBV^=?P66E2cAgN8P75jo$!FzK#Ovk^wFS$2Ej9ajd8vHb6zkvmd1L z|C#j->7y_bup^0Epw<=M1Zn7{wuPg~_vd}$^52W9&6ovsi&#j_$r>u(U zb9Y4E9Y9GzA=$t6O#`H}H6Midvn?aq-2-9Gv!`Yvg}Lezlh$R&p4Gj-1m;Y^sK{}e43~=96J@-oR~|9Y{j$-El+Ml- zd2o<(uT_kA#vp^q+Z1$fw2DF0$%)(0(1YxYO!qe(9T6e{ZdrY+cDf%2lMUNjwZ^|e zJYN4=z+GWFTS&@L420M~vxk`f+5u*4Y&`d9SNluYrBI%K#8K4+vV*e6*%!+TKaJ0> zl~!-d$)*R7F>$ps4Ug9**UFa?#$!>rkNhE_K9tR)p-iyAPHDE= z7wim!^6Hei4IOjyTM!6_Q9<`Z)x8|Vye!33)≷(#wl(>bR--!ZwetQ{y9ds;KjY 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

+mhUqZZRZ6UW965sGZ(>AWD6>MQh~ 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.-", ''); + return paramName +end + + + + + +--- Cleans up a description so it can be used in a definition file. +--- Uses the standard cleanup function but also removes any newlines. +local function CleanUpDescriptionLLS(a_Desc) + return CleanUpDescription(a_Desc) + :gsub("\n", " ") +end + + + + + +--- Writes a list of methods into the specified file in LLS format +local function WriteLLSMethods(f, a_NameSpace, a_Methods) + for _, func in ipairs(a_Methods or {}) do + f:write("\n---\n") + f:write("---", CleanUpDescriptionLLS(func.Notes or ""), "\n"); + f:write("---\n"); + local parameterList = {} + if (func.Params) then + local paramNr = 0; + for _, param in ipairs(func.Params) do + paramNr = paramNr + 1; + local paramName = CleanupParameterName(param.Name or ("param" .. paramNr)); + if (paramName:find("%.%.%.")) then + paramName = "..." + end + table.insert(parameterList, paramName) + if (param.IsOptional and paramName ~= "...") then + paramName = paramName .. "?" + end + + local paramType = param.Type; + if (paramType:find("%#")) then + paramType = paramType:match("%#(.+)"); + end + f:write("---@param ", paramName, " ", paramType, "\n"); + end + f:write("---\n"); + end + + if (func.Returns) then + for _, ret in ipairs(func.Returns) do + f:write("---@return ", ret.Type, "\n"); + end + f:write("---\n"); + end + local name = func.Name:find("constructor") and "__call" or func.Name; + name = name:find("operator") and "__meta" or name + local parameters = table.concat(parameterList, ", "); + f:write("function ") + if (a_NameSpace) then + f:write(a_NameSpace, ":") + end + f:write(name, "(", parameters, ") end\n\n"); + end +end + + + + + +--- Writes the list of constants. If the value is an enum the value is set from that enum. +--- This is a bit of a hack because Cuberite exports allot of enums as a constant inside +--- a class or global but documents them as if they are in their own table. +local function WriteLLSConstants(f, a_NameSpace, a_Constants, a_Enum) + if (not a_Constants) then + return; + end + + local prefix = "" + if (a_NameSpace) then + prefix = a_NameSpace .. "."; + end + for _, const in pairs(a_Constants) do + f:write(prefix) + if (a_Enum) then + f:write(const.Name, " = ", prefix, a_Enum, ".", const.Name, "\n") + else + local constValue = tostring(const.Value):match("[%w%d]+") or "nil"; + f:write(const.Name, " = ", constValue, "\n") + end + end +end + + + + + +--- Writes a list of constants into the specified file in LLS format +local function WriteLLSEnums(f, a_NameSpace, a_ConstantGroups) + if (not a_ConstantGroups) then + return; + end + + local prefix = ""; + if (a_NameSpace) then + prefix = a_NameSpace .. "." + end + for _, group in pairs(a_ConstantGroups) do + f:write("---@enum ", group.Name, "\n"); + f:write(prefix, group.Name, " = {\n") + for _, const in pairs(group.Constants) do + local constValue = tostring(const.Value):match("[%w%d]+") or "nil"; + f:write("\t", const.Name, " = ", constValue, ",\n") + end + f:write("}\n") + WriteLLSConstants(f, a_NameSpace, group.Constants, group.Name); + end +end + + + + + +--- Writes all the fields which a class has. +---@param f file* +---@param a_Variables table +local function WriteLLSVariables(f, a_Variables) + for _, variable in ipairs(a_Variables or {}) do + f:write("---@field ", variable.Name) + if (variable.Type) then + local type = variable.Type:match("%w+") + f:write(" ", type) + end + if (variable.Notes) then + f:write(" ", variable.Notes) + end + f:write("\n"); + end +end + + + + + +--- Writes one Cuberite class definition into the specified file in LLS format +local function WriteLLSClass(a_Class) + assert(type(a_Class) == "table") + + local f = io.open("LLS/cuberite/library/" .. a_Class.Name .. ".lua", "w"); + f:write("---@meta\n"); + f:write("\n\n---\n---The ", a_Class.Name, " namespace\n"); + + local inherit = ""; + if (a_Class.Inherits) then + inherit = ": " .. a_Class.Inherits.Name + end + f:write("---@class ", a_Class.Name, inherit, "\n"); + WriteLLSVariables(f, a_Class.Variables); + for _, func in pairs(a_Class.Functions or {}) do + if (func.Name:find("constructor")) then + local parameters = {}; + for _, param in ipairs(func.Parameters or {}) do + table.insert(parameters, param.Type); + end + f:write("---@operator call(", table.concat(parameters, ","), "):" .. a_Class.Name, "\n") + end + end + f:write("", a_Class.Name, " = {}\n"); + + -- Export methods and constants: + WriteLLSEnums(f, a_Class.Name, a_Class.ConstantGroups); + WriteLLSConstants(f, a_Class.Name, a_Class.Constants); + WriteLLSMethods(f, a_Class.Name, a_Class.Functions); + + f:close(); +end + + + + + +--- Dumps the entire API table into a file in the LLS format +function DumpAPILLS(a_API) + LOG("Dumping LLS API description...") + cFile:CreateFolderRecursive("LLS/cuberite/library"); + + -- Export each class except Globals, store those aside: + local Globals + for _, cls in ipairs(a_API) do + if (cls.Name ~= "Globals") then + WriteLLSClass(cls) + else + Globals = cls + end + end + + -- Export the globals: + if (Globals) then + local f = io.open("LLS/cuberite/library/Globals.lua", "w"); + f:write("---@meta\n\n"); + WriteLLSMethods(f, nil, Globals.Functions) + WriteLLSEnums(f, nil, Globals.ConstantGroups) + f:close(); + end + + -- Finish the file: + LOG("LLS API dumped...") +end + + + + diff --git a/Server/Plugins/APIDump/main_APIDump.lua b/Server/Plugins/APIDump/main_APIDump.lua index 735a6ec05..5d6f5255f 100644 --- a/Server/Plugins/APIDump/main_APIDump.lua +++ b/Server/Plugins/APIDump/main_APIDump.lua @@ -136,7 +136,7 @@ local function CreateAPITables() return res; end - for i, v in pairs(_G) do + for i, v in pairs(getmetatable(_G).__index) do if ( (v ~= _G) and -- don't want the global namespace (v ~= _G.packages) and -- don't want any packages @@ -1473,7 +1473,7 @@ end --- Returns the string with extra tabs and CR/LFs removed -local function CleanUpDescription(a_Desc) +function CleanUpDescription(a_Desc) -- Get rid of indent and newlines, normalize whitespace: local res = a_Desc:gsub("[\n\t]", "") res = a_Desc:gsub("%s%s+", " ") @@ -1858,6 +1858,9 @@ local function DumpApi() -- Dump all available API objects in format used by ZeroBraneStudio API descriptions: DumpAPIZBS(API) + -- Dump all available API objects in format used by Lua-Language-Server API descriptions: + DumpAPILLS(API); + -- Export the API in a format used by LuaCheck DumpLuaCheck(API)