From c5913c5ccba41227a1a16bcb6f02d2ea56a61b4e Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Thu, 3 Oct 2024 07:28:58 +0100 Subject: [PATCH] amend compiler error, and leave a couple of comments about drawText function --- shell/gl-draw.sml | 5 ++++- shf | Bin 837632 -> 837632 bytes 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/shell/gl-draw.sml b/shell/gl-draw.sml index 450ec94..e05025a 100644 --- a/shell/gl-draw.sml +++ b/shell/gl-draw.sml @@ -55,7 +55,7 @@ struct } end - fun uploadText ({textVertexBuffer, ...}: draw_object, vec) = + fun uploadText ({textVertexBuffer, ...}: t, vec) = let val _ = Gles3.bindBuffer textVertexBuffer val _ = Gles3.bufferData (vec, Vector.length vec, Gles3.STATIC_DRAW) @@ -67,10 +67,13 @@ struct if textDrawLength > 0 then let val _ = Gles3.bindBuffer textVertexBuffer + (* enable xy component from uploaded array *) val _ = Gles3.vertexAttribPointer (0, 2, 5, 0) val _ = Gles3.enableVertexAttribArray 0 + (* enable rgb component from uploaded array *) val _ = Gles3.vertexAttribPointer (1, 3, 5, 8) val _ = Gles3.enableVertexAttribArray 1 + val _ = Gles3.useProgram textProgram val _ = Gles3.drawArrays (Gles3.TRIANGLES, 0, textDrawLength) in diff --git a/shf b/shf index 2b58fbab02361cab4970c84303dbeedd425eb47b..5b296174a5d3460d6e60677e81ac0433f5779211 100755 GIT binary patch delta 12708 zcma)i30#y__y0Z53=GV$4GfF8Fn}WNyP}y6SPE*3N@nE(xTK}In@j3IYPiNIdDPcs za7ELSOvj}R%*Z86tW10J4bV(2ODdBoiQo5`=b7or|NHs>e)IW^XU_fJd(OG%o_p@O z7wrX|>;;|ne<4}g{%h*tzuq|9w9EdnhD`-e|G9YLWA(4zkX$z;$~X9@tynks#8}rX zBVCuIY#ombrcq?!f0AzP#a-o@X zn$Y85OPbJ|AS2>vh|I;&JZXo;)z(TU$QW<2Unp8awN>Ff(n4)GE}kM?JrgKQw(_w= z`d$y(C7BwLbYJk07IafKt5-|Plj(_;G#4TtZUyryLtG15QMd%&(T0AN^)G2l%fOo3 z(Jqi9?dSu!b#8l4t6v9t6|GAM4 zJ?gtrAHaDsp&%|#q5iPa+?{l?6C!(fBu?nzli0+6dbOyiw6O6ZazP$QnoHl4X2V$5 z{9f=5XbYPx?W${1D*Ygfd8Q9N54Nli)$3&1kGlDTx*wxfvQL@~rhD@6#!pe4%s>1L z4M0C$I-I&m&QRBh;q*IEF&`O8ar6dX9!aell(N)Kh*7nq7d1=5MJ8xPZy{=ex$!8P zM@@MBC~6g%y+-QnGzxc-WOG}EZFO&9`z4hxkD_jLhRs>@CzWwv1 zCsnTI!8x?d{8)srIHggwLfE<=OcNDWzMX?!eb_vj21I3>?H6(-;kNtZn4n2xUmq8 zQt~j#g>Z$~A!X(z2*+61KL+-X_P4ng3i_cBr;ee-D0#@E>JYm+q;fmY9YYHml!pt; z!5mTHgs0qJ|?zBD9L0PGtM~tP1D2vyR zrRkK*!Q<%FkUlk1W)`%^3Cj;x@9^ev6onoK$B~Up{QEfSC1nM2*XQYCJVEiHYN{xb zM%Fs>M%HeH-?Dc}2TR)u_X&8$$!*4C<5%&@@$@n|*>3_(rd>R90(Oekj}J|tgurd@ zNtto?bv3QIY62y8A6O=33V7`2NJX@~6f*qDhf2FHN@*|aYI6%=ztCI8{6uC$e)t87 z3(osQ$}H^#+c7ySPk4bQn;$p-Q&JG$d;vk-o(H{15!9N;zDSc>hN6=bGs(pYP>OI@ z=`4E^boL7gaJiIXb0dn5P*34TF8k|6>Wa1QGLbm4B1~9{@}vsyI6QCeZ*X%fNq3qM-?Wrfd8@P0Ey))Be)m zo8|fxp7s(YP&vQx5;d2qC-L!@Xk6Qepy5!O4y%s^z# z4@d`l!zGmmdGKU}s^FEAvDYLHoPy=w&5ur@rzwFqO`&!@zQ3x=w37XTJhoh3g$HFL zc097fRoQQ=vP;;1DrA>(>Qu;ngWsP@?IKf;N?lX$r>@cC8!z zi;@DJMOZl`78{S4g+PCTznn#*EnVf_FiAG&tHGksUM0QD))^GTV_t?W(H>j;lb1=E zTfgGtGY}AGxbbWl^B-P68^$D9_~>kkrH}c`*;t+<+-43%H*p&67wpJDxyT)*eU*T+ z=OGhC33sKDbLLP|vuqQxR4kS!&(=M6xzstgo&7@DP-H5MyLdu!%t8<%Tg@SEJ3Scj zi77erMtHXGsQbNZg0Kg@nd=HNSJ4TnqEg-vVLWXvb&Oq+|2N(Yp7P?=p?rKUB}Hvp z3irYU37IA#%;uK#h(HtnF_&6OIbobM538MkqF^3HN!5CuHIF(1d~j~z_i>+?Qc6P!?cEpiw?FJq_>)a@hNN4!)#C z)G08GYJ@||>}}zkMOb2MIImiSn(J%6vIu3swf?-oPD!#C7E`qUy>6l~E0UjGOm9ab zMm)#KX$*FY zo~xHqf>dp0|7G-&w4k@whntombI#+ja()Gg8~X9j<&Eqz=*yG3_-r88VN zmy?0$TdrAwsH)@!E2$lwRyZq9T}hK;i`1H?4CCaiQnmmTUas=zKUUH>$r{Nyt0>R^ z&OlMxhV1t`YNA12F@s*GT~gy-{8ju*BZ4yd?rKEP$bKHll6a1XuE9=O?wYfP zdXgDVlQUr{94XghPCb_w!fBOezEwyIP#{*U#hk6|cmn~^i}$^O&EoVlO5#zDT1!Xi zd8JP!yU|t7xCx9qMK8HEnKv;m5_+YFofogeadDfgHbAD6tJcA=NcADAmMF~WXVZ6lGKCe7GVi(ywZvK|9zfQ)HC}mbl;!c{gt)miDWVLkkegr8dEN?>| zPNPE-q1I6f^vdt+x+r}bJEo;8Zg+CCoyeoPid?MzPFjPkShh>fin~zewo;HRzPSr? z#{@!(F@ZmLL@_3yPg5pP%I_Cbbl}N;iqK#9O0lw*BHA5EZ2%sP*(VcNMOvdpy%$wg=OH%F`RMllrD-`Xk@O^y8F9Y|Oos-T>2ghSPtU zKF{4t2_d$OzdWa)$oQ*sRxB@AkLutSSG`5aL8}xKP6=T-#_qjHebNVSMF7Uz(M5h_sng>e%eZ(@WUlgW9P9Yl#ZZ!s|2^MN4UHM1#}wMmC)qK zML*O>C!jPeCDDy=i|dVBTx-sKhoZA5&Z^5S!uH;Zt-UR8RILtO1-d#lZGYXWkB*;N z=hF6bqfM%-KeP?~i*T~Yn0%8Q3x1S*=c%B~(YRQRWA{7Q(ROZg00}AGW2+>ddK3}N!^G8F^MdEWtwmi#Ai`2lKT{u7XV&2XNk%y^;uVF}+ofZ19+f+Foh z6vzGYSADeiGF8pbyo-pt-&t`Mj`(-!3+l;p4^o=6*Vp>pLFyJb?GaxzAHr=ZPerja z4?)Q+K6r@w(NA1=$YXnB7xE#V23+v$X?D1%dB_Jh>!an`N50973FmSbwQJLqYH}r! zsTVlGtin;Lqdm=#{QdM)+Y}{GHWDhyCl`Jf={eyrB}8q67(HUyPc!Cv7(aU$*TB1- zl!-XG>@bS5@f>-C1|ZC{k6@NZRnW%!j=x9^+0wC*XTDE87h;oU;l>$v{MQ9lv$eScxA_{|U-g;aBL8vw<2WK` zDsw_MDLYQDNf{~&XMI3c#MJ5!aIv%Tryt-ri{SWDEI}4$l+ttb3)hu_v+=o7IQwfa z*QSg*1>eSMTm3|V5aAAgo+S4>q;!DW%a9NAQtL8HyP`~EB#t=R=mBHx*Y0}~;M_m4 zMN!gZ`^yELJkmpsh@&rB9;wLDvwZR1wa%Nz2UPL+Rxsl)mlZ!Bd1lfrV zxaI^!n;T+vq|S&=RcIPF_zV%S)5(X5z9?xQWL4N9sgBENs(foV*hcsC&>1T(ngL3 z+~PDfe0WLEx=dYPKhGPTKz{QF-x`+6wXYSbt@b!vxP4ioOl@) zHR4ql;DdM-va?~kj>{%Dao~rUd|Id^c*F%*ns4OeZODc_w4vf3Y{v5l+0W%BPg1DB6LhhMlLYEVegj_osZpmN$MvYxu39C*&wYQH0F&IYs*oL{B?se}&*~?*T%@(~93i?$t*- zBe?o=y!|)>x#bu1xKtU)bH708beX4q>Dj3rzQo2t$tZIu8NZ~3cxa-pu=N{q#zmSO zIH0F;ZqDJdi|G2C0#U@;9X;2iRaca2(mPjZ7CF2^2mObxw%LoP0qqfb;EX4(3q)2E z$BqZEy`23mJl{=myRbvGnQxGR-U&Y#X zR5%=RS5a6@=bKlt{K391*Wm5D?6?lq*w5Es$VHh;Zh!Vq&q4O?FZI!-^4$X!K{KRS ztw&m)Rx#}K%{=Kl>e=+aR0N*Us0i}mGkF^?;d9?n!QG1l(Q!sYIOS z@ayo^%Zick?R9zu$9mWAJ;(aA?{TcRR4^Og{vOYRMlUz%2D;R6(M?aJRNTN+FMGKT zH}L>}K;e)nZX&U4R5&{~yM=MDdbp^pBE=8cxMZfH`m>_O!CS=UTli~PAMfy`KfrIe zq{@o0WItj7N#Stm`Vl)bi_N$3+B)JJ93K4WZO=MSx{Z{7IEmXp|2a$d6zy+vKbnWIabf)C-z$#>D*2d2UD%~ z!FJD4)5I}?v!kU}I005hOEJTr)Hx>oUeCYkL`#7IqER1rC2G=+@71%+$3egks4@3E zDlE~@3yU75m=53f#|legUtu|56Be((hfh%aT&f#&amG|(al0r+!h1=aRrlp^~2ZSRocKXuq{85VF=d+2;#tWLpPqCVF=>G>4uoK83sL94gfbS!(d@sx*>#P zGYnClc3Xy_wcMoVlK{OviD0frd9)8Eiu{wINV%BW`;I)~uVq^7?iQXUhd8MvW8 zv;a@yQ?j`eW%S99gY*qje!?vopW!OCtMnQN4m89q6hABQ|3+u1{R;k%RDVa2YyJOI zqwsbpbd?M=L_gU8Z-l;2d;DtOU18(6YNH|A2OH5UYe?;@z;Cm86X3TMPTbho&+{v0 zlR|fKstn_)+4I4*%=0N&rofRrRSS<+;Y&WaNDG@(IC;5ubcGfURN?VHm^N#4hpBL} z5AL9a<%!9k8$LK&3r|*1(SC(jw?hjjs<7P$muca66+Y#IYqYRgg#%W4g~xBvSl&>D z(|zzDE!;|l3w&^{7M`xc=Y4RA7LHQkm{nfgRa*E36&~h;%}$MJ$tt|g2d8RbZ%|$G z!Be$xx>xt>Ufo4nc#H~X`QQpIJXVFBKA4I$rcF@c8$P&$7LHKi>q) zg&V8zDIZMRHKxr_;ebM~@D5t|B^6Hh!P#0kR)zC@utN)ntMGXhKEP!%d_Zkpw_VYB zN~H(5MhlNun`?b={0`0N6ty{dha%+w57NQ`Dm=^w=W5|g+muoHKDa~+7pw4LA6%t{ zXRGiHA8g*KF)dw%V|IE?OVz?LDxB_vr)uFFTa{6>eQ=Q$KCHsUKDa^)=d17~A56P6 zrVUf!fL&hGI%wf!6;AQN*;=@^NEtQW2RpRzDHUGlgUht=Iu$BN zYvJ0>%Bb-^*rA0_sqi`_n6^VrT;8gORDK7i?ltu5zD;Fg-cT&w zqVhJC-=*?dDxdBv_sSrBp%-?luvfZQOz8t+?>xXKul=XmVGr>65AcUoUe(J_?=zTN zc$EdPBFsDG5Y=|CQ9E3YeTIG%Ul1gOBsz*L@w!;lXs`H4d@AgbI!X%5z~3=O;mytc zmLUWGBeBohhQx)Z3}+2)L!*F>0fPgc3YZnJEa2^c;{jg;{1jjfY!>)@;KaaC8FV}7m!O2;{=p@| z2ZApIUk^5g%#4l=X%x~Vq;tqiA&WzbLf#MgB;-=auOXqKO+vda41GLwV(9eH{77f$ z*3g}y?}es?JsLJ8Y)079u!CWj!mfk`n;V*2nfsdio5z^vo7udWtNqeov%&UZ@@ReHDQ0?w#OEh-nmzwk4pF&=tj_hntS#8 zK_`M<0?h}l1-%d2w5bp=zuc>T1at-H6wqSO0?o0-Efc^-Y0xFsdkq&BU{+tjq@S`&t7J;UN7J?23 zeHU~J=t+izc=)2b-Iq++iE=BqWw9zRSjWX)61md=|Jjd77ZHIN0+c0jGUBGDM#A_fpPxaT7)J`X4iZC0g8$Zglq z)`-nbjS-P@cUgk`k(C7bW7WBPQ)65UE1(z;012QrKusTzl!>fc#=yXY;7~6{{Ip2<9`t$42lS?Dhm&4W{lt` zA>-lX2UPY%e|Zkt{!gM!o~yS_cE=dBHF7zc89)0ESEiW!UE}noWgTfh*K{>SH`uSf zIe3Hcaoory5iGvo_->|X{O8*4-ArH6DK@8=UMAsMnqpe`1byNP%s0KRqiLroh<#w8yOEl3Hzs>Z#p3d{qU8bKQXil+- z4K#zz`yscrYw3Pd9MN#s?h?~NqGVT#1E!DlG|*M!GJPh|Ui^_6#?-nlAC=VwxvGwt z?inHFa=FaoKOTP!BZs?=oH8-dY#ww5LhXE7CPA*$v!-u}db;Az$#lPqJ~K_$({|U? z&rPq(?ewK=$~D*eZ%nWIQ-Q0+RnyP@c*1OO%e0G9xa^jx9j$QH+%i2aQKc*6w&@8Y z{pebM&-Ap3PPuBNAXq%iHB}$VS7mg(R1j z<_v1$t)$dZO9L!Z(-OOBZx_%k%uMMfQxe~A&p9)l{J!V=|L1vzb@u+Pwf5R;uf6u# zXK)mDaTInr@QECGy6Nq8*XAFxj=9#hfAajrKlgj^$cIa6Wp}MiD-D4qxm!l&&T-E* z(s#04BlEaW8c!BJ5lX|!;tmTVBT=3^t_gJk9PS=wra&DY7!MD+osqOdmXpGHU<^Ge z=o>LKit;!(mio)qDEEW0bV`V^r5TMx|HNjLCtJhaXPZ$AsO9VN^bW}G=Hx~<=eD3> zXqL60y&z)~=n>IMpapWP2zLi7Rg$qL+;P#hoa$>VJT8*jb3!6Tx%(thxUlk}WcpqY z+AWphNxq->kuYEQq2@t1d?)o7YK(k_sr z9qAp>`)ns~Z$LUNLGP+`uT@{Ad#z$vmEfM=nI0y1>ueYL1(Z*8qnE^RW4hB7@9;fn z0N?^a$jGO9(u1(l+>3O=2~oYh8mIL3Yitqt%oVAs+QP>B$PIlUnQna_ng?Uu3;V%4 zplLRtEzdnQgKh{lj}4$F(5x6hjXFUGQI9}S&qLH!_@vcHx+BD!|BDhtyYFK(1bn>e zaq1ykE$+(4>35>jd~_To&_=#Ij@rgmv)n_H#@CZxs#|W6vO%l*OHy5XZa$tCPy%lr zPi>>}H^^O`M#TKRkq#gLV+S zH(2)PQJ3ZeJi6@hcd4%3U0rs<#aQ7$ZvqTvKAHG6WE_qzN zvtV3(3H+A7OFmTILGo0>Gv(ZVGB*AdUOSooL**PWg{D&}&zXXq;xzK%DU=j^@@+Xg z;jXT3DA!D(hCn+Jc zTQb+@O9qb`O^k*)%{$~XD(64gD=HBVDBn#v7N z(-YDA1V^S^W$h&FwRyza?Fi#%r&4DG;QpyJM0V==kEt{&DeoDL-|;M#(>d+$%@R11 zXHBCd`i@_mMk%s9jZaLYNgeuNgu|IStUeY1i{OIC%3s4GWZFFCVUnj}3>M=}`A~nj zL^{kPrz2FYymmVFnvR2KVENDR12gDR%H*vxsAF%#x4LXAIW7v>_r)sQs~fT7)ooFA zzpm{pTZ6aRa`TEftrymX0D8itRk*8R|k~ zdFwOuM3lY>EX}2=->`7yO>IZFgWJY&vk`DtdDU#{7*M)h&d%iHvmx^&*Ug5BdwA*` zN)RW>x;fO;ydhFi;hX$=K01f;EQ`X>eMPP+Z*4o;8(O7p++i-Y4lZ|LxsXllJa#Uk z`(gfcF6Bk`5Ztgs*zoyCsn}T~A7txniscF50TH$YX04X9D?jHGvk?V9aPxUE<{RET z55`;x=VSAzDRSng^ROnzxcz*JX<;=vE;^8Q@{usg2P#qIC_ws&M*1;v?tE(9ss=py zO|d2gwqC9^a@YKhj*AtefJ5%HO1Wq*A`dBQK5>WHp$JM$$yqSgyJyGW?O)dp8_$=n zzCyZkRmxS>Vi!d6tY@in(|s%d##_TvK0G&)PdrPlqff4qvrAxtjP#NeZu7``&=CIP zS!yGfG~w0@u*4;(1Qt-VoNMH{3#hZ46v%rP;Ml6>-xlCxu#HplGxq-o`#|YvxsJNo zKfM2_gL^%P(+p|kIcgj2!nP!A%LiEB`5bcZnk3YYFw$TWsW#z$3=)O#6h!Qa6m~1zs$tbLfn8ui%QgKZf0tLZP0W2Sz z+<}d34+K9PDb6$pf~Y!>Pc5Mi9jYVH-yK1hi=gWbT&5yNKR7K(E^@*(j!g7bqHm!0 z97MY8f-@r_o3J+do^D;_l;r!q)uj>vP;X15XMYPRp z;O{-Kv%`7RGI~7e8YF%Eb{;30I0E!b>r*$hkEJZm|;iY(fzC z25p**XwtBn;VQi zyV565fJ`udy^50L5(~?#X&No$nX3^xPTss4iFG!6RwE?nJ9#Kws(-BDZ<-^3u zF7*=8kmbI%h72Ts-H*rRQ)`^iQEREAd|GWvJasKimun*V>$Rwtbo~2Tnj}{@;c@Gz zfNpWkIvOB9>}P&xJ?)a?`|*bxp~}I{3zf(nSV+0@t-hi=g{JYvLi#MwIpwcI)e$^w zJp8jug(mXPMUs~-jId+huXAF; zAv4?~(qlPXCMq*$Fjp4CJx&XMS4@jAubGU&C0_d?mbowQei7Seo3~T0zMm}{=@?BC z%~bvkR*EFtf^oNi2ZbEm%D7VKl$M?IH{lHVkwxugTCJ5n`wOT z49vwUIYz$1tzM!DVq@5PB8$fJ3ojw+aur@12fR!lQ?k;sGi|{oDL`pCdHxm@pUJ#+ z3$>)4T)BldHl0?7?40{|(ea9CXQIRi=UH3nNpl_&q>LL4!7E~wNAu0Cu(T^jy+V^I zm>0c5bLE{D{{0oC{$dBcKqr*Wa(;0qWl;!!y^~_vg(I1S7raz}6X~!_C~}m_y!`uyZq>4M zTe3GVnwh0|c^fCbiZtp_)L^k+r42}n-jR?NcOh@L5v^3dwhL2*y~a}5>*2>rF)1Av zl~PKg^YsRAUiyTTbKEz`$wA5>b$q#0SxPC!JNJRRX}SDr5AS4~mhV)gmkH@BQdM~v zsy@BVQ)A(Kar-$U!g4{yw#V*|Eb-=iN*mdDNcONB%SqJ~+ zJqxR|{_1LP$|qh%jc}bS_EAcxb)7QkX-SGa#=q@D3cGTGllEhOoK`rb)e6Tha1`_W z{c!y@cI~I9D2zj2!x<%W-`A)u-Qg*(!ArS9Dm8AQB7|IZ?_65EPAjl#ufC4JL8Kml zK1AvP?^HG(pc49kdzGQn&N*e26&FHv_NS!mE3$MU)7ha2F1;Yx+Z6T3)wv9{bOw9M zXnNF=8;vnZs1nOb>Or{B^~Z%SgcrU+F*!r$He|c7ze}*Uw-=1Bm%%E5)v4)g_@Oa| z<}|pqeD&y)8yXLnfZv5vL}21lIRWkQD2E+Yl%0n=)L9Q2a`j_8 z>rF};8w%!~I3_PanYd_XK=9S64cWNYRq1dubxMl8$>{&?>4t33sv4cVXS}4lu?H8@ zMC5Q6Fv3_ecI=WVCz*#HJO3bGYm<4WgUuIqaQOoEw=knn$_e^3%N5O(|g~ zt~bVrQc2u)CPZ_kn>x0iKy~@Dl&zO+o+PVORIQ^uJ8>cf=&8OXDyAGH6%wZxo?XG* z;s~PbWzIN)LVl8&M;*c0{43`l#rO_BegwtP6Kp<8Lnxca9>t`NDwvgb3zkZ*I*RDq z?CVTBh8^3Ij~_!UzQ)&&Az33kzJ=Yni~GJsDZ#dj4c=XVlj$vJ>!t`g`RH5NT-!MP zZA#Y9hmSe_CdJ2wB6834lZt|UMy)OO zP$k$a?>5Hh^itV(TiJ4)x~FY~GH<*(+ZH8d{8LpLRC%%LHbpP<%;VIjrHFJ~MiY>= zTskSc3!JD#duq|LOsQC8<0V{moSLOQCz@g-IHHT@`=0G-MZeqrIYT5mwm0Y z3hEN|Bi7y;AQeiIr6>Ti6t$9#krEPc76`F8=l6HLsj&D@>^1~(PN1l+B5&k!RRy%Z ztf;edVkN}{U+LG7EmSxZ75TogR#nn{X*V&Jtv#-kV3>_P_!%lj?{!4nu=OIKl#?o! zZ$g*3Da?_(BG%LalQ`-mR(ptVz?_pXvV`+bB6ivM ze>BF}p-a5bsN@`Q$n~ALMLAA1iTA&Ye0kN|OfjEV1S%mgKt#b<9(W27ox~&F!;$7z zgo3NzSJ*c4%~KfdaW=nC&A9$Oyf4IC%2QYkRFbE#A(MF7Dabvk4rb$Prx4jq1b zm-kjuqZR!w=(I}XdHop*2tCycW+69{B=4QXt}~RUUk!P0tru)pmnW0c&%&iky>^E> zT#DU!u)Bd*ouy`>&KxBJ*x@FWbz+hez05d)JZCAv;;nw90>6`jd+>?*NKys-&i8-35n0ulFU zYRazj^hoftf(1Eb9ygrFT-GY1JNdB>aUSO=Eh`6qgtQRCZ9c+Vmd;%BAqt-NK0-Dy zbK(VWHW+*X*}%j3N^AE8)SJ2Nxqx|J6rHL3Ko#Cf@A5Lp)u_v>uv6aRxQp~uXi|Ud z^JWNvY;0vtJckNpx|h*dJx+1yusgiyG)1RtBQ>&{R6JX@d2)<4Pj@?2Ssl&mdtvd# z4j1=xkyd0*{1_%=DRv>le@rm}L%`(Vv7cj^J9>ez>QTxtVRsPqQT+ACcvWOKaO+QK znCvw0+)q$nU24ZIgv}DS{}itpPpC~)mY>pMD&~gIkU5(21E10K;0OCCXXrdW{u#FH z7zM26_Mg*mxwk55pQnYZgZ9vU zN14v|T}PrMg1NVFTyf%|_Kyg}SZmyV>0N3Js(MJ`UFv zLWVyMzW^j*c$rzy7EZ@TOzq0un3_&vZ7KVK4ZKXRu zQ08;+XB@HO!h%AgCEjsp-P87riXl&ITpeM$OtRLemQ& zg)HzrBZbs=|K}i$r#b99xNEMkE0qs@N6(>l=={C6c9`}(YKJt%egxn5c=H(SYfY)8 z`{dgx!slW~ov%f%zvOSWzm7KqZ>UWhzjqyZ>1Ez}9YZAk0KozUinh5FKjh%Dnt>aU z6{Qj0UcB@JRmz!u@ntvQIox)IIQ>X@vg99V?T^^HHV(asSGkXWiF%$hZo=E;Jmn^i zN_T4|CRXqpH>q==&3yMzbu3T&f}%J6gqMGtys$SR{Dewz81MXv5}J4Dth&x>Ejrm% zbytMV)3D%V=~=G%i6VlJp}S#0Md?Xy_z4lxj@#dYV2DQ0b&p^vPq{_Sf;Xyy+j#9Q z2nH#FwdsG4xbPmqrR))cvsA$a-2687#kbwK!!2sj{9Q%zf&^P1yGPQlNDfmaALaeG zX+d1kdnnri5OFOBcqEbzHY|8&cY{tUTFe=Bv_0yD_Zs;(owVl)zM}rG*2V0}VNV^- zyOHizKhqb@>A>M|*=9gZlMy2~Lzy!+MsB;<^Hw8MfONoW)p;WDZlnCK#)H+3jkwY2 zil+YF$iL{MHW>DR6hFXI-OzY2{q05;?Sy!p=LYJG-495S(N9Q`dej~|eBYiZMJ5fD zBHyq{kvw!5W)T$Tma~opiL$sniPR3VI|>kvaYKc5Aq7$}ULgAF}-v_StFY_N0h2gTq*RpEn% zP87(ALkux|PS~($2$&up0(_BR_dbmof{}lE(9o321&dEQj5iK3bQXQF;!g-aEcmvF z=1^h!-&!7iKSUqb=OOOQEgYo6ll^d! z79OC&rGB_V3%Bu&?T72MaJ&k4D)Nn;Sfa7Kj|$K5!y~ltQ!0GG59e#)6cxVhhs(4u zej4$9I=$cSt3AI{OjO?_kg;UX<;QQ-?Jyq_xsykG6!v_l#5 zv`Y7Lofe*~cGvsi#GM-Ho@#gMPDRUp9-)PURCu%>&ey`1wkuLA{cxEUE>+WCAEsRz z(?+Xs&@P{8=~_5dg?swp94%b$QluvP;UX=3T7@_H;R-FhNrg}Q;W{lmS%vHUaAK*( z@}4T3TI#cWgcc4`;n99LUkhJyDpD)`aG4e^RpBFkxJC=lQ{h@aY~HOgElY)Ccl%7s z(894QoaKjSYT?>#iqt$m?9#$VRJha+S83suDtyTg(;kg!qg6O)kI%GpEu5;tJ^gTw z7OsCqk(%s>i?r}*72f2BE41(?6+Z2U>$LD>6|VQgiF-Ac_f+B3y*|rFXyG6g9_@$o zweTgilv?SB%d~K*3Lo*qHClL{3fHPIvw0s(+pH!oU)4iudoyS3GYsmrN^Qozs9215 zqTY{9ZL`|8tL-d*xmN-0i+!+Dg?-w6YRd0Xd;6Yt>c)Q#JNlmX%6r;J)V4YU2vkYm2rS^knuO8-qg+1+f;1YW1^6xko1sIAxlC&2&oCF4f!GDr;uMll0%1t zz7cvb^yAR)Lqo#m#xx6S9+nW+Eo^$&^01Py6Jh7WE{FXZ7TzSGNsq-%hBukoWOkEP zQLZN2o9t?Gyvcy@f#Ea5=Y+2gKOBBJ{Oj;AbG*5od60RCd7^odd6W5N^Fi}D^Ck1o zW&_>iCh=CYsHiU27H6uQw{`ge`xW$x9>ErL?v7cx&<_( z?oQ(Y&>5hYK%WP#2bF%l)7Y}5B*lZ?4_XL119Tr~A*l72JB@FH_5rO1wS!8nBJ3W=&ztpg9f#RA)xV~OF{d9t^|D; z^m)+9pqoIS13dy-2znZH2k4ieM?m$>>KiYC#)JL{+6Pohk))xZktzR{qV@K*BruHTe8I4k_ls5`pHDIl!av(ZB^#5|ihsS+2u|-u*oa@fq^0-tbw%H7 z&Pg^#q&5@d>x9GF7xur28O0WwJ;v)tL2?XU{EsY6jEdj-P0m&<61C)A?rfl?e<$P$;b^7%V zPhVt=;(aZRLFPVS6hn!Rpj)^MOmPPU|2;b1MW2o90RLZ7KPpm^L6Oobj6`22&S(Xx zcK3|chex10?qP6Mm+!{OD^w@S-8eJy~yB*%|*qQ`g-T6L-+}E%Z-{K}#Pfn4bkj$s>3S-4&-~c5Ui8za z!jxL~<}Xd_1F6`ZcGYw%5I>K{{b1TfeYoNWQ%5Rv*Zp96RHkp;gKwIK8|k)t^BvQp zCOYS?lS5$fF8Z93qiA(9}5ln4}P1k62$2q92W9> hKw!q;r-u)i>V6Y#{HeL4rjK;H;zP#o{Xao!hGhT%