From 6feb2ba58a08d5536404a98725daa6c0d87ed6b3 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 2 May 2012 17:42:03 -0400 Subject: [PATCH] Start work on "asoft_present" a tool for generating presentations Currently it mostly displays a footer with page numbering info. --- asoft_present/Makefile | 26 ++++++++++++ asoft_present/generate_presentation.c | 59 ++++++++++++++++++++++++++ asoft_present/test.dsk | Bin 0 -> 143360 bytes 3 files changed, 85 insertions(+) create mode 100644 asoft_present/Makefile create mode 100644 asoft_present/generate_presentation.c create mode 100644 asoft_present/test.dsk diff --git a/asoft_present/Makefile b/asoft_present/Makefile new file mode 100644 index 00000000..dddf4586 --- /dev/null +++ b/asoft_present/Makefile @@ -0,0 +1,26 @@ +CC = gcc +CFLAGS = -O2 -Wall +LFLAGS = + + +all: test.dsk + +test.dsk: TEST + ../dos33 test.dsk SAVE A TEST + + +TEST: test.bas + ../tokenize_asoft < test.bas > TEST + +test.bas: generate_presentation + ./generate_presentation > test.bas + +generate_presentation: generate_presentation.o + $(CC) $(LFLAGS) -o generate_presentation generate_presentation.o + +generate_presentations.o: generate_presentation.c + $(CC) $(CFLAGS) -c generate_presentation.c + +clean: + rm -f *~ *.o generate_presentation + diff --git a/asoft_present/generate_presentation.c b/asoft_present/generate_presentation.c new file mode 100644 index 00000000..80c0c5c7 --- /dev/null +++ b/asoft_present/generate_presentation.c @@ -0,0 +1,59 @@ +#include +#include + +void generate_footer(char *left, char *center, int cols) { + + int center_len,center_count,i,right_count; + + printf("1000 REM ************\n"); + printf("1001 REM PRINT FOOTER\n"); + printf("1002 REM ************\n"); + /* make text black on white; move to bottom line */ + printf("1003 INVERSE : VTAB 24\n"); + + printf("1005 X$=STR$(P%%)+\"/\":X$=X$+STR$(TP%%)\n"); + printf("1007 L%%=LEN(X$)\n"); + + printf("1010 PRINT \"%s",left); + + center_len=strlen(center); + center_count=(cols-center_len)/2; + center_count-=strlen(left); + + if (center_count<0) { + fprintf(stderr,"Error! can't fit text in footer\n"); + center_count=0; + } + + for(i=0;iuG(6*tY}Cz-g1GvVV`!z|*z%RFv!4C~j9=xxLL@)5l` zta_QA`F7KY9;D2)reXcghhKXf^$+XeOT9fzy)#VByaTd(dK56u&sV2W1^OHGK3a7U zqFyR->UmUZ``+HdWQR+nTXs6Ww^!EpSBsLS{}Yi%kV7x!YzIZEbSKqor~i+g9bd6n z3U${^kZ!RN6^pkOi|(4q(g1yMr+sA0_x4Hy=->NLtMBrMsmu3x74_*o-hopHQkFko zX0P9to~kXks(6)cu*%k3<>;ugeObk;ZGBa|)^@q7>|#}3{#BfPqiQoIB=D$cP+PQK zOTANNANl>3OI5V{5I~?e7CA0fC0)LX%R|a`wWf|-T=Bu zJu2JCUZ@H(N1b$ZR+U|-qQt7Q%T;+sUpA<>x2dlx|1!4N^ktQF&Z1vWp=zfl-eieS zvN#Tk*ch_ORgT+Y#)$1wl?9L&E_O?IENG(IFtNJ|?NwP+!$@_f3RNMbM#B~r08w2z zjqHe3=T$tO`8Ya=f7{T3?vAGmF5A&osoTD)8XZhnRD=%J8*f^YHci{I-ly7DQ@y3e z{Bs97$i(p@MZc+;oL`e}?Pay;R%+kJdD0-?PJR3_FW`d%4qMr$CCxr`@R^YVLUqFa zozsfILViu2bcu`WeFiDQ^7TGm={|J8E%kc!r~@DKU)(o!38zNj0JTGLiz(d-MWAjA zi|kL=o9{r;=h4AL{40FiT^A=^vanR1{C!Y1-pOc}ZuBZCk04!RpY|pl(nTKSZHzmJ zRh~ini{rMTgHrz=3&5d%Md1wEFOByW{6aE}S(Cq;WMS`ajB`uct~mL+H@{ty$MT^z zjaT?PTpKe@xkzNZ@+ACOH$5&oYBc@3 z_kRC}qW5>~EcvL+QNC+;+HJN(|f7! za{rZU*Kgb$xOIEz&fR;%BbAkGN97UMgJY#jV1HGq99@-_Lf)@Nk9C#KJfzyXO|99k z)%ma=*gq`heD$Tg;Aa@;AKjoj3o{q`?IXzxCL+A77+0 z1PA(0r_@Ft^|#f2`iG+Rk!m&4qo8QL9-%~JjE__!wLaLOSH}md7DUfd=}c5SR`*lu zrW=v|5u{Vco7Coq)YNQkusT$&S52V;XFgHH z0TildEry!k82+U`I930Yf%5s;hNRJH;(29;IE!Zp>c~O(!kC4t-aJW$X`=lgOcQYU z9UQn6s_r0{iVutMAtfy}ZBcrr?s4zLVD%HIwu3MqjFq_rDbwg&FscTIt-ZayenM}r zGC9Dtg~`~M?m*i;4oO4xY^SuU`|CGywCPRq$4;2-B_U)-8iNoTtf?`t{Xs*RVbn>D%Tbca1?B zU^NwwF;B4SigeZpMtus?<5{GCwLn+BxyGrf{@0q9=f&%#ajY*4&OB+Td{D<~E7GZF zKZ%!ui=QwCupxQM=)BeSgmj(tuSl1l^=ReQuj-u|3VqC)^VjR343)aCAf{=(&UhWh zcRFvO-utS)|}0j82kSZgaNS(^s6Qm0&R<&)#-^iSjk z^sZ09?q_%vrZ@o5Vo>{YRP-|PS ziH~Q}AdH^zy&Y*|uJn1aRaCz~sEi&5*8w`_8_uR4&!?P(iDyK!;sV z!oGvWMeGJiU7SWeebD(2&=lv(U5mIy9%Dft8?{QiFbTZy>W$-Oc!DHFn2&{*k}SnD_LUwopXEou z{Lw|mdM;HmaA{C+=h3vIX*gE@`17Y*E!c%Qepv%w*a)BwIu(|AWP4GttrKiN7A(|r zCHYlw`bBy9A1Z%Og@3qz%O5IvKbooh^ZTN2j?|$l@@$u$q%uc#X8bJmW3Cipk)+nRH;k ze-E#2+`mU&04Y|t@67gXeXxnUrR*Rf`%)F#%~!$hjk>eT8Kwwe-v;M%+xb7hHjd7$ zvN$@nOTN68^)F1fG@aWn^*e^QLw-_^(Kfujsbf3jCulqfbP%fp9gj-Zdem?^!fN4? z)$+k`Qu)DVPe4(y^W49OzO&15Z@bJj-Q6x}n(l44z;u|i{l;{d0srvJ_p9H3Q+P+P z2x$8OvG@Jp9nm`;+40m4%Z_zBmUAJ+zxz-szEb=H`#Sp@_8xmA=i-96&pEsOJ^Kdx zT5h)eF?+myhCSQL5}u)S2BVIrsok7OPd!x%Jf9bAIYRuawxW#M?6@u+Mu)>r$Dh1guohsUCWl>==3>(J_f<)P8RzLNAk)*+zE8e$V z*JN`?hNu-bd0oejvy`wig6?!v_}nP!Ze=(Dwvdta1bul?4`A9EXLnTERj; zRodH2KQlzJ`Gf z^XrX+mhvhvMz7yd4%O*BhvYY1bL44u^_Co=akn5v)I*|v%lCxx?+Han-3=*^O?s1V z+ySTmV@Hrn7w=Hc9-HioJ$prZK0OH%5KPbSv=;Q0gI{4-UB~ONzkxgHZ9BlW%y>4- zSM6FbA$*9Y~Fp47|;T)KI~*0-r4T@J30^Q!}0y1SB#oe$)IZEp(hn#T&R!-aGwUJ3$J zyb+i2XQ$|;Uy(#eiIA#@|QL+@-V7`Iu{^J?%7yauqjg6$2#_Of7mO|Y#MsLu~Ml=e$e(7apa zF9?oYVX}e$o`IL%DSuIr{}I*+AS8WmH=Ip|R@O^{^4{u9-uy%WSjvT0jXbJA8p!y6JdPkp69JCMa!tMc`7my)4k(Y&yTe zYss4MRseYRh9LFG+o=s7(EqXnXjA1Mz$g={qacW<6s21r0HNm~$b6I_EVE#qLqO{m zEYNKDw*4XogI9kh4cO~F#qwkEbkhfrmV9=maP$FN&Wx_wS@P0FL1&<%h zB#7m;RQrdHp9p2I3slF4;7HkPNYSzpR6>pYG#ju+QMhV8JJ4s~1Ux{~}_G5?4N0@w^65CNO=q{(quv>m}v za9*7VV`tM|cmM_5!A`Od2QBe%8nsQ$ew&q%0Z#dU6PUh83yEd)a z`AV^s0^h-LOA+{_=z&|8ErP%;yZn8jAg#3S$%170@r}nf)o(c>=GTd|q1a(40v{aX zim(F+d#JY6iZIiIo9aSQ;D0&Ak zWAx8B3-(rn=hpGX5SiGi)kRz;)4)B+G`{w95fwfrhIH;pW)5?jZaGEe1}dqxAS#Yi zCT~16A*q4|6enLQDe!@iq~~%FCAj;13aos3iTdq_p7cFirx@lvFB@Wy(fx! z3YK)3cU3UAfnt>aOKT(QkOOTSYVg^|_Dg)WfNPE{!L~rT{ZN2mCMV&UQSP+BWbb?#78dB32k`=7g5}G3AH1l+pbUbc zz-t;|8EfKo;F+hRK%MXwtWU5Q$$s@PdHHRCB^1`^ble+(JO8m;4%j)T8b3}lz*OSH2g1}60De$ihj7JO?zB13jwp3WImpx{-gtnvz$LG7YF>M` z2)0Jmiv(fIi$e8}`Ez} zZIYQ(E`>>x`q;@8$!Fdaq_6Uf12A)29H^*VRU{eM*otJ?PspoC-ju>5Zw7M}$rjjc z$bmq_l`QFjjw?l0)mxUqkT4{?CHvqJBJH#!fe9uVcJ=`8I|9s`%JjxgN#c@wW)vo; zb16N@U6?G?ThrmR`9adXxiGm2R>TQ{HK`{K7DQWHn`Fr!}QyXQwT%%Sl_Fvdpz4Wn~JTb!=Hy)AB4hWaoUC zvHZhjDXW)e&}pqprHtimi*ZGZagB?ix~J1}GM1h}Q`fQUK7b!J`e#AWKGYl0KGE8T z)<>^1uS;H+ydimm9v+Qp5v0-7pHe@DzjY_;S{qsp*Bn0DoWG>uBj$;oQL?MtJwbFx;Z zEm@gXm$p2W%34aLrmU>RjZlg$&04j*?&&Og)v`2dS;mTGDJz$_GiGLa%co|nc#>MW zif&NU0pF8pbt|4(zA|OCH-C8+wRqLirD-`U9#pTWu6!o@fjOxEiJX*W)XJE~WryME(V;lPad5R&gryr2fVz|bs*SR+q%UqJtF0) zD0qI$_DWcks{Q!#?Uk9%0Jx>`)JPiog-ZG-mGI7_dk?QFy0{0lsMOt{Qgm#Otwpr8 ziH@sc(a}A&6QZqEbQ~6o+SPtQa2II8tm_i16_skGP_=sxEQ+=PvHId3 zTfbP{y~lP%+;T?bM{FIU?Mu;dzS8!oXriCr#Ur8UgxK9NLmGrN2i}a_79BOBZBTU7 ziU#-yTW*Pbux$vI*2%l5xx1(%yLt7Dc2S;6-Gag z^D1OgsFErz!+R1i3~8|fF4HM{1&geOi|OB$QG1=vaTSZxspl%Ff2*)s=pSJ{#}SeG zv~08tR<2kK*HD_ShthkUP?k>)XcukmA{3uWGL;W_Qlz7lMOXK}{GJxnSD5iC)Q%N0p?cQ-p3+6I~3uqI*i=G_G) z&iBDf-Uia9qDo0m`QPKiz%dJ}=21G_02NmjgxoH!gk>!a9w4Pz*PwLziE^u-6H4S6 zKeJH!U9cj$M0lln0#?Ww60CNLY~KkHUe;lO(rPWW+Ub3fS6d0ud8rb{U0n`& zU%kf-uMlAyyV_Y+y(iDCllr#GUDV+!Dzge2W=FD*T`j5Y+UjEv&(&^-XUp_uxywk7zgjm)h z(&8?7FuYjS3pga;3Qsy(S&bi*?q=16i_`O9PJj~(f0zVVo#P9P$8iphR>4}zgOj{! zORJa<@ss0(C)0~3K7w^=URacfDtdtDp2lq(e8z9^AUSWQxYc-T{xCGqtqXJZ5*`mCwh1b3COwK1jAvX42)^SU;^;9_qMf|GyylA^t z<@idpUB~a2yQ|<45j-e@*S-+fushVGD63ihR(NXbxF9xm zh_D6f6dS)3<(Fap!pXB@!6Xnu=I3HT2$q}^3yfaL7h-`A49tR4usymUUjAG(tnn{} zj)9l$K@YlMZUs$M*iI@SPl?p$yFeGFRWJoJD`nhO)&*SiVK}DlE-R{Z7cRD)621Ke zg&-e#jIZ%F+EU&tZmAZ_FNs?|5zG6;vdiL@Lt=i7*e$8t4Lzb1+}ABi{_p}C_4nd` z2LQ!BG5@k?>F*urLrKDAAvi1n35j_m*201fo@uZ z$2{nl!m}2;*0gV+vIy+^!1&)bP?=XR^%vlW#}2vDCX3SB-s&ZlB^^wc$)eSy%%e~q zp84AE{$c=62JQyAQo08Ar2?rPLVYVjxI6N zso7i*XoB8f+bx20^V%Nq)gN|>KfECRunV5Te1>o3`oy(hpi5a=FNG5bUfv-2z#WaLK$WD2H6HE~(%}U~JbpuA2@XQ2 zf2k4gm_|lahL_qrwTD|HWBI{g?IGjXF3c+( z8Nn6&^*>ztZz=buWyXB_8_w##q0HY^k#XB$W3BQ*ZwkLo+zsa9q?Kipg2nFlD;qCYNhPU7M8{U5XH@y9R-|+SuzTxd3_YH5q|2Mq- z0pIZU2adHrBuMRcH8eD{f9az}AxPcoX*$x}`tPWy(V6D<@`mPPf58w~(P|qS&g~VQ zyZ?e2UlcM<+jjWhQ;9^OzUnqtYujHi0ph=UV;}MjycH}!zIp@7Ls9xrl${~Xd1Thy zS@RamoEfU9*wFd^_bf>*%@S)bZ#~o6=4xc^hud4uu=ci=c9*TKnT3(e+FD$atG12(nEkA! zjol-%O|DaCZLX#|8`gje)^@axt#sNTcc1e=l~xM>?_(CC3-Jl@4bg}Ah5Qdj;eRt1 z|JQZ)ZWi%j%sqZKb5}%#ce~v+Mrq(Qwfe3tyTgdDyk4N8kNGdX>3ptYSjk}q#}clI!RV z>0SD9|51x})u!w8Z~V7H!9N6Tys_~*pUm9cc#RKbu2Q`L6?bKeXQDJ`=M7my%?$+G z6?Z*r<;k8oQm}H7;A`;c&8keO=(-}Huld87{=(m5kRrTAyw*(I%{6-FCK!dxt{eEz ztH`2_F;HDBReOgj4#IeXnA`kaW{}DWqFz!2Mi4|R0`7`54oKeSXEKBIrT`^5SIJS5 z3%#Y(LCVz=e`;g7*M_W6!c7MAp9g%s3oGuvi@aS(OBx5NG2XEZAW73bfGpfiXsp4s zhGK4Q9N=zxlASs`qQ?h%HaPY6_@tg>NZYfMdNyRjr@#+7VPMS$X26aKeh?uHydEe*6^#XWL^o*QW4t}(Z{tKeN(Ag|gvEb9#Q^r}Ec=58^4+yHaQ zlsm#);`-Jgrmx}>bA?yMT$TNJb`tcHz+dxE69eV zrJ<+)<{*2r^V;>EEB);5^1bD|;ZVjNxpGFd0}?sht>P;-ALTT$-Z-ROn^k2h{` zI08pjx_0HO&g<8&Tq|SIrNeAXZ6m6c<-ShV<3S@6pEG}J*0<(7y5n1OA6@%U!>t73be2+&>^8Z%QT=QB(%`KHBGHLqusEN2U3ZRTB?`-{- zxs&EL7>)ihKU&aNGD$xtJoN2V(=F)X@1OkfdG~RBn_sK(;b(51KpTQvOabweLIb8x znj~jNK8FIbU&#G+?!&8YHa5mLhQ6JGCjWZzldrFsv_9wuzh1j)^{rae{qT+VGS+|F zIq`+}oFNZ?RBt>N9(nWGn`aiynfUZ?pL42_|KwJ8*@6i#&mQ>U+P+lF^ZH$eoohl> z<~ifOh?*7DdJyf(ig;Q`%lRxmXX#t|6`wtX_*KF@)6@`aVWK;Fw{_hNbToVSPYW~G z%^G~_di>c5BNO!M`I?x{#s5oJmk|GufbnR&YP@>9X1sR1ZoJQU-|_nKe&Y?}$Bp+N zA22>}d{8I~RfVcUHKE#2UFhG#qeK7mCO(cy;3qTjEZXNrh4Jp1Bx!&jVa~wQJWx(BYu zD*l2GEV3is2GbHOKQS9ep!kJ*l7`waTs%@SB>O^!n~o3Yc3-$ForZ>S!=9%k9j}Ec z%99QW9ZqCOx}*2#R{}iCBwd%12#{JW+&!ZYceh8y+;iQP@^QViDqwnc%_tS#AGkzA zOEbM7aHD5?K`01$ALu2CiMOk$pG07)ij;oQADV|DO#%H)%#b~lD#XMs4=jV-hal6> zYj-jvkKDIAS-Jmt4^4#opZyo(=O(zLm!zyrp|hTdhK<-a>xLlY{-c2Z<~`{DV0B}0 zM7=x~Q`;l>5QrE&qH)w%yixP7ROwwFQ7;X0F{QA1oz4eR5rf4sd=Q+vVz?MjtR&%a z4rY}3B321!Y#`TbAPSP5_rq?iS{%O06axj7DubZv7*K_M2A)LlAaH%Hlzj^I@r3Ed zn$fDfX2y&`&0}T^qh=0x&ES~N_nHA8AE=Gh_VWj7;+Pu!WGHyj$)9H~!1*h_n>mm7 zP20}LxN9Dh24T+VrfMeus}7hRFT!x{VS1?=6JN_*g01jv5DYS3GM_SMnbXXf(J_i= z%tB@e^7^=o%w;MxLYa18*urRrk?U<6067!E$Aaz@JReaiQ^F3@8g1c_8@6pjZmA#2 ze*r4gcO$z7VJ~)D*3ezS++c!=8RY$3XCy6nbecPz5F|x+oyNs|nKNCVa-YKfObdRW z;X{);FM^9B%;(H!EZUl0abEVfn%4N0*36f#fh{X{2BuVsJF8gcHP8UCqGvwGrzq1J zwSoDJ{>tdlL;h*wsM=^7@e=T&(jdMz=90X?7)TYEl!f7^iZtd@_I(NO)l-4qq%kev z12Aa2Q7QAfa`p9YUljqNB|!^MFzt#vObhU6W!jii+(p>i8<~?Z)t!M>c>E+^u3c$D z*XgdaysGd#kKBdl-Q4F!JuaF=-!m4T=RPy~-ESAp2Fjy~a8@gln8NdUd3oF!+1H~2 zgDJt>MNrK21CzKSy!^mPBl+V>+&B|oYo#Dw4cB1ZZ-ZB)lV;vm!E)GguK^V>o@W3} z_;`gsKEDRnjIH=UrM^(<@nD?gBL#sY9Uiq&&8w9n*j+a^3d)crnbzpAoYxqXladQn zc>5U~T{7M-yDQGaO;X38G{DJV`f7-YyOw){xt8e~F#Ec088!6O5FRCU-e7LfT1dHW znuEG-O4EV#4PMRMq`w0tuIJulu4iU?Ld>CZh_y5wJ96|acPZfza|vpJo5Hyj7vxlT z#RaC1xy)V5Wcu-q?-go(M8P9i3YTi;3I{frKGPZ%3<$^xEuIU8ED?4}ARj8L5z`)TqDW1EiY{Y&M z*oCJ+xbl?)yDoNhcXjgySGQ5EOqKMqAo`uqqb*W23`&0hgNHBE0y11bwhc3j8AdY& zBe`9Qfad3(U?fkZQR_iQ0}jU%%n48j2s42xjwy%*-p7>Np#+sP5EJvq890!}0T&JI z#Bjf}2qMwycAF|LtQjf1V1zNG1lceS2l}Zn+-Fi+Ud08sVphT-7T}H4nK*ovFawwS zp=*@*jTkjBj%hu5QVN7;8Eue#3QW-}!XQ>5Qf*45lW?HN;6v=jc}i$?DN#^7kN)|n z;u$Ie_K}i?4h)CQq=t5edoraE?n_y1)E)g2q+l7JJWon~+?VF7UCPB0xTw$Az|`ZM zY{}2ND&mV3kaI2rHt_f&UGjmAFf6hjR*JzMNr1cX0!$Bp4WEsL7wB=}UYD_96W5XZ zCDUQ_gIYVF-s$0BiZD*PW#TvF#xwCsPTqqYf9V#ljp>r~(^u8-T6$;r^p!QR zY<2OuunD2Xp!=(VcjJre{!CdW@UCEa#30w}YC0|JjDc`3Fv#_|nok??Z2{NAG;_Uh zCxZ)k?_2P`8LwAO-r}(Jsb!8c4RCMc1JV!}`gqg*TihBug4Lge)+pc2rTiC#xQ)kQ zLFO9pp|NlX>gR^#+nxY97VZJm1IOV8Kz;H!^qZ<1x>Qx)fsAUqxQc;Wq(~dTG!yh95JBSbS^N z5I9uhE8V2KC-57B$F5j|9bM=)>-cl@tqD8@I_~ZcgVbl?mPl$oz)+yh_%*Y{(zOIX zG`mg5o2Gxi#;D_2db0^jrg>QT`GgldVW9k^M-RtL&p0?{z+*x+zYLx+Ci72$ZcM## zUROO=pP+$RFwX=D2vR$8tgB&BZ*TQWHAbyl8qBM)nEh&4vw?pS%J7-^fS6&3V#}b3 z>sgb{^l-gv5Yu~_t}!VR-F*qyBaP#_JqDw$OPSPhhrYrLZA}LNy|A_FfeE0`WG%HQ zk|vNek4d;b{Adq$Mz~$~OlzFD>-yl@&(){Mf+M`L%cFW@@`N!tEZJDY!u7fO&05zL zvw^z|DIeDrqdLg~_gyP%rauLpqh-2q^68rCD{A0g%)+ZpV`BsEFj?qh7#Z>A+x!NT zG6+y^0+Z0)p)L5zvS|c%Ks!h3r2z{bEqMAEVq)>&y1yDhOYzfI6BnNw!^Fd#sSlW= z4@bDSKG3n)Q3sL&I6NW|#PE9hsmKnMFZR6Z@xY4oV01!agEa|)A z>!myNtciv3ICUF#BeefS?3%7CmcANkX?1&C4Rx*i|NP6?)+5a=u0P3hdmczdrxOYW z8X8sH$r}(&lMyLMXJ+)pEqs;A(AU8*5u? z+v_|{#~{_M<_Gohp3-7@tMRJJ6RpZxSt?ezYL+FgF6*V=3UR!e`d$_srFuXHk51(OA z!dr0{d&*S{6|tp~=LidxoOJOBg&(eMb=9%WO>Bdwsr@tyueEDi8(9ZiD@hG5cutBd zgod|(s$!+44&Ju8TFRST;LikiTbs0h*RE5iPL)59?@}t-1$Z!&U2TUeb^$Lz5ZFdQ zQhUtB9&G{tT(vE2ZWhE~`bcxrv6kAl_J&$au$2Y>%W%6&PP*7Sc#YoDe8yFW)Dzm= zE-=zmd&KntwDNF!8+)qO)Aj+&wz`^Hn_F5H9(4d0dIFdOQ=|^V{}RxMFWYKcj=9=e z%b~&+SECE?v?#T(bnk}YdH!cZx`%mg;vioH#9KR(}oqW`)8ot@Ys5{SPrg19c-Jc!3AOB z4GFfk3D@7+jDw{O+N=#f+}?1UbvYVqA)=s#ZsoX)nVYs8HmUx+!;{1p|-v0h#R871A1>|9URYKx)0K3Bn8o>Gwn5Hb8&2vParmT0qJ+OUf`)8@x@$bsR4l zHPOn#V3$}W2dT$3xQ>E8DAeDtWK;v^Ahmz11hI4&dc^BvtGl_mtre*QOWY+WC~!Yp z=V_H1YR>?6Jm%CvuGS-py%V@m`&m3JLETs)fx2-&gim`bj6rp9Nh=6~_XFHx$6z9W zd7`}u0yw1P2*^YBvk=3Fv0SRHtAjK28y>|t*dAamN2)L^t!sg)0f!EF2XC=qG}J;^ zhkHW`AVUXYH8_n1s-o;V>1jZk2{@iwU*;feiFJ>uK_|d1@P4(T_u44}E>~XnbmJ&fFX{dZK2n zoV{{38aSP7RNQyR5^)$Xf+`TN=C(G)dW$)B%XmXXXxvXRIfxh_gh4nrWwj%34Xq7ceX zlq01n$T-=&Q0|yA6&b%B{+s!-Wl92?5gZX76&xBK8a{KWoIC|PIpe^-+AL(QCL@w1lmvxcLOLyNs%=`Wx|vRfaV8F5fz;r8~109$&2IAuQs9RxW#b^ z(Q){^^e>&JJrW%k9XIU}l#I`Re4O?Omd7T>CPH=dff%q)i~`osdk6tt1gDw7Xc2zi z4ABR12F}IfFM_Z@li`OVW}*lvk3uJfqPcL6qR?Y-LUYh~<9ImFh(HmOfmLEK3Wm0! zSY(Wa(jbY2OOT?d$l#v_M@AvQJ{6iiH8Kp+(5VxqOrA0UVgW*NA_7z6;e?E{f8rCW5BD3gc&93 z!_ofeXf#_Nfj&uzfq!?Kf*dI^QZyA^2g=#8?pX^znr%ke`j^lK^rF67vzto%+6Vok zz6V6vIT_1WQcJV4R;J~kxAnb$s`ZZklIHz|_Sth$h5oW;b&PZ&K06j(N6n002p6kk z+!x}(w*>Tw{)&cTMK`cfqeZ2H2b^3#B@5=Gb`a+XrA9K&B|9Zg$b>g}f?wf6%vtasa_uM4(xZhn(5%`Ky{d}|)|B28dDue(bKnM^5ga9Ex2oM5< z03kpK5CVh%AwUQa0)zk|KnM^5ga9Ex2oM5<03kpK5CVh%AwUQa0)zk|KnM^5ga9Ex z2oM5<03kpK5CVh%AwUQa0)zk|KnM^5ga9Ex2oM5<03kpK5CVh%AwUQa0)zk|KnM^5 zga9Ex2oM5<03kpK5CVh%AwUQa0)zk|KnM^5ga9Ex2oM5<03kpK5CVh%AwUQa0)zk| zKnM^5ga9Ex2oM5<03kpK5CVh%AwUQa0)zk|KnM^5ga9Ex2oM5<03kpK5CVh%AwUQa z0)zk|KnM^5ga9Ex2oM5<03kpK5CVh%AwUQa0)zk|KnM^5ga9Ex2oM5<03kpK5CVh% zAwUQa0)zk|KnM^5ga9Ex2oM5<03kpK5CVh%AwUQa0)zk|KnM^5ga9Ex2oM5<03kpK z5CVh%AwUQa0)zk|KnM^5ga9Ex2oM5<03kpK5CVh%AwUQa0)zk|KnM^5ga9Ex2oM5< a03kpK5CVh%AwUQa0)zk|KnVQZ5%|9`PBMi6 literal 0 HcmV?d00001