From 9281b1b7370c37cf3edef4c893ab6acc4343d5dc Mon Sep 17 00:00:00 2001 From: crc <> Date: Mon, 9 Sep 2024 11:50:15 +0000 Subject: [PATCH] add a d:stack field to hold a pointer to a stack comment for a word (currently unused) FossilOrigin-Name: 638db3d5baf3d12cf5686941e23d726c3dc3e78837ac08f1ce897e82303a1245 --- RELEASE-NOTES | 1 + image/build.retro | 2 +- image/retro.muri | 88 +- ngaImage | Bin 94080 -> 97192 bytes tools/retro-extend.c | 3 +- vm/nga-c/image.c | 2088 +++++++++++++++++++------------------ vm/nga-c/retro-compiler.c | 3 +- vm/nga-pascal/bridge.pas | 2 +- 8 files changed, 1155 insertions(+), 1032 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 23a4afd..28a6a8f 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -34,6 +34,7 @@ at `TempStringMax` - `s:temp` now truncates strings longer than `TempStringMax` - `s:filter` now truncates strings longer than `TempStringMax` + - added new `d:stack` field for storing a stack comment - library diff --git a/image/build.retro b/image/build.retro index 5823232..8c444c8 100644 --- a/image/build.retro +++ b/image/build.retro @@ -1,3 +1,3 @@ ~~~ -#1 'BUILD const +#2 'BUILD const ~~~ diff --git a/image/retro.muri b/image/retro.muri index 9cbb857..199e3ae 100644 --- a/image/retro.muri +++ b/image/retro.muri @@ -698,6 +698,7 @@ below. | class | link to the class handler function | d:class | | source | source identifier | d:source | | hash | hash of the word name | d:hash | +| source | pointer to stack comment | d:stack | | name | zero terminated string | d:name | The initial dictionary is constructed at the end of this file. @@ -709,6 +710,7 @@ It'll take a form like this: r class:primitive r source-file d 0 + d 0 s dup : 0001 @@ -717,6 +719,7 @@ It'll take a form like this: r class:primitive r source-file d 0 + d 0 s drop : 0002 @@ -724,6 +727,7 @@ It'll take a form like this: r _swap r class:primitive d 0 + d 0 s swap Each entry starts with a pointer to the prior entry (with a @@ -762,9 +766,13 @@ d 3 i liadre.. d 4 -: d:name +: d:stack i liadre.. d 5 + +: d:name +i liadre.. +d 6 ~~~ A traditional Forth has `create` to make a new dictionary entry @@ -799,6 +807,9 @@ r comma i lilica.. d 0 r comma +i lilica.. +d 0 +r comma i lica.... r comma:string i polist.. @@ -1550,6 +1561,7 @@ r _dup r class:primitive r source-file d 0 +d 0 s dup : 0001 r 0000 @@ -1557,6 +1569,7 @@ r _drop r class:primitive r source-file d 0 +d 0 s drop : 0002 r 0001 @@ -1564,6 +1577,7 @@ r _swap r class:primitive r source-file d 0 +d 0 s swap : 0003 r 0002 @@ -1571,6 +1585,7 @@ r _call r class:primitive r source-file d 0 +d 0 s call : 0004 r 0003 @@ -1578,6 +1593,7 @@ r _eq r class:primitive r source-file d 0 +d 0 s eq? : 0005 r 0004 @@ -1585,6 +1601,7 @@ r _neq r class:primitive r source-file d 0 +d 0 s -eq? : 0006 r 0005 @@ -1592,6 +1609,7 @@ r _lt r class:primitive r source-file d 0 +d 0 s lt? : 0007 r 0006 @@ -1599,6 +1617,7 @@ r _gt r class:primitive r source-file d 0 +d 0 s gt? : 0008 r 0007 @@ -1606,6 +1625,7 @@ r _fetch r class:primitive r source-file d 0 +d 0 s fetch : 0009 r 0008 @@ -1613,6 +1633,7 @@ r _store r class:primitive r source-file d 0 +d 0 s store : 0010 r 0009 @@ -1620,6 +1641,7 @@ r _add r class:primitive r source-file d 0 +d 0 s + : 0011 r 0010 @@ -1627,6 +1649,7 @@ r _sub r class:primitive r source-file d 0 +d 0 s - : 0012 r 0011 @@ -1634,6 +1657,7 @@ r _mul r class:primitive r source-file d 0 +d 0 s * : 0013 r 0012 @@ -1641,6 +1665,7 @@ r _divmod r class:primitive r source-file d 0 +d 0 s /mod : 0014 r 0013 @@ -1648,6 +1673,7 @@ r _and r class:primitive r source-file d 0 +d 0 s and : 0015 r 0014 @@ -1655,6 +1681,7 @@ r _or r class:primitive r source-file d 0 +d 0 s or : 0016 r 0015 @@ -1662,6 +1689,7 @@ r _xor r class:primitive r source-file d 0 +d 0 s xor : 0017 r 0016 @@ -1669,6 +1697,7 @@ r _shift r class:primitive r source-file d 0 +d 0 s shift : 0018 r 0017 @@ -1676,6 +1705,7 @@ r push r class:macro r source-file d 0 +d 0 s push : 0019 r 0018 @@ -1683,6 +1713,7 @@ r pop r class:macro r source-file d 0 +d 0 s pop : 0020 r 0019 @@ -1690,6 +1721,7 @@ r 0; r class:macro r source-file d 0 +d 0 s 0; : 0021 r 0020 @@ -1697,6 +1729,7 @@ r fetch-next r class:word r source-file d 0 +d 0 s fetch-next : 0022 r 0021 @@ -1704,6 +1737,7 @@ r store-next r class:word r source-file d 0 +d 0 s store-next : 0023 r 0022 @@ -1711,6 +1745,7 @@ r s:to-number r class:word r source-file d 0 +d 0 s s:to-number : 0024 r 0023 @@ -1718,6 +1753,7 @@ r s:eq r class:word r source-file d 0 +d 0 s s:eq? : 0025 r 0024 @@ -1725,6 +1761,7 @@ r s:length r class:word r source-file d 0 +d 0 s s:length : 0026 r 0025 @@ -1732,6 +1769,7 @@ r choose r class:word r source-file d 0 +d 0 s choose : 0027 r 0026 @@ -1739,6 +1777,7 @@ r if r class:primitive r source-file d 0 +d 0 s if : 0028 r 0027 @@ -1746,6 +1785,7 @@ r -if r class:word r source-file d 0 +d 0 s -if : 0029 r 0028 @@ -1753,6 +1793,7 @@ r sigil:( r class:macro r source-file d 0 +d 0 s sigil:( : 0030 r 0029 @@ -1760,6 +1801,7 @@ r Compiler r class:data r source-file d 0 +d 0 s Compiler : 0031 r 0030 @@ -1767,6 +1809,7 @@ r Heap r class:data r source-file d 0 +d 0 s Heap : 0032 r 0031 @@ -1774,6 +1817,7 @@ r comma r class:word r source-file d 0 +d 0 s , : 0033 r 0032 @@ -1781,6 +1825,7 @@ r comma:string r class:word r source-file d 0 +d 0 s s, : 0034 r 0033 @@ -1788,6 +1833,7 @@ r ; r class:macro r source-file d 0 +d 0 s ; : 0035 r 0034 @@ -1795,6 +1841,7 @@ r [ r class:macro r source-file d 0 +d 0 s [ : 0036 r 0035 @@ -1802,6 +1849,7 @@ r ] r class:macro r source-file d 0 +d 0 s ] : 0037 r 0036 @@ -1809,6 +1857,7 @@ r Dictionary r class:data r source-file d 0 +d 0 s Dictionary : 0038 r 0037 @@ -1816,6 +1865,7 @@ r d:link r class:word r source-file d 0 +d 0 s d:link : 0039 r 0038 @@ -1823,6 +1873,7 @@ r d:xt r class:word r source-file d 0 +d 0 s d:xt : 0040 r 0039 @@ -1830,6 +1881,7 @@ r d:class r class:word r source-file d 0 +d 0 s d:class : 0041 r 0040 @@ -1837,6 +1889,7 @@ r d:name r class:word r source-file d 0 +d 0 s d:name : 0042 r 0041 @@ -1844,6 +1897,7 @@ r class:word r class:word r source-file d 0 +d 0 s class:word : 0043 r 0042 @@ -1851,6 +1905,7 @@ r class:macro r class:word r source-file d 0 +d 0 s class:macro : 0044 r 0043 @@ -1858,6 +1913,7 @@ r class:data r class:word r source-file d 0 +d 0 s class:data : 0045 r 0044 @@ -1865,6 +1921,7 @@ r d:add-header r class:word r source-file d 0 +d 0 s d:add-header : 0046 r 0045 @@ -1872,6 +1929,7 @@ r sigil:# r class:macro r source-file d 0 +d 0 s sigil:# : 0047 r 0046 @@ -1879,6 +1937,7 @@ r sigil:: r class:macro r source-file d 0 +d 0 s sigil:: : 0048 r 0047 @@ -1886,6 +1945,7 @@ r sigil:& r class:macro r source-file d 0 +d 0 s sigil:& : 0049 r 0048 @@ -1893,6 +1953,7 @@ r sigil:$ r class:macro r source-file d 0 +d 0 s sigil:$ : 0050 r 0049 @@ -1900,6 +1961,7 @@ r repeat r class:macro r source-file d 0 +d 0 s repeat : 0051 r 0050 @@ -1907,6 +1969,7 @@ r again r class:macro r source-file d 0 +d 0 s again : 0052 r 0051 @@ -1914,6 +1977,7 @@ r interpret r class:word r source-file d 0 +d 0 s interpret : 0053 r 0052 @@ -1921,6 +1985,7 @@ r d:lookup r class:word r source-file d 0 +d 0 s d:lookup : 0054 r 0053 @@ -1928,6 +1993,7 @@ r class:primitive r class:word r source-file d 0 +d 0 s class:primitive : 0055 r 0054 @@ -1935,6 +2001,7 @@ r Version r class:data r source-file d 0 +d 0 s Version : 0056 r 0055 @@ -1942,6 +2009,7 @@ r muri:i r class:word r source-file d 0 +d 0 s i : 0057 r 0056 @@ -1949,6 +2017,7 @@ r comma r class:word r source-file d 0 +d 0 s d : 0058 r 0057 @@ -1956,6 +2025,7 @@ r muri:r r class:word r source-file d 0 +d 0 s r : 0059 r 0058 @@ -1963,6 +2033,7 @@ r Base r class:data r source-file d 0 +d 0 s Base : 0060 r 0059 @@ -1970,6 +2041,7 @@ r pack r class:word r source-file d 0 +d 0 s pack : 0061 r 0060 @@ -1977,6 +2049,7 @@ r unpack r class:word r source-file d 0 +d 0 s unpack : 0062 r 0061 @@ -1984,6 +2057,7 @@ r d:source r class:word r source-file d 0 +d 0 s d:source : 0063 r 0062 @@ -1991,13 +2065,23 @@ r d:hash r class:word r source-file d 0 +d 0 s d:hash -: 9999 +: 0064 r 0063 +r d:stack +r class:word +r source-file +d 0 +d 0 +s d:stack +: 9999 +r 0064 r err:notfound r class:word r source-file d 0 +d 0 s err:notfound ~~~ diff --git a/ngaImage b/ngaImage index 873d9dcf0e8d5cbba2a99b271b21de50f3e3a674..11528f89b2d5e962ba89962b23958272c2c0703c 100644 GIT binary patch literal 97192 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 S&cZ%PJ$BK$GekRxTJpbIs@(ek literal 94080 zcmeI5d7RGW{{QcLHe?wy$dYPEh>#^o5kd&bR?#-rk$uQmqRyNaos*)dQ;M8Q)25QN zhw9X~QaDPRXtA7AO3V4SNq#e*&+B=q_kCa8W5)UZ9*=YQ!~4EI*ZX?EU+?w0KA(G; zXqiaxZ*h~5ZWG-tdf(y6!NihiIDeJs$0^}>UusDC{|&8Ue3)KnS%h(tt}_m`MBKc@ zyD@6uPc!RfhT|`5=F6LL1v9Q_#+A%C-Ha=nafTUZnsF5~u4=~B%=mCKu5QLP%($k; zNzshJb@)474lBGKxRC3W)53|nv~GoHv~n~st)s>rxLzTOiNO`-)8%O5k{T^fXac@+ zTF-n^v|4~~pROlGYXp#p7uQ3sNQ8O(ZRZP@2d={(%%d+_Bg~|K>+UrbaUYzjHk)twQi}tmH&x&_s7i#C7s?NiQtxiPaG?)9 zKKza^JsS8K`FBaLt0&3r#i zOC5go#|&M-|5;{So3R+sw@Y%9lz&watm_pN=wwmkABH>y{&w+`UyP~Ww(u7wY7uLJ z_^IR78mn9)g=|5}Gfy3$f2H`@cMIz$KuFx_cb1>?2G{r7AMQsI8|fyzE@$d{r*IROW9(9isSe}n;mkNzLC&!ngPMjrbJ_FjWt2}Vzf&Q;*1 zpD|8W0?-F64)plsvu#qRj!zCbS-9-=YM$$yHywYOkg-+ckSbjZ&u5{bUtJIMv7UU3RtV!Ragha*!~F|+(n$=A?-C#N ziro6TuCNxKL&6o;>-t|rk=I#_J&z9+tWYDJt?{KNhSyJM8Pd6G%(duYJ~O4d7pEB z;juqh$2q@7M$lej@uO)&oQsxe;s+^ybM)-s zd@xMckvG8zNS48&w<8fNr`CH5E-Mm=9E;n^s~~y7;iYh$mDi#EqCg(!hCJcP7PayY zm%Jl1Z{6Q-jN=8gT{w`BVH55cNzjj8%fU59yw*E?_N9`#lj^ne&r5ClN5t4&_$Ri#( znunYvxoTH2a{FGDUAagu`GGv@g#1GvatBGS+Fy*^^^b=PrX5CxYaQ2Ze*InRh$H&O zXdTz>x^-IDhy|jPw62-PcHN4{rUrS#JpBOssYAq0m%JjM75%gFYFrq`oBA3TvblQJ zFmk2jXuFG%lQ!+VfE66Xf%S8=UfX8O`lD8dIHqcWPtF3#IZ1rho)_O9^qc%3zvz$T zBY6Y9MUs1YQ8O$2w<07F`sMcNw+DWw|IjbVL-c4_k4a9T zJPxi$CWL-JK?_b{q3E+(&%Rfn>)7?o5esjq_O}VS_=UQ`KekTEXYvGo;>J2)yd?cR zhqC%-rLDho)6coN_>uMagFHgdf$D!t`neyo`p?XsHhXc!S68DSKUo}BFY%}ThR9%W zf*U_<6OJjmU~yb?UB}<#EjW2Uae&kn@{GPgC>$}y|FyC!Gv%Z$r_weBBc*QlrxrccA zsi-X z`w4ks*Po;HH*5V0QS^Q!y|y1-q;>r~agD4D3u>_BK}KlZP|vy~t-F8)qGPpAWg6q} z!8?bZIkf5M+|J@Bjzcx34{@FNQ?JB@I8QVBCrkh1x^Cl>kvHvsi|Ung19?i`q8ELm zjr=PmpXUcwe)_KYK|WdezWrjZO?r4fY;oT` zc6waD;0NSWhtvu3@0EPyLdnmw7o1x4k=_$>i;J7Ma6d#I5O@56{>P-By0H4MxhQkt z@_N%(AEpo<)pz|<^M(y*cwOpHEkFXQolB6z zx+}EKcWx`Eb;DR7dX3h-=FwMO>#&36*K6Iky1;%w-@ABMesE6cqt~~c|iQp zkAJbp`sZ=!d)A|`LA|`V=bIeyV-NbduIb2&lF$1w*8h*^+<(%}lpUtx%*;kAAHDVJ#}RDz<-fm94iVAu6NaS{D6O;&eqZxOq-YJ)9?;mwE8sn32-H==~vk&Og|GtSsQ*8ZSKaJh)bzcIROg zfAt&)KS1#Ze&&7$zmdQ2Ilt+}3Q_VE|9~%FxbF1eyJ+5TKTl-!GPZhePoVc^>09B^ zd(@PPE1SQamrTDRZrG217~==VzUM$u;aZje-#xVF0BKft%LQ# zv)hBKW`(tJpXZbo2m1*AgMu?fxGmmKg)>qnWT1}39(hCWXEx-5C~^2v>&tr9zp3@d zdDfFBwY0v#@XZ^S_u8E0``<4j@2CsvhI(M1Al`OggpWKx9sY8(Y&hfc){L>goN%}F z;J1eE7d*8UhfgvZv89b-ow@%QxDad*>;4~iZ5AzOfn7c|BW z`Q75SW9(=v{KGtU+;q*s$tU_WdFIO}aQX1|6V7QKydxe=`_s>T_rG6T-25TWIe(0l zW9{cM$@c}CryqlRlyLn?)b@w!ZIlGQT)T_r5ICx;F&2Lw|nqZDIp%7e*z2r zyuX3|8>II^kN#>U)PEt0jX!w51O1Do_bE}^FYnv<+x?pSwE2oU;&1n3^gS#+uX*hK zzJ%|8b^w5}cb6I4`wrqly|910FMQY&eoJZp{Q!ByddAqvx{b&Y{Ycc-1^ip!SD)%6 z{K$Py^WTWt`gym6{;PA4{g*_a#s4}eSby0ucH)mc_(Qa;a=X@AN@yBX2raqas_oL*s^-D$RZSAr5 z+L3dD&uen-#~$qDTua{vE;#TbV_OG}rI+s^6(B(L&Bw#f5Bv1PZojvQJ><(N($mjl zXU|jG1-}l zFY=RWhOe;m2Fblov;aoYGcL~i`TJjeuEfecQ2U4<6dVhs|8WnFPM3sn#6J9I?Mq1w z1#p{({0Aj>jYodQ{h@s7%qJh*^z$R+C;AKc(fg$It@G&ZlNY{oJ4ABOOBm1tZmUOP z-R~Z}q6=F*`le@xc3ORnP>4OE*po=_+tT-iNAFyZ-VR1@68eoD_;Z`C|K!m#`Qgw$ z`W5vR<5%so$>l#a&m;v(EaVocLOaT0gW(;D-*zZ{!UW`|vaNHIly09=)^L z+!dTR`225<^o$bazMcIE7@VVeNp2E-NMCf-_7WiuUB#zxx%{y6_>J}0akAE5AZq>B z{EGa*4*E6wA9XRx*kkR;k=*@uM5`C^@cxmu5x%D4?7B$ne0DMKv#YPxPZzazwO>{6 z^z!xlzwgL?OPvsxMCS&JbtnHceUmp7F_{A(Uv8AF2Lul z5QpF0eX;;QA-&A6)Pi(T8^_1s*ZNhAWuWi^{53yh-JPu+v>ZOQ+_qo>c(!z(r~ zl+jgkI*Rrb?I-Hfr)k$0KarlFJo-NNeE*#Kp`MUS{qK`J&UNL*fSuU?v-pTN@uU8b zS6&ObpP+tNM_jCY{mh*Eodx~e&;I@@LHOIQx4$PtUeFgf4^zib(hN1FTwkY#He>atU{Ec7e*WkhLjdTG%pWoYx??C;2BJ$N2I%$l5(ChPi zd)6yH2kQ6QTHjyP`u*kw;dz$*oBfV`!{xJHP^ZCWU3g7mBWLQxP>-IUmVFXDf8czB zeBwA!^107+dSy5FkL6RtPm&xi2K1k+7n3~tFKsnD&_7b^imTt%pKxFwdUNz5-=lZq zJv#!u_?NuyB^>lEK4OUH(b8!uP8!4xT5J7EcA?llsU~ zy?E7wXYr!E9_!aXwA$ifj9guyf1{Up zkT1ie2O5J*{T2J!7umPKQC0ezdT{KX74B!mdxZ3!g5yQq`9NdNjp*eZ5Ocnfqrh{l zaCG$GxqbF;e;?>TarF>Bi;FS-Nrdwx;Ts^j%=qKBrJ>)b7ve^pz+U+HJ=hYlzo+C~ z=#l%DKCjXY0isoPkV4KmT0hDor^~z$-&m~&ANhp%swO@cOWqVwTURf3*co?!w)M~R z8uYMFLIbB1PI6A4C4J;s6)nVG*3A$f@#KD$f z&xwztI={apeZ-4%DfvviGv!FuyMC*{Qm=fT48E0;FLmyGZRgc4BQ{T#YW-UtzcgJerJE0Z;k3eY47@9SMg2q z*!#>&d#de8$N4~&D+87%btN67Z-nD)+fN<$M9KPPM>g$ zJU|>nJ@S!D9?`e16u+&bHZM%*I=|g1i|H@y8}u#C6HQbg@FnU)+2ZHC2etJ|e}cL? zRO6v9Vb56EG2dfP`Bq&HEBc*1aAFV7#i)Pm8!Cl4C>D)Y4K<@bS~cu+jCrnxa0Xs#1w}yTbgI{^}m~a&Sos}SidrJU#ssBgB zhh6k1#`I;zeE$Le*nRd6$$Q=7hk19_eYfayD8!+}ag#md2mSjUV-M#F@H>93cfZ%~ z@y|LVkIygI_vxM&-)A1XC#N3%UOc-GH2&DZ^NQ4HwcwVK{hfL8kTHHp_5D3G{e2$R zktZL@p43XAgKS^fK&lf2@&leSlP-upp#s(bLfIDggPcz6!j&&mgj z$L9NC!qL=&XYI5{?|wd@$;vFDxjPcQAidCwaq-A77m4}I8Y5B&;z z`pAyUJoel$Y{%R&Tc3={x8ml1Y3(7uum}67SMrX12D>hiJ-2x5`snk!maooj8IyPa zS9aOF!!G*0&#tRv&vK7lw>`7_x@uK_iOIkJE4#46#*2NxXV;yw=T(ng-%l=B_m{%= zZFug&zQA*-aq3T;%g8(GkaMT&YpLl0#5Db3HS*>e>3`pYqx&0!UyO%im;}>L4**Ay z;+X;hjeXKIercZGi*DbV0Pr&~5$z;oFYZP?)2CtS5XxR$>f zeviQ78ZR8PE^jm+EhunXH!{%W#={?J%KYRBVmHIZHlxzJwL3r%_5B-pOWuEn1$3KOCwl=ls zHF)jkf7yT1w`4?zFg-zn*7!IoM0XQ2Zq z;0u!Nwfa_0^e`f+c#FM^2 z+q1&(og^9IUe|UfOnH{tq`^SHvNNFUU+bQB!WM{*;j(Pi}n^hLlk}uU4P{F zS;-^f#27zS(ZWno;(M=fzUjd``^y(^nOi3I@7Rr(9Glm~mG}`~+kfomci6vjB-i3+ zp3gH?GIl&C{5w2$JlSsTyYDRD|Mvhn&)9tAJVZY7e1W*bPo4_~;dgPtpPaY96)x(K zb$mY4+RJktEsHsKf3Asg#t)lxJw*a+y`uMYy}(}L2E{)7fZeRO{{LQjt4XiTd)AQ` z_X$S3l}>IDz@kcZ!}m$A)z@`t*_ztlmRE;Kqo{NMy1eZl&RxI3KczwZ2|zVGHW zrk?HRg4zlva-Ba+{IL(d6SdBlH$6P|=QNrT_xq68iT$?kJ6y7t`b^RUadCAoKHm3Y zp1evi>$oqre2j@FerPZIay)h}nfiA9U;q6@^3-P^_Q#wHWe2z|9^!$2=mQF$tM|de zIn#r;+!NE|#)UfLb4An@^@d*V>*-ThNl)Qpfxy+^OpjJzNkH)@^H*pccJg}@jOp8{ zlEV6lT6e3*zVA<-64yTLA}&yCANuY0)&B}!;laP~`@Wxkht^R)@Vnmwlf1d2%)4`z z@`ApMALdBzGomZB9e<$&QcbRZ*5G^ozHlO-w+&Z$) z7pNch*&HKB;v;H@t}b5E#K#`}tCnnP5U-A@3-q$@u&2+kXH1 zM|Bv^un82?y#=|&#+!SMYeN1Q1>8}HR=PyBgHoOqL`xxz&}xz3n#(J&Iv*a2?* zIK|-Qb27w(_+dA{yXE33$8+xEe9C%$*A9IXrO)OYdYoL{e~(JQ4=&Cv_!<2}jeYC~ zE}zPV4&ppx*I!`P+kT9mvkc!F$wl6&n!i@Gz{KaXZ-)Oc{a3%MPMv3qk2pgU#oO9P zzJX_kaNOa+Q~ivGemXPGeH;4-{WDkinuvl6+`j#Ve0Wg$>8I&6LqW-s$8|?jQ-h4- z_f6BH8NpGCI6xOmuF}ZuUv^$$irDu}=4kzkqBdUd{N;hP!@v2*d$uog-m`UxU${?c zCi|>^@LR6tAugUW=zZZL|H&7*&%FwZQlGO`|5h^yZNfg zaqlCD6Lx@`>*PK9Q>%qnY#lU`-jrySVC$%(h4`QK4a7&i(D&dwT=Q*2xlaHGw4YuO zhg>EMZ6-NgMQz++w|&9N#XsZ&^Q^}nw{HjCF%rQJ=dZHi3idgk*T6?#aQiO`M3GZj zWBhiq?8{DIC-{jkc5|KkO4JfJ{D+4V!mewt9N(bdb>eepeh z;@m;LvQG^&ezfNv*5hCLsFgDk$B8<7mEYeRyNEA-`pV4Hr|<*yiv9TibF4c zV(Me3S%;ssO}fulQ4jVy`z-kE_u1D=e#NSxLlW&%_?13m+!;xcoazbW_1D5|QRG^A zl_aN50(pImJo3fLt06hZC6L$MF4VZL)-_MCzN=?_Bdu$jV0}lepX`y-LhE~o`uY#+ z=|A|H=lixkh=*MV4D#8HwZ9P`&H==qyrYkB9}<7k1(YYgZz?JlDfM^7wEGV!z?K<)aVI zlReDiKh~4q_<_8+j&)^2g*~Jfz6qMYGl9R@7x0742j>^PaQLK`_v_G0AAHWEci{0Y zw{6=pV(BEwW1q5d1J`8n5jR_B$Y~}%#;haGb{+dy%zc&$%GI65F3)ARJy*DV5e^7( zbbez(lzE#cG5X-w{<>NIrCz9a#`H7B)D2_ug1C`a8;xA{SMn2_th-12UyBwP`<^`d zhU6J>o}cl&inwt8o~-rcBk@D5J7*{k_HzY$z^?_ozlz=L`{2j!@3gL*)={6ebl_&a zi@Wsm{GIa}>oUzc?gQb|a(C`<&&8$R^-nSSo^O^hdbod1#tyCLIk~kvV%FQ|;-AVd zjl@?VxsXR5>==9>gu0`i>ATb|{g-w4se{p9T>rMwI`YB!Q!ntRwYR0wccA_{-mJI& zI$HDnM6JKxe&_MJ@#+EpT`C6+5#>5{Ve0`uo+o`aZ}6w}!vOJ<*VF~_hHD=GQYY-o zcAb@fk&(YfadGn0$8s%h5=4}GQ5%jq*N-uJume0@G=HV2jmP>6o{#&!D1N3tv0vl} z7x4hDvrBfu$MsBO5B?)hz?&zWw|el-d^!I6|MXA#CjHgoB#z+5zdk&3gyS&}p1xa- z{w8(ITi=kU)Ia$P9{h(t+22{m`xJb?7(VdhPrF}pzXpEzu(OH`WuE+CjGq~Et|K0c zW%mY;{V8?N&F|Pf_WcIz#?E2F@&DUi>cD63D%tr@kG)?c<;Hz(Y|n4>d;2*c>H+;O zUS&fE+2@4x8{+YyaP9Np`)=vZN8`O;*IEAWE_#L;_t&_eC$T4F~@DT7EfR*9){B^2N3-cYQeT+l}NQ z^$HH`2M7LwQl~v7@GQ}DM8VrvW8_%*@QKa6&xD_|H9;RCzo;YXi#|txA)n|Umq-rJ zvFVeXPpD7s7s=a+TE{+szvxGoYMy>U-{Ss>yq_*U2yts_;#N)Lp`N(SEqC9XoI6S% zw*dmu$57%?+PD$t;^s4T*iCrIvmP3sDN4Te(zv%M`G-Ac>pFIj&(t^e4-_AHd#=Xk zi4GEl5VzqbZap>rizjYp?)~Fqzig`0nfxhjy%8tufpXp2?eMF={-@U0e|p~CX7cWj z8gKXH-L6M(ox6AU^uul5Q76;^bwr;gpP0w5T&F&%JJ$R1>>^Fn5v?nFjA%X4V@2zW zHV|zndYot@(Z-_3i?S~@)wr1`^>&KJr;74>o$WQ|T-ib6!J_AjULeZft-e^}8KReo z@_U!FG=|VWb}C+s@ek*s%38pF{&(@$sUA+)_Z3!+82A0{|Fb>j^Dgu?+gFJr{eu2T zUJ!5c0Y2==(u;DU;H(IPXu9w=5nW;C*XnoYi8Isqh5J^{Uj<@7Uwz3v*(3i|$tS<8 zd^c8K#IMM2A-V7|&$#;5BmcGWmb_&Ag&*-7bpj<1sTb;teGR$orI+usS-pRJvSfOR zqs58dUeYUfM6BKqA8wF-ErVVR$uP&lIa^LgRFg5OJ4=eTYddY=uhl|;?McgN8MX}drO!v)DPzv z^!-)(vOM<9zh%^JdvMHLUb6bM_j}|O_OFp%`lI#tjo+3` zFZQ#aQ$OfkFTF_~d(Ze+>GYDvoWIe#ReF;>dY>v~AN1+{QhHN7dMlSwFMdWp_U@J5 zRFB?WPn68h^nLan?vK!0p+@*B&7(K(o|5UM4ykAEZ_ z(p$-+_plQ7Wm`wsd9w7Sd-SE0QXl6F^qnDnoFi?YxZtsp`IY{JKk+Ym2S{&*$Ih%$ z_C@ljISNIGNpGe{Z=Hjrw}sI=NqVbz^wvE{dRrR3`O;g}qxYDDq_>sPJ5PG6dGzLQ zE?HjDm*^L^PuwZJx($jsmwr;p{fFm0;K1yMrB`h^M(z>XfmpX;&X>-m5CX7~$v$@taA1Kg9P z2g-Hg;`2Ls0ABow-}!tt`v?9XD!j8jxN{f0)OPcZS`mwTm~f5~9cjkk_u)N3{NO#A zu^znGJee+hi#<4-UGw(J+36E;O?KC9`+Ki-Ys=ri>B9N{1j@DKTc zU+Js(6M68(j-x@5B|l2EB?|q&VGge zOWgnEPxc#MJ)JCE*&cj@mwh&+#+JpEiEmrwANa_Je_OuGj%4BU+0je$c^*4%zb!myS-cclYWVnGhu&UkE4s?)Or}*8qOi z`x;T~eP8R#>y6a{qvxU17d*9c`DZcb2kap};D-`F;zfQ^Z`2X~fe-ceJVst(H}%4p zyu%Onob-e2tnab&l#0t*97tS=8}&9;!0Er(L%e-(zM?7B|&Jm#^hY4-2`j;6&; z9$1|C4IJPC$Gy_OUevxXR`t7Si$0iq*iU^Wn7pDMEDrny-vF(nUvi(oJnPv9*dM4n z=HZ7AJNf?klfwVL$Di=Co<2msW}ZB~NEf*O|5$RF&(b`8fb=6FE zQ76`~T6_@V)1$)_F z7#G)m`0)#N<1g}yexAr5{C)^_@qL?v?VnEa%cUOwEIawgV*P%m^%HePUeGVGo6pf= zA9=%=-=(cgd^ryYCw#=!KF?#l+D^pYS5e0^jXd%P`TXu5V}5^-{2HP4w?i?|(0&?Q zKan5g4d^B2%b+p)F!4YSal!8~&kN)@?Bes0*nNleKAS*4`iMVu z0WR#vPK%Rum`B_g+dSg;@5meQJ|vuPB*1Iy82!Wzz2KlO$q$=9#E1Rv1L;qaAlBuZ zF@6O<`rg+1a^h#6JlyTEZ{cZQyjPt2jnR^e-Nc1BO*iuzM)-XM@&&ux?=zPTIjKwR zaqBhj{GfVI)f@6Yf4S=tM10Y2zc-G*(7#9ig5SmuyyRJ?^uSNPF>mv3tK=UgJ8s8d zLwjqC-=UmO*?+limLD1(^1vYv{1i!3uoEPbf+)uKO`vA^=@VoUo-`d|{YbX2{C$NKl4eqG|&i$3ML+9oZlE?3Xu|I&@ zo`Z+LFPv*c;Tx#=DG6|LUS(gfxMS`!r6)%Q;7@)>7yX>07kKoK%6R-*Z@3?4J@#-Nedyu-7J2Z;Joh1B*sa8I`Jy=9C423C4)+uIi{F7^Y@bt* zj|(M_`_Ts(+c*dhc|#nKbFW#)`z*+Pj(OQ<@$%dTywovc>VYwNXK^e?kMLih8)I-% zuhfC_ulTutg!wmWbc9IgGq-&!~b#*yskVu?F1s;Fc=XmT7 zT&LgJeno$xFVUw^L*2cq0-&y22oLpzT=;#z=hsB*RG#krlA5~SIf0$vLtlFVWxuiZ zFs2TzUHmQ;`=PdbhpV;l3`~FvKimDmo-^1NV(_TX50f7H)VBg$Rn$J;#$VR&Zl6$p zv->DT&Zj(hkw?Ac=t8zA@r4h+Wa$ENdqMJpXfcGWf!SB>a~x3V!wr-}^1#K40tb?|`iE0)Av4WK3VQe(ht{ z**G3+^b9flRu6e<^;}@qIX#LCabO+&JWuPaAD`Ls%kTbPIOiey>R8!umqnqMkv{r}WC%j5o?TKWq9C$H%TF@BGP|J-vg;kECB_A_?eDqK&A`tFAZNYMh%5C3A9cHK6!j=xi2`}W)7+b8Pt2l@Q+l{lTYFQC9-qC`PhIg_d*8k8qxMCA2b#E3C)mw(_ABPOj$gn{o?(}* zZ~Tru)r6~+2jBFYJES)+R6@U@p3x8GJml~wK76i%__UWEd;Y1V`~`PQjlqe1ZL}Uf z?1S$(&G!B2w8V@Jc6D?MN5;oGJk_^e+TlMm_TLjlyq60LLcB>yrwg!MMx!Lty(TF3J) z)^*Z#@{4uzStmW@oAv)J@vRiK{@uY4^ee|CxwIqYZT0e+2Y-KU11ykb2#Y@F=x|08dUM;?0DYCfrM2*Bn~ z-}c=%`+`t>X5!izoRa|OTCb%^g--pp8XLyL@B5ym%o+K^6Px*{R-B#4=j?(-fQJaT9d_Jk&&Y$~D zv3?})@CW{+-tiaq;}7`B7yM4%2)5ThIl`HQKV*N78Rs(=bz|}Sp7&fR`96Q0q4}Aj z)?a_i-2Ld~Pmj;_`3pbc2mC}nv5q{&E}60a@3YGe`U3H;g58=Y-sIOD;Z8Mt$Vo{{ z3Z_z0Ljjyy$QSfnZTv+3C2K>2f2{ZxdHnUyb$comou{!I9Mm0k#d!oj5FcAV4@ggv z7}>|*&&O_2HD0y|^wA0$WabLyt{3oK;4-Hz}(6UGEk*jUI=@0mUx+rn~ zkX`tL{NHWxlb6I<%Uu7-$4|1Ca|Cf`-3}uczu<4ar^>nw;!imyRABv7W6w*2;- zIr1lU0xn&4d292U@8=S)wrY$?TFCVuD}@)pd!lfj=fS(9!IvZAmbkIlv`aK9F7EeKf&n5 zE^we1e`E?j^E`)SzOu3JOvzs$YU^Rv!Z(r^r^WW=p^`(sk@xg#>W4TpPv1UG>mm4= zv5TAHzC`%Ao+?J{(qn>1;jK~d?{HBY$J-pMTA=Oe?99`gS0*i|nCR3KcC^LxMiPQ3k&e4`(e2aK5~Pq~g zhzCcL^V`RL&P4v9f4uaQpWwqS7Khyr2T1=U500F=y?)mp^k?*2d=3XMM8QQI@XH9{ zxYC2?tq*?xc_4Y>!$JO|-`)?B_sm;-Q-$j`559AIFV2s54#YpiXPErJeLZ=^Jno|I zs~EpgN8n`t!H?Go-vb_;W!}9qsH?7$+gG%Up&Gh#+zKTSxS}Z`N2VCvbvc@G1pw-;)0(z$1rc}oBe=!-nX!JgQvK9;m0oI+wXgAmVHMb8ye`# z=hJ0B{hdC+eFgEvztF0Z+eFltuf&~vB`>(1ErE6(J=kl<*rhPLb7YqAbVz{9>Z4x3 z$GknCfg?pPV(_WYg8%8;IRHSv^ijv;Wu}>DzhU0`t*da2On?s@ zJYN_tJ;af`A&;;J*seZ>oBm?`Nqt+KgM@EJ0-VGTeBdU}nI8r){G|gF`9*!%c#fC; z8xr8)+(I0|gMR#G=bH%+{sbm{aG~@PPuC~Kh<|KkShN6u zhL+ZT>JqWo|E#eeoYX6Jl-3WACh!A&cD=_BN3UPedQ+U|p7@3Ml80O;Ux&-^7(b|f z=)c%cAHYwW4SxC}{Nyk7M!&*;o6LH99;BZkkN$z2HCn$%)aJ?dQLj$Ae0z_6)B*Qh z_~AhPL*3vn>WX@^a(T|<@~fDBEmJ>Sf!)@x)P>KlQM3L){kmQLJW_J3U#IT6D(?N1 zwV%8jE(dU)b^g$OeSL$Md?!yFzx-$KXW%>9$l>!mM_`3lRRW`1o80`!f`K$Yc7- zFoQe2UMP_`vM$^3@jhLO08l@?kIVXAS~p2_1%O4fR)z>?nCs~6rx(a)J@Ylv!iCIJ zKg|2qgKvy*UE{%5SNLXn@C{9X&-Me0FA@GK(u;k|7>hP$ta`QcoEKSd^(VqlzS{Np z?+W}TihRL}biO|?ZeHhzAzPF_&vn)l$JA=!6_;?+L@l`GEY1@wfEY{#UU^8|i};#cyR`p3`s)z$;+P=`H<-hai;?!rB(nE2@z*x|zqe)#S43)Yd3 z4u6^O)imKDepzC$_eIQK3V+#<@$0G~#UD9ZkKNhgpD$XVc}u7V;)FfK6aQlel(?1F z503~Rc4i46cJcQ*Y+c-^b>9A0HWcLk4wB?9ks|cb_t4i#eE1Q*JHRQq_CAUCQ|-E& z%{o3Ogg)@Fj(U4V>k5Pi@@ktJX`SQzT`%Iq`wQ7xKwXi~Tqkag`f&z~x z@Tc`7dBrk5Pe8n>C*o%7&%WPRMmUa1fXDVRaBkIEOYUUUHwLBJ#i-f z^eel3{r=ynz<$mxqht^M$<~? zx8I6^>wgiBl^#5=-Cp-!Mc>aJqIKve&gkcyWj|+!pU5*Gj{BwmWe<)YK25LOybuHZ z1b@(%!Qt}*@$u<@Mta}!=znec?BEESBR>!q@>-Xj-|3q^eXmQ;HjlpRN6rcCwdWrE zOx?uPg@7dby{Fc42zl_HaP0NqxwOJFcRas*!UxvhqofbNgA1JaiFk2dV;=nQSwB+G z)RX(1g&31XGez+`c6}~;DmMxlY`q=-`pv=TWbJbc?14(W`#x$7$paVPH$*?zedp&) zv!3&_{a$gJ_)hTP|1f{zJ7@3OyOB6hA3P_(uhc94r++X{Jg6h$%slq;hQKq;6fjGY(J?je)PAH-m^XWKV38EmW;J|$v*vD$3N5?ezf<$ z_(6Z>!0iW}q<@$P$5&Y^ZfaG1;cE0DpEywm)Cq9_7j;FRvK~Kyi+;=ZAl<&GdMA&l zt3L`a`O5i&SlWIR{nejYiOBS#zMbd9M`1p_Xs5_{y0)K+b3* zhjR-!kk?Oq^F?i6*wZrWH@|;HoF+&w`AVHQ|I7ZH!NG(mejs1LbFKLA^5EGz^}Ij= z`4H2WBp-R`!9K1pl>A3LdS*`x^^lL)iy8PiOBZ~43MBt|kDgN>3ing|mo0gmGps)1 z?bG+T^t|cOSN_?K!G4Ne#g3|gdbfD=U)^zMkWa*~*!oou{64cgN9lSF zaS%O@vF6u^f}8z_y8T9Yk(+MTTf4bmISfA0&m{*vZa>pJ{2RrW+&G*l&^%;zr!#^$ z(bw1yh#O<_hIQ!W^Eov&!G22KqSv11e-N%CJh-;J_owH!T)F>u*QkH?QR;*~4PJ1P z-}HC(m4x_HL(9OGmK2W3Gwi0G@pF0E(bQwlwmM<`^%sEdqMZOFir?@T`GFqt=sf8G z&rCf4=^{CO4L!?@sfR3GKS$K=bKEz=*W2*nZ|1w2dE!PLBG2mAGIySDZS14ZU@v}V zZ0G6g&TmrCN^*}C9U*G#;;-f7??)pg$6FT)Tn_lfPh7#vxrMRap9X9FR1dzt4Gr^& z{>`}!T==t=Uf_rEk~dq_J~tim_B$W!++Hg}eqt~2v-vSf@|lMp{m|*sccVuyeB>|r zO1&@-y;gGW6t(e#kMkvdq0iATz>i(n!Frx&xpSQ+$m6OSa(AG&z3&yC(p?{>kpS-!jYr(^rxR?2=;s}9GS<5j6OW+vi$Gq% z_o~55{VX!_?B64ptNCXV*oFVVkH6{T^iBLu-yAK6vo7XbBfDP*r^YWcmZ9Va_L8rR zIp+{B>|bT%@OK0)-*bkKI3xcn-Pf@00r7t*>Z=>}JM89uk^I14HZO?>`q^*M|99!# zoj^bOh#zsGPKXQr9qRBXuQ;dE$D<0kyU$jfI2XaUSNMpBlOz7dp1l1*>ukS5&bP>w zoTh4!%=0-E#tNT%|FDw`#Gl+3)RtW~o_mh_@SlC-d`@Mg$#3FGJ@EYp{7xLG8|P=` zeH$$Vw=PHICWoIsfS;SOPX0*L*T^gSF=JmH9c$!MN35g&Ft+uAJx3WiwjWi{e0NbB zhryL@{Px%HOJ>V~)EAVz#^27*@(=fG;N`hRUomzO?Jvspvoy{UZ7$lvTyLoHv7+E= z>bZWLuAguCHFVD-dKv%aWrZBrVV^(P-ybQL_FI1DGo=VQmJk0}d!#Ylj6$hs&%=d$blyE@5EyIm%hipN|n9_5Vf#M?=WT`pw5;E5B&qYH|hHGqV~B<+f{S_xNB_Lz4)EyW8DOZ_<}!2 z*Cj53|JmQLhy4b7@dJGkKJ2brC463%GyBpPF{>4-$_JX8js562E69Pq#xc>(`m}{M`oPx{7(pv2i`I>3bE5 TdKLQ~_10bdJw-c