'0T }o ! #@%`')+-/1 3@5`79;=?C@E`Gd0MOQ S@U`WY[]_acpe`gikmqOxw@ y{}@` @ ` @ ` @ ` @ ` ǀ ` ׀ ٠  @` @`!Aa   !Oa!!#A%a')+-/1!3A5a79?A!OEaGIKMOQ!SAUaWY[]_a!cAeuaw}!Aa!Aa!Ao!AaQ/Oooׁ !Aa/Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&k&m&o'q"'sB'ub'w'y'{'}'("(B()(((()")B)b))))*"*B*b*****+"+B+++++,",B,b,ǂ,ɢ,,`111112!#2#C2o ! #@%`')+-/1 3@5`79;=?C@E`Gd0MOQ S@U`WY[]_acpe`gikmqOxw@ y{}@` @ ` @ ` @ ` @ ` ǀ ` ׀ ٠  @` @`!Aa   !Oa!!#A%a')+-/1!3A5a79?A!OEaGIKMOQ!SAUaWY[]_a!cAeuaw}!Aa!Aa!Ao!AaQ/Oooׁ !Aa/Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&k&m&o'q"'sB'ub'w'y'{'}'("(B()(((()")B)b))))*"*B*b*****+"+B+++++,",B,b,ǂ,ɢ,,`111112!#2#C2SIDE_2  pIARCX TTP  TUTOR STEXT lDM RSCnMENU INFB \ENUMAKEPRGr (ENUMAKERSCt TV2_DOCDOCv RUNTIME PRGx/EXTRAS MAG;SUZUKI iTARNET DOC9GETRIS DOCY ANUAL DOCv{72 t 73 t 74 t 75 t 76 t 77 t 78 t 79 t 80 t . p I.. p ITETRIS 6uRAMBABY gSTARNET SEEKSPED UTOR ISTINGS VF63 t x64 t 65 t 66 t 67 t 68 t 69 t 70 t 71 t 72 t 73 t 74 t 75 t 76 t 77 t 78 t 79 t 80 t " . S.. STUTOR ARCT*STOSTUFFARCXq. m.. mSTOS DOC7ANUAL BAK{AMBABY BAK !EEK BAK.TARNET BAKGETRIS BAK RSC DOC"CLINIC DOCADT DOC KMANUAL DOCv{RAMBABY DOC!SEEK DOCBSTARNET DOCGTETRIS DOC@  bB b$J PRINT PAGEPRINT DOCSCREEN SHOTMENUHELPPAGE UPPAGE DOWNLINE UPLINE DOWNHELP! HELP! HELP! HELP! HELP! HELP!NextPreviousExitPRINT PAGEPRINT DOCSCREEN SHOTMENUHELPPAGE UPPAGE DOWNLINE UPLINE DOWNHELP! HELP! HELP! HELP! HELP! HELP!NextPreviousExit?" *" *" *" *z" *" *" @@@m@m@@@@@@  (P    @@  `0` POH$H$H$H$H$H$H$H$H$H$H$H$H$OP`     r   ????????????LETTERS.LSNO?x/ lqC& 0 !#!0ʨ 3e\,CF;ZGH.M4iFǖ3+)-{vi'F9.)fR9zCJFc׎&jrX kn # ocEkPmTdDYRL3$| /G8o8bX%f j v.aν綫a][Ž&=\9Mhҷ_V3IϵCK&Zi%RTĚ0ה t{}ktOc1M0iI7 H.|)lp` * >&jqaHq8eFb%]UWuTRf[hQQ~ @&hf_rwًMǖi5{AY#1yyfifryՊ[%D_tD5W})'qryےa$hvf}-ٖ (EyR $pp6ߣ]Bs8"ujW :Tjj@v)zAJԮizTj~fԝdKikjF*%,뵲εCZ$^wf;l.fVa|qwͱFpeUOf߇xjEvW5{~"qK*ױaWV8o"+D??" *r" *" *r@@@@@@   $H? ! @? 0`_HHHHHH_` R     z??????s) /0)1678AB CHIJ$  <*/  6z 9  BZE  :J  O  *W  6ja  *Ji  6 f *  <   6 V   B     F      * 6   6 r * &  6 MB #d      #  +  C  02   R:  0I b )E ~   % +  Mt## &#!*#@B& b2& 9%0I )E    %&+ &b64O PfЦ~?\;@@ F$4 aDaa a a RUNTIME StarNet BBS And the rest of this month's The World's first and only Comprehensive and fully-featured cracking collection includes... dedicated coder's magazine bulletin board to run on your ST Code Clinic Configuring StarNet Typing Tutor text\clinic.doc text\starnet.doc text\manual.doc Abstract Data Types RAMbaby text\adt.doc text\rambaby.doc GFA Resource Programming Tetris text\rsc.doc text\tetris.doc STOS Programming SeekSpeed text\stos.doc text\seek.doc t\stumped.doc Screenful challenge Compare floppy discs Rubic's clock text\screenfl.doc text\compdisk.doc text\rubicloc.doc Copy disks Sleuth - whodunnit? text\diskcopy.doc text\sleuth.doc Clipart picture text\clipart.doc OGA|dD500~i&hTto?-AЄ?%d!58?2кF N7 F!ʀ;"1ԉ܁ 4 `P@ a9 7mD# Extras Folder This folder contains source code and other programs which relate to articles on the disk and in the magazine. To discover what they are and how to use them, check through the relavant features (STOS column on disk, 3D graphics series in the mag and so on...) * End * 8NP`0a j`*ggg gİpg̰tgΰ$g`a 6 -(ra+A| -|a+A+B+C+D -, m|a& @/ -aa"aV -0 m|a% @/z(-"m@a%"a2 -4 m|a% @/z(-"m@a%b"a -8 m|a% @/z(-"m@a%>"a -< m|a% @/z(-"m@a%"a -@ m|a%j @/z(-"m@a$"a -D m|a%F @/z(-"m@a$"a~ -H m|a%" @/z(-"m@a$"aZ -L m|a$ @/z(-"m@a$"a6 -P m|a$ @/z (-"m@a$f"a -T m|a$ @/z (-"m@a$B"a -X m|a$ @/z (-"m@a$"a -\ m|a$n @/z (-"m@a#"a -` m|a$J @/z (-"m@a#"a -d m|a$& @/z(-"m@a#"a^ -h m|a$ @/z(-"m@a#"a: -,-*-(-vct"-|ab -0"-|at+@"-l m|pa# -0 m|a# @ az(-"m@a" -4 m|a# @ az(-"m@a" -8 m|a#` @ az(-"m@a" -< m|a#> @ ajz(-"m@a" -@ m|a# @ aHz(-"m@a"n -D m|a" @ a&z(-"m@a"L -H m|a" @ az(-"m@a"* -L m|a" @ az(-"m@a" -P m|a" @ az (-"m@a! -T m|a"r @ az (-"m@a! -X m|a"P @ a|z (-"m@a! -\ m|a". @ aZz (-"m@a! -` m|a" @ a8z (-"m@a!^ -d m|a! @ az(-"m@a!< -h m|a! @ az(-"m@a!Nupa0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi ?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<,>CEdGH@0r`xJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riR?0i?`?<`"_K(nM)I&O:HQ <-H*,`N,#nd d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nu`Na8A-Hhp apMa=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa a:``peahp`(p?a(arapaHz?< NA\?<LNAfCR2A0A82r22a "<x0<NBLNurt=@:=A@=B2::(   F..26"8@"PQ1!P1P!0PP`0  q#p"AӘQNuA Nu|^|  R^,T:Hz(` NHz ?<&NN\Nu9d8gNuWd8Nuaaaa O: n*NNuNuNupc?a0QNurdAd6Ag,B(dB(dH Ac<a 0tgBAp` NuNu?<OA`d?<IA`Z0<H Ia Lt Ig Og Ug Ag Rg*afNup`a p`0a6fHRa >Er$Wgr STD:gr COM:g r LPT:f2FA$_0=@D~CA0< Bha B2"pNu$_AF Ge><QBAFpNuahgzp=` a\gzpaTaRFBd&8*L?a<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`(:HE:a`4JVHHarЁЀ`z@`z8H@0`z(a^*d2d2d"d""d""""d"`""""""""""""""""QjNup"X2g6C/ !UAk$!Q"_Nu @$@JfS a`QNu$Aat`QBNuth`tpa ".Nutj`t@H|`pM` pO`p`po`~*@-AH|`t)`t` tr`t2`t@-A=B|`rAD-@f-H `r6 @`Bp'rtab n2rt6(SC0(S@apaB\papava0pa _a~4$FAFp_@[000][vx`* [g" ]g |g QSx` xQSrQ][vx`* [g" ]g |g QSx` xQStQ]BAF0-H,=@p4a62HNua`QNuHg"cc/ 0)a _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNu~dGdEH<Nup` n0@F@AJhg PLNu` NLJg(HPBHh/??<@NAXLf ѨLNuJkp%` aJBja!| ??<>NAXOJkpNu0< aF`0< CF2p`p a0`p CFp`aCF"p`xHza `Hz"J`fB.@=|DNua.@FpAR@C`D Jg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`p$_a!HN$_a؄1HN$_aHN$_a 00N.@<.DAp$I"t Q k"RGef~`SG * g *fSG`<.DjZ\FkBJn`g Fgd Fg^HS&I.a(Q`p???<NM\Qj&_NuHQ/?Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNuC`C``C` C`CJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`ZJAkfgRer?DDЁaAaF8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`aDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNu؄*؄؅CH`򊘮؅X`$_  IaHR"H @`̘؄*؄؅AHNu؅X`$_ Ia~HR"H`a!@ NuAANua1 Nut`t`t`t`t`t `t`t`t`t`a ( Nua Nu@@Nura00HNur`r`r`r`r `r`r`r`r`zQ`z ` zn`z4=A|a\-IHQB0a& _JNuz"-A=B|a4-I`F High res only Quit menu.inf Can't find a menu inf file! MENUMAKE.RSC ,t*(* f\((@Px$\*LScroller version 1 Program completed 3/3/1990. Coded by M.Johnso. NqNqNqNqAB"PAo0<""""""""QNqNqNqNqNqNqNqNqNqNqNqNqNq0<C$|$QHzoV?<NA\?<Hz|?<NNAPJ@fAo4( lATCo$Da GfACS" N+(N+(N+(N+(Hznb?<NN\?<NNTT@NA #A l A `A ZA R  A > pA C E : "A C A BPA  A #9 9A # 99A .#pABaPA$P gD {fa( Jap`, }fa( Ja*` &f Ja` ^fa:(0a.* Ja` #f a` @f2aa.<4< ?<%NNT:< JaQQ` [fa(0a* JaD`r ]fa(0a* Ja`N *f Ja`< |f Ja `*a.< D D$D  ATARI ST USER - Runtime magazine menu makerGoto menu #1Goto menu #2Goto menu #3Goto menu #4Copyright 1990 HAL ComputingLoadSaveQuitMenu number:x________________________________Main menu #1: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Main menu #2: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Main menu #3: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Sub menu #1: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Path: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Sub menu #2: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Path: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Sub menu #3: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Path: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Sub menu #4: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Path: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Sub menu #5: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Path: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Sub menu #6: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________Path: ________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXMAIN MENU$PQq,R_` ano p}~   !!/Bc!/!/$Es!.!'L!.m!'%!.Fg!'!.@g!'!.@!'a!.!' 0KD-` |    " " %" 0K $.@.\.x-"& - "&  -  " &   - <" & X- t"& - "&%:  "DU|066000000020000132000000000004000 11 21 F0110030001 9[....................................................]0010 ATARISTUSERDISCMAGAZINEV2.00 FILESREQUIRED:- RUNTIME.PRG -theprogramitself DM.RSC -resourcefileforruntime.prg MENU.INF -containsinformationforthismonthsmenu PICTURES-foldercontaininganypicturestobe displayed.PicturesmustbeinDEGAS compressedformat,eitherhigh(.PC3)orlow (.PC1)resolution. TEXTFILES -upto24textfilesineitherASCIIor1ST WORDformat.ASCIIisrecommendedtospeedup discaccess.Itissuggestedthatafolder calledTEXTisusedtocontainanytextfiles used. FILESNOTREQUIREDONCOVERDISC MENUMAKE.PRG -programtomakemenu.inffile MENUMAKE.RSC-resourcefileformenumake.prg USINGPICTURESWITHRUNTIME PicturesmustbeinDEGAScompressedformat,eitherhigh(.PC3)or low(.PC1)resolution.Theyalsomustbelocatedinafolder named'PICTURES'. Toaccessapicturethroughatextfileincludealineinthis format: filename:<> eg.toloadthefileFRED.PC3 FRED.PC3:<> USINGMENUMAKE.PRG ThisprogramproducesaMENU.INFfilethatcontainsthedatafor themonthlymenus.MENUMAKEwaswritteninahurry,andasa resultonlyrunsinhighresolution.Also,itisnotfullyerror trappedandwillnottolerateattemptingtowritetoawrite protecteddisc.Pleasebegentlewithit! 1.LOADlooksforamenu.inffileinthesamedirectoryas menumake.prg. 2.SAVEsavesamenu.inffiletothecurrentdirectory.As beforethisfileneedstobecopiedintothesamedirectory asthemagazineprogram. 3.MAINMENUENTRIES.Upto3linesof32charactersare allowed-thefirstlinebecomestheheadingfortherelevant sub-menu.Amaximumof4mainmenusarepermitted,ifthe firstlineofamainmenuentryisnotpresenttheprogram assumesthatthismenudoesnotexistanditwillnotappear asamainmenuchoice. 4. SUBMENUENTRIES.1lineof32charactersisallowed.A maximumof6entriespersubmenuarepermitted.Onceagain iftextforasubmenuentryisnotpresentthemagazine programwillnotdisplaythatitemasamenuchoice.Bear thisinmindwhencompilingmonthlymenus-alwaysworkdown fromthetop.Forasubmenyentrypleaseremembertoenter thepathandfilenameoftherelevanttextfile. eg.ifthetextfileiscalled'runtime.doc'andislocated inafoldercalled'text'thenthecorrectfileandpathname is- TEXT\RUNTIME.DOC NOT(!!!)-A:\TEXT\RUNTIME.DOC ʍ:I !A,MQG=%/9=C3%`Zb-`AON)6aFpa:|pa9pa9pa9?<NNT+@ -f*E!p*aE./0AaV <'~AaS~NpfN#` maDFB>/-NN mEpa6g/-NAa: mEpa6rg`a,XaFA aBAaBAaBAaBAaBA퀊a:@pa6 -ra6n+AB -Ba74$m$$m$$m$$m$$m B$m $m.$m,$m*xvtr$m RaG$m R$m So"-z mBpaWj"-v mBpaW\$m $m,$m*$m(vct"-Ba6&pa5B/-N"-Bpa6&+@"- mBpaW$m $m,$m*$m(vc$-"-Ba5 -~g -vf -r ҭo8p ѭ/-N`& -&<:<a!NJBmpѭ/-N -r ҭl"-v mBpaVj`"-v mBpaVZ -&<:<a JBl"-z mBpaV6`"-z mBpaV&$m $m,$m*$m(vc$-v"-Ba4$m $m,$m*$m(vc$-z"-Ba4`A퀊a84A퀊aA`CaDBATa@$m B -$m "$mTҒmP$m Pr aNN$m ($mTؒ"maT/$m ($mTؒ"maT0(rJgp+@>`0EpAa?>/Epa?0r"_ta4t$m$p+@>`Aa?a/lEpBa;(EpEa;E{p=a;a>Jgp+@>pa)Aa5aMd`rNuEDp6a:aAA a=A4a=A8a=Aa=V$m B -va4` ma>$m ("maR 0(H$m4$$m8B$m4 o$m8R$m ("maQ$m8"pa@Ta=+@z -z`jp a>"ma."ma5F`xp a>"ma.t"ma5.``p a>"ma.\"ma5`H$m8R`@ -za>j"ma.:"ma4`& @g @ g @ g @g @g @g`$m4 $m8f4 m$m ("maP$m R$m o]`?p"<aJpa0@ -ra0+ABpra0 +AF+BJ+CN+DRpf <`0|B0 -N0|B0` <0|B0 -b,-^*-Z(-Vvct"-Ba0B~N pa/ptrEa5"E 4a5(a4:p>g`a5Bpa4f+@ -`np +@`\p+@`TpЭv~gp+@`@pra@`v -~gp+@`hpra@`^p+@`Vp+@`Np+@`Fp+@`>p+@`6 @Pg @Hg @P2g @H8g @g @ g @ag @Dg @bg -g /-N Nua>FA@a:A a:NADa:FAHa:>$m@ `Ezp$a;>/Ep a;0r"_ta0t$mH$$mH Sf?<NAT$mD$`BEpa:/Epa:r"_ta0.$mH$$mH Ug?<NAT$mD$$mD g$mH Sf> m ~pЭ~a0`a7$m ("maN(a*$m R$m o]`Ep(a:b/Ep a:Tr"_ta/$mH$$mH Sf?<NAT$mD$`BEpa:/Epa:r"_ta/R$mH$$mH Ug?<NAT$mD$$mD g$mH Sf~$m B -va/`a6*$m ("maMPa*$m R$m o]`VNl`|Ep4a9/E2p a9vr"_ta.$mH$$mH SfHp+@>`xa -ra,&+AB`l -~gpѭ~ -~rl@+@~N `Hpra=`>pЭv~o"pѭ~pЭv"-~o@+@~N `\pra=`RN `JN ~`B @gz @gN @g @g @gP @g\ @g @g @ g`; a;RA a7bALa7Zp$mL$ m ~pЭ~a.^`J$mL raEV$m ("maKa($m ("maK0(rPDa;a(~$mLR$m R$m o]`:pЭv~of?<NNT/?<NNT"@ <i _aR~praDxح~"maKJa( xح~"maK80(rPDa:a'`prapf$A +@H/-/- mNPLx`"m m <}apWHH/pWHHg|p~AaB$m B?<$m ?*?<NN\w$m ( m!H$m R$m Wovptra(vptra(vptra(vptra'pWHH/pWHHg|p~AaB$m B?<$m ?*?<NN\w$m ( m!H$m R$m WoHyNNT/?<NNT/?<NNO pЭ/?<NN\AaDa *?<NNT"@ <} ma.a1JVHH/aCga pWHH/pWHHg8$m B$m ( m 0H$m "a&$m R$m WoAaD:pWHH/pWHHgXHyNNT/?<NNT/?<NNO $m B$m ( m 0H$m "a&~$m R$m WoAaCA퀊a'A퀊a1D`3a2ZA퀢a14aE +@ -m -a1C퀢a!dC퀢a(`A퀨a1aD+@ -m -a1nC퀨a!4C퀨a'`Aa0aD+@ -m -a1>Ca!Ca'`A퀺a0aD+@ -m -a1C퀺a C퀺a'`Aa0taD`+@ -m -a0Ca Ca'^`Aa0DaD0+@ -m -a0Ca tCa'.`Nua# Epa/aD+@n -nf.E p'a//E4p a/r"_ta$$m$a*pf Bp+@` p+@p+@p+@p+@p+@p+@p+@p+@p+@ p+@p +@p+@rp+@vp+@zp+@~p%+@ -~Aa>fE=p a/x"maBra/x"maBdEFp:a.x"maBNEp3a.x"maB8Ep:a.x"maB"Epa.x"maB a.x"maAEp a.x"maAa.zx "maAEp2a.hx "maAE0p a.Rx "maAa.@x"maAE;p a..x"maAa.x"maA|E[p)a. x"maAfEp/a-x"maAPEp1a-x"maA:Ep7a-x"maA$Ep$a-x"maAE?p#a-x"ma@Ebp/a-x"ma@Ep+a-px "ma@Ep6a-Zx""ma@Ep8a-Dx#"ma@E*p9a-.x$"ma@Ecpa-x%"ma@tNup~Aa<`$m B?<$m ?*?<NN\$m ( m!H$m R$m roEZ +@ p"Э +@x mAH r"Ё+@A퀢 +@/-/- mNP <}"~A&a;x m&AH "@p" m atA +@x mAH r"Ё+@x m&AH r"Ё+@H/-/- mNPLxpf+|B+|5FBZB^BbBn+|Lf+|fj`Rp+@*p9+@.p=+@2pY+@6p]+@:py+@>p|+@B+|FBZB^BbBn+|f+|jpr,a5Epa% zx"maa -.&-&$-*"-"a.zx"ma<a7g\p r,a5jzx"ma<ap r,a5Rzx"ma;ap r,a5:zx"ma;az -6&-&$-2"-"azx"ma;a7*g\p r,a4zx"ma;a&-&$-:"-"aRzx"ma;>a6g\pr,a4zx"ma;$apr,a4vzx"ma; apr,a4^zx"ma:a -F&-&$-B"-"apr,a42Epa#> -j&-&$-f"-"aa8JfBEaxaa8ga8"\HH/a8&_HHga8`(p+@`\p+@`Tp+@`Lp+@`Dp+@`<*m.o̰2m6oȰ:m>oİBmFofmjopgz(-"ma9a5jgB -f`@aNua(AXa$pa6<0<t2<@apa+|O"+|b&pflp8+@*pZ+@.ph+@2+|6+|:+|>+|ȂB+|F+|Z+|^+|'b+|Jn+|Xf+|zj`^p+@*p++@.p3+@2pC+@6pK+@:p[+@>pc+@Bps+@Fp{+@Z+|^+|b+|n+|f+|jpr,a2"z$mX("ma8a^z$mX("ma8a4g0pr,a1z$mX("ma8a, -.&-&$-*"-"arz$mX("ma8Za3g0pr,a1z$mX("ma8&-&$-:"-"az $mX("ma7a3Lg0pr,a1z $mX("ma7aZ -F&-&$-B"-"az $mX("ma7a3g0pr,a0z $mX("ma7ja -^&-&$-Z"-"aZz$mX("ma7Ba2g0pr,a0z$mX("ma7$a -n&-&$-b"-"apr,a0bE p an -j&-&$-f"-"aa5"JfEBa ma#Faa5ga4ܰ"\HH/a4̰&_HHga4`z$mX("ma6"ma`fz$mX("ma6l"ma`fz $mX("ma6R"ma`Lz $mX("ma68"ma`2z $mX("ma6"ma`z$mX("ma6"ma`pEp maf`^*m.oF2m6oR:m>o^BmFojZm^ovbmnofmjo ma1f`av`$LEp'a!/E2p a!r"_ta+AnpnfB$m B$m ( m 0H?$m ?*?<NN\$m R$m roava Nua ?HnF?<6NAP0.PTHNupa JkpNupNua"pAHPB?HQ?<NNAP _NuDExa`bDEa`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&a\&8:DE`DEx`aH` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`,a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu40rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi ?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<,>CEdGH@0r`xJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riR?0i?`?<`"_Kd d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nu`Na8A-Hhp apMa=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa va:``peahp`(p?a(arapaHz?< NA\?<LNAfCR2A0A82r22aX"</0<NBLNurt=@:=A@=B2::(   F..26"8@"PQ1!P1P!0PP`0  q#p"AӘQNuA Nu|^|  R^,T:Hz(` N0XHz ?<&NN\Nu9LgNuWLNuaaaa O: n*NNuNuNupc?a0QNurdAd6Ag,B(dB(dH Ac<atgBAp`NuNu?<OA`d?<IA`Z0<H IaLt Ig Og Ug Ag Rg*afNup`ap`!0afHRa>Er$Wgr STD:gr COM:g r LPT:f2FA$_0=@D~CA0< Bha B2"pNu$_AF Ge><QBAFpNuahgzp=` a\gzp _a0G` VNuag`af`ae `ac` acpNuadpNu/ a$I> _a4Ae4v` VfANuHP0(R@kBa $I _aIUd4Id4Id$Id `$$$$Q @JfNuNup `a|SAfNuag`af`ae `ac` acpNuadpNuaHSAkfUANuH HPhkJa: $I _a"IUd4Id4Id$Id `$$$$Q @JgSL`QNup `aܰAf` VNuag`af`ae `ac` acpNuadpNua4@m4v` Vf@Nuth`tpa ".Nutj`t@H|`8rk` rf`rg`r5=@|0` pM` pO`p`po`z.`z+@-AH<|`~*@-AH|`t)`t` tr`t2`t@-A=B|`HAHBHCHDHEHFHG-HfAD-HH@-@H|p`rAD-@f-H `r6 @`z`z `z8.^n\Dn\@Hp tr=ED` Bp'rta n2rt6(SC0(S@apaB\papava0pav`vj`v `-@p `v`p&rta=n-nNuv `v`vh`SCS@AB8Hp=@0<rt`@H\Nup`@=@pN`~GGGBCCB@???<NN\Nu??/ a , > _a 4$FAFp_@[000][vx`* [g" ]g |g QSx` xQSrQ][vx`* [g" ]g |g QSx` xQStQ]BAF0-H,=@p4a2HNuE"ea "ep`h&6NuE "e a "d&&6NuE"e a j"d66NuE"e a N"d666NuE"e a ."d6Nu <}a $Ia `J$XaH`aHHR?<NNT @"_ <}Nuvn\n^~Ha z0 @xepw2AtE4*jDjHB t`0QTAtp =| D`a`QNuHg"cc/ 0)a _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNupLADaHTBnBL*Hd"aZHd"aRHd"aJHd"aBHdF n Dg"`.2.JWAARA0.L n.g hfRAS@f=AB"aNug//ANu@k AB00HNuX@g .NuAD Nuz`zA6C|IdXC |2:H<0`$6HpA2`A.p` A>`A*p4. g=BNuA*pBQBX".g paBNupraHP?<NNT~U@g~tb3>BANpr0 0BBB R@ @fAN0000PB0Tp`00000\0X0Tp`T@00000P0BXpnT0raVA0p1| 1AQBX0$HTH0P P0Tp`0NuH(Fa$L(FNuSk [0NupNupa`p>`HPaa _&X Pf/|~Kzag @ ep 2tCZ"2 S@HQCػR"_d BTAA3ApCN4$I2a222B"0@2A\xva@gF2#M 443BS@ -f HQCػR"_d@BAAb8RGRC`3RSG5G5C J1DcaRF Fe `RG GdNuXANSF1F41R1h4x1EDg"<Np-A`~dGdEH<Nup`0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aF`0< CF2p`p a0`p CFp`aCF"p`Hza `Hz"J`B.@=|DNua.@FpAR@C` B.@=|DNuB.@a=GDgNup`a`aCF"E p`4Jg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`$_a!HN$_a؄1HN$_aHN$_a 00N.@<.DAp$I"t Q k"RGef~`SG * g *fSG`<.DjZ\FkBJn`g Fgd Fg^HS&I.aQ`p???<NM\Qj&_NuHQ/?p`p`4HP  if"Y(d.ЀЇЀHq.؄؇؄AHĘ aHPa>"_ WBhad"_ _`$Pt4(gRBB&D%(Nu"X Pf(d.ЀЇЀ.؄؇؄HqHAHaH HQa _"_BBa]tv`$P4(gRBC%(\cNuBnp`pBnp`p=| p|=Fn@=@b=n`raHj=Ah~`:a JfBH@ RfF.f Kg" Mg sg tg Pg Hf~`xSGjtRGFcn>`jAF gp gj g grffnnpenbfJ.fj6pRGFc$SG` J.fjpRGFcRF` Ff`> `?~ap a0p a*0Nu|``CpE`bf`FgRGJGgSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0NuagNu4.rf?Hya2NM\Nu=|D`LjaHzEfpadppa`AFEg0PaEfaFRE`ܾEfp a@a8?nnnp a2RF`<annoS@f nhfSnl=Ah=FnNup` papq4.rf?HyaNM\Nu=|DHaLNu|A0"P2(@e2<EF`QHP=|DJ@g$abAF$HpR@ 0 f _aZ`QNuHPp?ap a| _2<|0`C&pHQ/Hy@NA NuC pa:NuHQ/Hy?NA Nu&g4 Fga.gJAga2< R@AdSf0Nu0ap Ce`&g4 FgaJBjagPAe CbRa R@Sf0Nu FgRag JBjaAeaJAg RP0 pNu` Fg6argJAga @ea|RP Nup NHѨB?<?/?<BNAO JkLLNu&8aJBja,JAg Df*ڃkd0Nu DfրBH??/?<BNAO LJk!@NuHBHh Hx??<?NAO LJo ѨLNuk:fp`^k: g ѨNuBHPHQ/??<?NAO _JoѨfNuBHPHQS/??<@NAXLfѨNuJkp%`DrSRH0a=GDg:LFaؾc.܆܆ ISk"X0HHaahL`Nup`p`&nAt6<X0QNurSRH0a=GDgkLFad I-Ka"`c.܆܆BGPPh`agRSj QPhNu`nHPG<.Dx aBgJBjaTAeajJAgZRP0 ögR@Ae`U  fSC̗ &n _aER@Hd2Hd"Hd `""""Q\J@Nu _HzHP`pNup#(fpNup`p`#$NuHz` Hz`Hz&$A?<&NN\NuNu4Nu$Nu?a0` ?a2@@a&` a Nu4.`Af n2LR@RANu4.`g S@SAHNutbpbr??papYa0a0`:pEgP`LJg&B.C`a8aD*9$fap-I,=|p4aHz*9$g ENp9`ڢ _a &nO:NMI$*K<$<Nu[1][Error +111][Return]E: g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNuaNf"_O:N"_O:HQ`6 9Rg"9RgJ9fga"AO:Np\B$`G06#f&#-KNuk"c" C gT6f`Pv6"cgRCC(D#8`a>JANuag `af`apNuapNuC`C``C` C`CJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`JAkfgRer?DDЁaAaՊ8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`aDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuaP n2L6(n\n^HHHNua0 n20(n\HNua n20(n^HNua n20(HNua$:ffNuarNua J[HHNu:nfa@ z^0NuJg6$:Pf,H?<"NNT&@p/&Xra :,ga &Lr`r??Q@XHyNM\0Nu#XNu"H YJQfNu YH瀀aLP|HPGZ~C&֛֛֛֛֛(HDDCBg6Cv6C[RCF8[[[aL6C[RCF8:GZ~FWfTL L-KA `$I\bfBjQNu$YbfBjQNu؄*؄؅CH`˜؅X`$_  IaHR"H @`̘؄*؄؅AHNu؅X`$_ IaHR"H` n!d$HJf-HS Nup"`HPa _a0`QNua JH aL0Nua`>a!@ NuAANua1 Nut`t`t`t`t`t `t`t`t`t`a ( Nua Nu@@Nura00HNur`r`r`r`r `r`r`r`r`zQ`z ` zn`z4=A|a-IHQB0ab _JNuz"-A=B|an-I`,n wpwppwU33s"#"#??"#"#??"#"#"?p<"#"?"#@p H0p "< 0p`."#"??"#`  0 xF?8 w |8?"#?p #8#"#?#?#0F?>9 80x??1" 0b0 <'8"???'3p 08{??19p1"#b"#3x 1<y|<"?#"?<#<<h<?`"#"#"#b"#`h?>`"""#""b"#`h`#""#>"b"`h`#""#"b"x`h`"#"""#"b"  8`((h  `"""""b"  `((8 ? ?0"/"""/"2"  0((8  0"?"""8:":"  0((  "# "#b""#"#"   (_( {p " ^|`""" ||O`   (~|Op( ||Ox " |/||""/" |_~ ( G|( |@| "|/E|?""/?" |L| ( x( ~~ " ?"/"?"/ ? ?((  ""  ((  "?"?  ((??T*83034881581702441204518017727904221286025637440481621061209376553021128245761048242106120936655303141320002790465490826920085-1830348815812348199128601913008130324013032801303212053756022093765514537560120209366550020085-18303488158123481991286039130161303278209376552853756080209366551420085-183034881581086312103511211375162164011836015170241702517026170271231276826368421122211217682636842163421121768263684226585491421633170267682636842112221121768263684216342112176826368422658549142163317026768263684211222112176826368421634211217682636842265854914313932764810639615245768631396276481063961424576703139927648106396102457654313912276481063969245763831391527648106396122457622313918276481063968245766639602094365326159321991542019123121282413336138482457622245767020942655185426808020943655042008517028170292304263684209972305263684215092306263684225332307263684204857429209964716416273926549224576654668764015825203117026170271702817029515056858192205132636844522051126368445321248205122636844522051026368445321248209376548490298089002457665386-183034881581234819912860391300813032805375602209376552253756080209366550820085-18303124348255434825343482534348253434822143482214348221434821743482174348153434815343481534348148434814843481484348132434813243481324348128434812843481284348083034881589327129839161086320537560210315159323170241282413313574105787533141331359458578753314577753313638602094365500537560241337299138843968506851170281702917030170311234815248327424832124248321782483223010882313602816065510129321312580131261601312724054012253500417026170275669515720939654605350016054012240209386544420085170251384025926368622410138642259263686224112099740962636844522099540962636844532008517025133122131413840128326368622410138642128326368622411209964096263684147620994409626368414772008517025138641602592636862241013864162259263686224112099340962636844542099140962636844552008517025133122131413864160128326368622410138641621283263686224112099240962636841478209904096263684147920085-1 Please switch to | Medium Resolution menu.inf I cannot find the file | Menu.Inf - it needs to | be in the same directory | as this program. ABORT **!sh PLEASE WAIT - loading file from disk ATTEMPT TO LOAD FILE HAS FAILED! I can only recognise ASCII and 1ST WORD files. Press any key to return to the main menu. File not found! Please | insert an ATARI ST USER | cover disk. OK Your ST does not have enough free memory to load this file 1ST WORD file found PRINT PAGE | Are you sure? YES | NO YOUR PRINTER IS NOT ON-LINE! CONT | ABORT PRINT DOCUMENT | Are you sure? Are you sure that you want | to return to the menu? Yes | No <> Screenshot not available! | Press HELP for assistance. pictures\ Now loading screenshot..... Screenshot not found! | Please insert an ATARI | ST USER cover disc. dm.rscI can't find the file| -- dm.rsc -- NO GO! MAIN MENUUse the mouse to select your area of interest - point and click the left button within one of the rectangles.QUIT TO DESKTOP leaves this program and returns to the GEMdesktop.SUB MENUSUse the mouse to select the file you wish to view.VIEW SCREENUsing the mouse or the keyboard:LINE UP or UP ARROW - scroll line upwardsLINE DOWN or DOWN ARROW - scroll line downwardsPAGE UP or shift + UP ARROW - scroll page upwardsPAGE DOWN or shift + DOWN ARROW - scroll page downwardsHELP or Help - displays this messageMENU or Undo - returns to the menusPRINT PAGE or Control + P - prints visible textPRINT DOC or Control +D - prints whole fileSCREENSHOT or F10 - when a line of text containing thewords <> is positioned on the page, pressingthis key will display a picture. Press any key to returnto normal viewing.USERDISKEuropa House, Adlington Park,Macclesfield, Cheshire, SK10 4NP.Magazine program (c)1990 HAL ComputingMAIN MENU - please selectQuit to DesktopMain Menu Are you sure that | you want to quit? , 4*B, "  v(  . 2 ^688^8*>(L$$$$$$$`262  f((@P0"&Xb0" *$*V????????????. A.. GOLDRUSHBASBBLionpoulosBx-x goldrush game0 by Phil Lawson for Atari ST User (c)1991$ The following data inidicates$( 0 = space / walkway (0)$2 1 = wall (8)$< 2 = Acid pool (2)&F 3 = Open yellow door (3/8) P 4 = Closed yellow door&Z 5 = Open red door (1/8)d 6 = Closed red door&n 7 = Open blue door (6/8)x 8 = Closed blue door$ 9 = Yellow key (3)$ 10 = Red key (1)$ 11 = Blue key (6)$ 12 = Clock (5) 13 = Gold, Create the maze data from the picture:ͦ:: Ƞ picture.mbk,ܨ,:: $MAZE( ,, ),%PATTS( ),AN$(),MOVX$(),MOVY$(),#SCR( ,),$BADS( ),BADDX$( ,),BADDY$( ,),%SXBAD( ,),%SYBAD( ,):XP:YPT`A :C :B TT(XP,YP)TT$MAZE(A,B,C) :(XP,YP)$MAZE(A,B,C)BTT$MAZE(A,B,C)TT$MAZE(A,B,C) :(XP,YP)$MAZE(A,B,C)B"TT$MAZE(A,B,C) ,TT$MAZE(A,B,C) :(XP,YP)$MAZE(A,B,C)B6TT$MAZE(A,B,C)N@TTSTMA:STXB:STYC$JXPXP:B:TXPXPP:YPYP:Cl^XPXPP:YPYP,:XPXP:YPYP,hA:STM "rGOLDN|A():B():C( )$MAZE(A,B,C)(ASTMBSTXCSTY)BBCC |.$MAZE(A,B,C) GOLDJ:A :%PATTS(A):A\,,,,,,,,,,,,,:::ROA :,A, ,%PATTS(A):L,A, ,A,,A, 6XPXP:A:::  set up screen and colours:::ͦ:@X(()()(),PALT)F֝*L:L,(X):X:X:ZXP:YP::C :aB2TT$MAZE(STM,B,C)DTT,XP,YP,%PATTS(TT)J:,XP,YP,XP,YP,XP,YP$XPXP:B:&XP:YPYP:C::>0,STX,STY,x:AN$()(7,4)(8,4)(7,4)(9,4)L:MOVX$()(1,0,16):MOVY$() (1,-1,16)x<AN$()(4,4)(5,4)(4,4)(6,4)L:MOVX$()(1,0,16):MOVY$()(1,1,16)~>AN$()(10,4)(11,4)(10,4)(12,4)L:MOVX$() (1,-1,16):MOVY$()(1,0,16)|?AN$()(13,4)(14,4)(13,4)(15,4)L:MOVX$()(1,1,16):MOVY$()(1,0,16)<DMAZSTM:XPSTX:YPSTYrNzO:rA :iB:#SCR(A,B):B:A O,,, P,,, Q,,, R,,, S,,, T, ,, U,,, V,,, W,,,2X set up the baddie movements for each screen2Y *******************************************HbFl:=A :$BADS(A):A>l,,,,,,,,,v:zA $BADS(A)mB$BADS(A):%SXBAD(A,B),BADDX$(A,B):%SYBAD(A,B),BADDY$(A,B):B A" BADDIE DATA FOR SCREEN ONE" ==========================D0,1(1,2,24)(1,0,16)(1,-2,8)(1,0,8)(1,-2,16)(1,0,24)LD0,0(1,0,24)(1,2,16)(1,0,8)(1,2,8)(1,0,16)(1,-2,24)l&Ơ,(1,1,96)(1,-1,96)l$ˠ,(1,0,96)(1,0,96)l$Р,(1,0,96)(1,0,96)l&ՠ0,(1,1,96)(1,-1,96)l&ڠ,(1,2,24)(1,-2,24)l$ߠ`,(1,0,48)(1,0,48)l" BADDIE DATA FOR SCREEN TWO" ==========================F䠦@,3(1,-1,48)(1,0,80)(1,1,48)(1,-1,48)(1,0,80)(1,1,48)LF頦0,2(1,0,48)(1,1,80)(1,0,48)(1,0,48)(1,-1,80)(1,0,48)Lh`,T(1,2,56)(1,0,16)(1,-2,8)(1,0,24)(1,-2,16)(1,0,24)(1,-2,16)(1,0,16)(1,-2,16)(1,0,32)Lf,S(1,0,56)(1,-2,16)(1,0,8)(1,-2,24)(1,0,16)(1,2,24)(1,0,16)(1,-2,16)(1,0,16)(1,2,32)L$ BADDIE DATA FOR SCREEN THREE$ ============================(0,(1,1,208)(1,-1,208)l&0,(1,0,208)(1,0,208)l6,"(1,0,48)(1,1,64)(1,0,48)(1,-1,64)l60,"(1,1,48)(1,0,64)(1,-1,48)(1,0,64)lT 0,@(1,2,24)(1,0,8)(1,2,16)(1,0,16)(1,-2,32)(1,0,8)(1,-2,8)(1,0,16)lT,@(1,0,24)(1,-2,8)(1,0,16)(1,-2,16)(1,0,32)(1,2,8)(1,0,8)(1,2,16)L" BADDIE DATA FOR SCREEN FOUR" ===========================(0,(1,2,104)(1,-2,104)l&,(1,0,104)(1,0,104)l6 @,"(1,2,72)(1,0,16)(1,-2,72)(1,0,16)l6%P,"(1,0,72)(1,2,16)(1,0,72)(1,-2,16)l&*0,(1,1,48)(1,-1,48)l$/,(1,0,48)(1,0,48)L"2 BADDIE DATA FOR SCREEN SIX"3 ==========================64,"(1,1,64)(1,0,32)(1,-1,64)(1,0,32)l69,"(1,0,64)(1,1,32)(1,0,64)(1,-1,32)L(>@,(1,2,114)(1,-2,114)l&CP,(1,0,114)(1,0,114)l(H ,(1,-2,114)(1,2,114)l&Mp,(1,0,114)(1,0,114)l$P BADDIE DATA FOR SCREEN SEVEN$Q ============================6R,"(1,0,32)(1,2,56)(1,0,32)(1,-2,56)l6W,"(1,2,32)(1,0,56)(1,-2,32)(1,0,56)l(\,(1,1,192)(1,-1,192)l&ap,(1,0,192)(1,0,192)l$d BADDIE DATA FOR SCREEN EIGSpPdPc"0\Ёӂ) I0> &oIp"ACDQ,I0f ؑ1m[„7č h#Î0a[w<b0>-$1},H3EYYAQOh޳Iہ I9)QY4 BH7N= Axÿ4Z&M A ~We$ZQy0k'vqdt]إjtpD\N#{ 3}2L!ݸ>7ӊ`TewHC?3$&YDћѼ½smP@O}S%7ҍyJmnnΥBa  Av$iwз ŧ- BP $iRFmҧLA-yZMZ$X󬧦Fʪ]R9N*?|BWN)>N*XON ?N(?<LNANV/<9N!XO/<:N!XO/<:4N!XOHn/<:UNPO nnJnm=n?./<:XN@\O0.H @S|?/<:uN@\O0.H @U`?/<:N@\O0.H @U?/<:N@\O0.H @S?/<:N@\O09Sn4.`@?/<;N@\O09Sp4.`@?/<;.N@\O09Sr4.`@?/<;YN@\O09St4.`@?/<;N@\O09Sv4.`@?/<;N@\O09Sx4.`@?/<;N@\O09Sz4.`@?/<< N@\O/<<6N@XOp?p?NMXO=@0.@=@0.@a @ bVH0@7 PN`D0.H @S| Pm0.H @S| Po/<N!XOp?N(TO?./.?9XN,POng/<>N!XOp?N(TO?9XN) TON^NuNV=|-|HBg/<>"N*\O3X @f/<>+N!XOp?N(TO?./.?9XN+ POng/<>9N!XOp?N(TO?9XN) TON^NuNV/<>GN@XOHn/<>\NPO nnl nmb?./<>_N@\O0.S@L//<>|N@PO0.S@.H//<>N@PO0.S@H @Rr?/<>N@\O0.S@H @R?/<>N@\O0.S@H @R?/<?N@\O0.S@H @U?/<?;N@\O0.S@H @T?/<?iN@\O/<?N@XOp?p?NMXO=@0.@a @bH0@7 PN nhf`p-?0.S@L//<?N f `p-?0.S@.H//<?`/<?N@XO0.S@HRr//<@NPO`|/<@ N@XO0.S@HR//<@0`/<@3N@XO0.S@HR//<@Y`/<@\N@XO0.S@HU//<@~`|/<@N@XO0.S@HT//<@`RN^NuNV/<@N@XOHn/<@NPO nn nm?./<@N@\O0.S@QF//<@N@PO0.S@.M//<@N@PO0.S@H @U8?/<AN@\O0.@H @T?/<A=N@\O/<AgN@XOp?p?NMXO=@0.@a @bH0@7 PN nef&`p-?0.S@QF//<AtN f `p-?0.S@.M//<A`/<AN@XO0.S@HU8//<ANPO`|/<AN@XO0.@HT//<A`N^NuNV/<AHnNrPO/<AHnNrPO/<AHnNrPO/<B HnNrPO/<BN@XO/<H/<B3N@PO/<H/<BUN@PO/<R/<BtN@PO/<S/<BN@PO/<S/<BN@PO/<S/<BN@PO/<T0/<BN@PO/9T/<C'N@PO09T @Hh/<CNN@PO/<T/<CN@PO/9T/<CN@PO09T @Hh/<CN@PO/<DN@XO/<T/<D#N@PO/<DBN@XO/<F yFNXO=@0.@a @bH0@8 PN`p-?/<H/<DON f `hp-?/<H/<Dk`p-?/<R/<D`p-?/<S/<D`p?/<S/<D`pO?/<S/<D`pO?/<T0/<D`/<EN@XO/<T/<E4N`JyTf p3T`ByT`p?/<T/<E8`2/<EaN@XO/<T/<E`JyTf p3T`vByT`lp-?/<T/<E`N^NuNVp?p?NMXOJgp?p?NMXO=@N^NuNV/<EN!XONXN t/<EN!XO/<EN!XO/<FN!XO/<F'N!XO/<FCN!XO/<F_N!XO/<FyN!XO/<FN!XOp?p?NMXO=@0.@=@0.@a @bfH0@8F PN`TN `JN"`@N `6N`,N^`"N(`N^NuNVHn/<FNPON^NuNVHn /.NPON^NuNVHn/.N4XO?/.N" Hn HnNPON^NuNVH Bn n X -P nRH> |82<`XHXW PN`Z/./.NXO<?N \O Ff`4/. n hNXO<Gg/.?N \O` nRH> @*fp`B@=@Jng nRH>Bn G0m( G9n"0. G@0=@ nRH>` Glfp`B@=@ Ghfp`B@=@JnfJng nRH>0 |8b2<`XHXW`/<G/<FN!PON2H`6Rnp `Rnp`RnBn` Rnp=@Hn?.?./.N -@JngJnfbJng n X P `Jn n X P0.0Rn`0RnHn?./.N -@-AJngJnfJng n X P .". !A` n X P .". `A-H nRH> @^fp`B@=@Jng nRH>JGg G]g nR` nBA-H/. n hNXO<`DJnfp=@/. n hNXO<-|F`/.NXO<-|Fp=@Jnf n X *PBn FgH?/.N2\OJfp`B@nf*RnJnfSnf|`/. n hNXO<` Fg/.?N \OJngJnf GcgPB`JJnf n(H@gp`0.L N^NuNVH>. <.BJFo F o| nBP/.NXO: E-fp`B@=@f E+f/. n hNXO: nRP n0FnPJGfL E0g~ `B/. n hNXO: nRP0Fn$ Exg~`~/. n hNXO: nRP n0Flf0@W8 @ l0@78 @ l0@08m D nGm Gf0Jf*0@x8f 6HHn0H/N1PO-@`z/.?N \OJng .` .DLN^NuNVH |KJn o n op =@ nBP n0n l/. n hNXO> |82<`XHXW PN`|JFfx nSP nRP`JFg Ff`RF` Fn(|`JFg Fg Ff|` Fm6 Fn0|` F` Fg Fg Ff|` Fg Ff|`/.?N \OBHnN-`XOL N^NuNV//. n hNXO> @ g G g G g0.N^NuNVHn/<FNPON^NuNVHn /.NPON^NuNVHn?</.N" Hn HnNPOHnBg nN\ON^NuNVH0-n n(PXH> @%gJGgf/.? n hN\O`p =@p=@p=@H> G-fp=@H>`Bn G0f p0=@H> G*f& nT=Plp=@0.D@=@H>`*Bn G0m G9n0. G@0=@H>` G.fJH> G*f nT=PH>`*Bn G0m G9n0. G@0=@H>` Glf&H> Gdg Gog Gug Gxf0@> `-@*@p=@0 |9l2<`XHXW PN`J nT=PJnl0.D@=@p-p ??./ NDPO*@`p ? nT?`p`p` n-PXJl .D-@p-p ?/./ N `p ? n// N *@X`p`p` n "(-@-AP/ ?././.?N(`RBn n-Pf-|9dX .-@*@JgJnm noS`(Bn nT0` n//.NPO`X ./0.Hї =@lBnJnfLJng0 n0f( n -f/. nRH? n hN\O0.SnJ@g /.?.` nd /. nRH? n hN\O`Jng0.SnJ@g/.?. n hN\O`L0N^NuNVH >. *NB%0<g"0H@H@B@H@ @9>`?Bg _9Jg nR` .L N^NuNVH0*n>.IB$p0//. N1tPO-@g$p0//. N1PO @9-n ` n 9Jg` L0N^NuNV/ *n #f&+| +|!lBm -;n0.`> %$f +| ` &f +|!` "f +|!@`p*_N^NuNV/ *n+|#+|#Bm -0-*_N^NuNV/ *n+|%$+|& ;@ o -;@ -0-*_N^NuNV/ *n+|&+|' Bm -0-*_N^NuNV/ *n+|"/N4XOD@;@ 0-*_N^NuNVH >.*n / mNXO/ ? mN\OL N^NuNVH0*n(n Jg/ H? lN\OR`L0N^NuNV/ *nJg/<FH? yG N\OR`/<Fp ? yG N\O*_N^NuNV/ *n .*+@+|"B-0. D@;@ m l;| +|"`+|"^ *_N^NuNV/ *n Sm lBm p` UR0.*_N^NuNV/ *n UR0.*_N^NuNV/ *nRm oBm p` URB@*_N^NuNV/ *nJf0-H@f?<N4rTO+@f+|&+|' `n-H@f2-H?N*`TOJ@gFf+|%$+|' -`&+|%$+|&-H?N#zTOHЭ*+@Bm *_N^NuNV/p?B?.N*PO. fB@`0H@.N^NuNV/ *n/ N"XO/ mNXO*_N^NuNVH >.*n / N"XO/ ? mN\OL N^NuNV/ *|G|Y MG,eJg/N$4XO`*_N^NuNVH *n-H@fp`@/ N$XO>-H?N) TOJg-H@f /-N4XOB-0L N^NuNVH *nBm -H@ff >o?/--H?N,POGf$JGm mAf -*+@`+UB@` 099H fBy9`-pL N^NuNVH *nRm o/ N$XOJ@f 'G f/<FN$XO -?/--H?N+ POD@;@ @f^099H fBy9`-Bm `F0- Rm m+H URB@>-H@ g G gL Gg 0`Jm f-pL N^NuNV/ *n 'G f/<FN$XOBm p?Hn-H?N+ PO @g4J@gP .f -H@ f< . f -H@ fB@.`(099H fBy9`-`-p*_N^NuNVH >.*n G f$-H@ g/ p ?N&\O @fp`0Sm l"/ N(@XOJ@f -S@;@ UR0L N^NuNVH >.*n G G f -H@ g/ p ?N' \O @g^Bm -H@fN/ N(@XOJ@f@p?Hn-H?N,PO @f0` 099H fBy9`-pL N^NuNVH >.*n G f$-H@ g/ p ?N'\O @fp`?NAXO/N->XO`B@N^NuNV/Bg/.pXO.N^NuNV/?.pE?NAXO>l0H/N->XO`"?.N,JTO=@m?.?N,XO0.N^NuNV/?.?. rF?NA\O>J@f(?.N,JTO=@m?.?. N,XO0. `0H/N->XO.N^NuNV?.N,JTO @Cfp`B@N^NuNV?.?./. pB?NA /N->XON^NuNV/?. /.p=?NAPO.m:0H.mpF?0?N,XO` m n0?N,TOH./N->XO.N^NuNVH ?.N,JTO @Cf|9H;H>9H:HHH:*@SnmSGldpQH:B9H;/<H:p ?NA\O>l0H`p ?p?p?NM\OpH:9H;H>9H:HHH:*@0Gp H: Ef~` n R RF E fn H:H:H;0`$/. 0.H/?.p??NA /N->XOL N^NuNV/. 0.H/?.p@?NA /N->XON^NuNVH >.0V@ @bH0@9 PN`*pP`&pA`"pC`JGm*yGSGmJfp`JgHL N^NuNVH >.JGm*yGSGmJfp` Jg0. L N^NuNVH >.0V@ @bHH0@9 PN*yGHGg Jfp`&R` G?N)TO`~C`~A`~P`pL N^NuNVJl .D39p` .N^NuNVH *nBB|BnB@=@=@H> G g G fR M` G+g G-fp=@R MH> G0mD G9n>/</HnN/2PO0@0?N0TO//HnN/R JngSF` G.fJnfp=@` Geg GEfbBnR MH> G+g G-fp=@R MH> G0m G9n0. =@0@0n`Jng 0.D@=@nJFo0SFJ@gT/</HnN/2PO`JFl<-|@-|0RFJ@l/</HnN/2PO`HnHnN/*POJng .". -@-A .".L N^NuB |5d` |5Z` |6J` |/H$H"o oN""LNu |5d` |5Z` |6J` |/H$H"oAN""LNu H@"HA4B|?4<68@g AgDgDgC|@e|b?H@HA()|zx)K)>HC(K(4ނF)JH@ނE(JHAނEHG4BHBBEHCCHCCD$HBHABHBBD4BHBBDBC$HBHABHBBC6AHAAkOVUT|e$JCk(2HA2|0H@0H@C_H@NuTrpNur Nur0/H`rp0/fNur /fNuj2<D|SAdHAQQQQQQQQQHAIH@AH@BANur /fNu"o`C"/jD$jDA`|J/j JgRJk`JjDNu"o`C"/$A`JNu"o`C$jD"/A`, g J/j Nu"o`C$"/A` NupJfpN∲cd⒒d҂dFN o"`"/ jD$/jDD$@A`" jDNu o"`"/ _$0"@0HAHBЁH@B@ЉNNVH ..|Jg 0FG "@GSF`|0FGJg 0RF0@GH?p?p?NM\O`p?N(TOLN^Nu o0/BAgJfBNu NuNVH8..P b d.</N4XO*@ Mg`JH6f&M #H#H`& yH6f QP&m`(yH6Q L&h)M Q@* Ѝ#H6(@Q LB)KL8N^NuNVH0~ .\S@,dB`ƙ*yH gr .gH g @є .*L(Mc2  d @*`* Ѝ#H yH X`dJg @Ѝ*@`*mHf g#HRyH09H @e SyH`X/N2XO/.N3XO*@SyH L0N^NuNVp0./N3XON^NuNVH .Y*@Jf4~0GHJg 0RG0@HH?p?p?NM\O`N(L N^Nu o"Jf S@NuNVH..Jl <`0Jf 9`$R @./pH?NA\O,g Ї# LN^NuNV0.H/N4XON^Nu g @` f ")Nu(f"(Nu"(*)tvRSb fdDECH@HD,<>@D@D||H@HDNO|gVCgFDfRFgFG|8exz`Q~ۇه҅фJCjJf0Jf,prNug&~ӇчRf <r`SggNHFHBNu/246C|?IJ8<DDDg$Dg,B|o"|n &g((zQ?/~>BCHC|p0")4)zJPQ||@HBBBz?<,O`?,<HFh|(HDCHC҃Eg`B@HC(8"8` SF҃@fe򒄑E8.ƔE8.HBDHB8HDEj SFԮ6ӃBCHCHA0HB2BBSnf~2HA2 H@\<`SFo.d|btNQH@_H@`p"|_H@`Tpr,_Nu80~$p  b  Hr0Z&DVhz"@TLV`jt~%^D\EFNlOdXv[Hcd`efnpohsxz> 8 8 8%^ n n n+-.0123456789Ee {NULL}DOUXcRd2efgozrdsujx~D0123456789ABCDEF,p,t,x-0-,-(.E Access Level Editor Enter Access level to edit [0-15]any other key Exits to Main Menu%dEEditing Access Level %d A >------------------------------------------------%d Invalid rateEnter new minutes per call 1-1440 ->%d Invalid rateEnter new minutes per day 1-1440 ->%d Invalid rateEnter new idle time in minutes 1-20 ->%d E-Mail Access [N] [y] Userlist Access [N] [y] Outside Access [N] [y] News Maint. Access [N] [y] System Maint. Access [N] [y] File Maint. Access [N] [y] NET-Mail Access [N] [y] string too long%sstar.conerror creatingerror writingstar.conerror openingerror readingEdit messege base # %dE EDITING Message base #%d A >--< Edit message base name now %s B >--< Edit message base pathname now %s C >--< Edit # of messages allowed now %d D >--< Edit high message # now %d E >--< Edit low message # now %d F >--< Edit Message base access level now %d G >--< Edit Subop User ID # now %d H >--< EXIT Enter New Message base name>Enter New Message base pathname>Enter # of messages allowed in message base >%dEnter high message # in message base >%dEnter low message # in message base >%dEnter message base access level >%dEnter Subop User ID# >%dEEdit UD # %dEEditing UD section #%d A >--< Edit UD section name now %s B >--< Edit UD section pathname now %s C >--< Edit UD section access level now %d D >--< Edit UD section subop ID # now %d E >--< EXIT Enter New UD section name>Enter New UD section pathname>Enter UD section access level >%dEnter Subop User ID# >%dPrinterDiskHayes Result codesHit ReturnEEditing system parameters A >--< Edit Default pathname >%s B >--< Edit Mail pathname >%s C >--< Edit Outside pathname >%s D >--< Edit Textfile pathname >%s E >--< Edit BBS NAME >%s F >--< Edit chat mode engaged string >%s G >--< Edit return from chat string >%s H >--< Edit # of calls to system >%ld I >--< Toggle baud rate detection type Now %s > J >--< Edit system ID string >%s K >--< Edit new user starting points >%ld L >--< Toggle system log to printer or disk Now %s > M >--< Edit default baud rate > N >--< Edit News pathname >%s O >--< EXIT Enter New Default pathname>Enter New Mail pathname>Enter New Outside pathname>Enter New Textfile pathname>Enter New BBS name>Enter New Chat mode engage string>Enter New Chat mode return string>Enter # of calls to system >%ldEnter New System ID String 2 characters>Enter new user starting points >%ldEnter New News pathname>Put system Disks in drivesE STar-NET configuration editor A >----< Reread system configurationB >----< Write system configurationC >----< Edit access levelsD >----< Edit message basesE >----< Edit U/D sectionF >----< Edit other system parametersG >----< Goodbye Leave Config EditorBad format in scanf ##!##!###FFGYou must compile with the -f option to include printf() floating pointGCCAP????????????????????????0123456789ABCDEFUser abort at 00000000 Bad pointer in free. L"20  $8    4 V 4 V 4 V 4 V 4 V 4 V 4 V6          *&    *&     "        :8 2$ .>` .NtjJFPBLD $  &>&  $$  .6*" .J0.$nBF\ @$@ (  .8*046 , 6&0&2> 0x  & < R  @J$  $B$Z 07HLVa:\a:\messages\a:\messages\a:\messages\a:\messages\a:\messages\a:\messages\a:\messages\GeneralST GamesSupporST UtilselpST ProgrammingPRIVATE Pita:\general\a:\games\d\a:\utils\d\A:\PROGS\d\A:\PRIVATE\ST GeneralST GamesPST UtilitiesaSt ProgrammingPRIVATE USEons-2a:\outside\A:\TEXT\11113:::::::::::::::11111::::::::::::::: 222239Atari ST User BBSHello how can I help?See ya! Press ReturnCNA:\NEWS\-<xxx<Zx`2l$*o m$m,B"HJgP"&J$YJf"Jg< Af Rf Gf Vf =f Jg#$B "&J$YJf"Jf&f2B "%EHB2 r ggSJ"g fB*`B" L#L.I+I/ #H//SA?/ / Bg?<JNA Jf.?<?<Nd>Nݲ?|BWNd>NݲXONf ?N&?<LNANVHBp ?NA\O.,8/p ?NA\O LN^NuNV y&fBy&p?p?p?p?p?p?p?NN3%Np3'p3'p?NtTOBy'By'NN^NuNV@p=@FBnDN y,%fN03%NRJ@gJnFg/<lNjXOBnFp?BgBgN8\O09%nDgp/@JpC@H=y%D.HH?.JH?/<HnLNd HnLNZXO?9%?9%HnNkPOHn.HH?.JH?/<HnLNdHnLNZXOp?p?NMXOJgp?p?NMXO-@@ ;@fBy&p3'` =@fz/</<NPOHnL/<NPOHnLNzXO@HnL/<HnNd BHn/<BgpK?NAN0/<lNjXO <@f6,MOVX$(M):,MOVY$(M)6@,AN$(M):():()$J()nJT():()^Њ move to the leftъ ****************RYY():TT#SCR(MAZ,M):TT䠩BƉB:C XX$MAZE(TT,B,C):,XX, ,XX,,,(C) C.,,,0,,,2 ,,,,,,:B:: R*MAZTT:,0,YY, ::()::XP3 :4 move to the right5 *****************R>YY():TT#SCR(MAZ,M):TTH:MB:C RXX$MAZE(TT,B,C):,XX, ,XX,,,(C) \C.f,,,@,,,2p,,,,,0,z:B::RMAZTT:,,YY, ::()::XP : move upwards ************RYY():TT#SCR(MAZ,M):TTB-C :ʺBXX$MAZE(TT,B,C):,XX, ,XX,,(B), B.ʐ,,,@,,,2Ԑ,,,@,,,޴:C::蠨R=MAZ=FTT:,@  ;@  ;@<  @߿ @߿ @߿ @߿?????????@@@@`?????????@@@@@@`????????@@@@@@@????????@@@@@@@ ?????????@ ????????@ ????????@ ???????@@??????? @@@```0 0??????@```  0?????@@@@@??????@@@@@` @  `  ?????@@@@@` `  ooooo ``3n nDnDnDffD~|xxxx|~3> k~$D~~`A,I$I$ր){v ?>`܀TTTg܀~|xxxx|~? $D`lll,w ??`3g~|xxxx|~?3>k~@HH(w{~??> $$'''$($*(*$''$** $$$'''''$($*$*(**0@0? ?` @!` p| ?P0?0@TT~~TTUUUUUTUTUUUU~~`mmm????{;{u {ffgff``yyIIIIIIIII0 mm????{;wy@{ll``s67s6IIIIIII$I$I$`mmm????{;{u {yy``ffgffIIIIIIIII 0mmm????{;}s{s67s6``llIIIIII$$$           ZHNYHA$ǖX AFFFLAGSC1wC0 X sp,"(speed, pixels to move, how many times)" It is always best to have a speed value of 1. The 'how many times' is literally how many times the sprite will move the designated number of pixels. For example: MOVE X 1,"(1,1,100)" - will move sprite 1, 1 pixel to the right a hundred times, giving the app. Sn.. S3D_02 S To BSS_01 S XrZCORE_01 S [s>'SYSTM_01S a3D_02 PRGdw* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 3D_02.s * * A PROGRAM TO CLIP AND FAST FILL A POLYGON TO A WINDOW (CLIP FRAME)* * DEFINED BY THE LIMITS STORED AT xmin, xmax, ymin and ymax. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * THIS IS THE PROGRAM YOU SHOULD ASSEMBLE. IT INCLUDES ALL THE OTHERS * SECTION TEXT opt d+ debugging info bra main don't run the includes include systm_01.s the housekeeping file include core_01.s and the subroutines main * initialization bsr init_LineA fetch the parameters pointer dc.w $a00a hide the mouse bsr find_screens find the two screen addresses bsr clear1 wipe them clean bsr clear2 clr.w screenflag 0 = draw on screen1; display screen2 bsr init_LineA fetch the parameters pointer * initialise the screens bsr clear1 * windowing with an widening clip frame loop_again: move.w #99,d5 y clip half range move.w #159,d6 x clip half range clp_loop1: * Set up the data move.w #12-1,d7 6 pairs of points for the vertices lea crds_in,a0 destination move.l a0,a3 ready for drawing lea my_data,a1 from here clp_loop0 move.w (a1)+,(a0)+ transfer dbra d7,clp_loop0 them all move.w #5,no_in 5 sides to this polygon move.w my_colour,colour set the colour * Set up the next clip frame move.w #199,ymax set sub.w d5,ymax the move.w d5,ymin clip move.w #319,xmax frame sub.w d6,xmax limits move.w d6,xmin movem.w d5/d6,-(sp) save clip frame tst.w screenflag screen1 or screen2? beq screen_1 draw on screen1, display screen2 bsr draw2_disp1 draw on screen2, display screen1 bsr clear2 first wipe it clean clr.w screenflag set the flag for next time bra screen_2 screen_1: bsr draw1_disp2 draw 1, display 2 bsr clear1 first wipe it clean move.w #1,screenflag and set for next time screen_2: bsr clip window it bsr poly_fil fill it movem.w (sp)+,d5/d6 restore clip frame subq.w #2,d6 else reduce dbf d5,clp_loop1 the clip frame bra loop_again repeat the cycle out clr.w -(sp) trap #1 * SECTION DATA include data_00.s * A pentagon my_data dc.w 20,100,200,20,300,80,260,180,140,180,20,100 * which is blue my_colour dc.w 4 * SECTION BSS include bss_01.s END of the PRINT stateme l rules and variables firmly in mind, its time for us to try a simple program to bring these ideas together. First, we shall introduce another BASIC keyword. The INPUT statement is used when BASIC needs to get some form of input from the user. It take the form of: INPUT "text, text, text",variable Af UT keyword, any text enclosed in quotation marks ( " and " ) will be printed to the screen, just like a PRINT statement. Text is optional in an INPUT statemen t, but it helps to let the user known what they are supposed to be doing when the machine seems to stop. The variable at the end of the statement is used to ho ld the user input. Like all variables, it must be unique and not begin with * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * bss_01.s * * A file of variables used in Part 2. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Polygon atributes crds_out ds.w 100 list of clipped coords. no_out ds.w 1 of which there are this many xmax ds.w 1 clip frame limit xmin ds.w 1 ditto ymin ds.w 1 ditto ymax ds.w 1 ditto * screen parameters screen1 ds.l 1 location of screen 1 screen2 ds.l 2 ditto 2 screenflag ds.w 1 0 for screen1, 1 for screen2 include bss_00.s . When the program is safely stored on disk, RUN it and see what happens. Follow the on screen prompts to see the result. Even a program as simple and straightforward as this can be shortened. For example, line 40 can be changed to: 40 PRINT "Total = ";oranges + lemons This chang o the program means that line 30 has become redundant, as the addition part of the sum is now included in the final line. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * core_01.s * * Program core for Part 2. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * A version of the Sutherland-Hodgman clipping algorithm. * It goes round the polygon clipping it against one boundary at * a time; it goes round four times in all. * regs: * a0(crds_in),a1(crds_out).a2(no_out),a3((saved) crds_out) * d1(x1),d2(y1),d3(x2),d4(y2),d5(saved x2), d6(saved y2) * d0(current limit) clip: * first clip against xmin bsr clip_ld1 set up pointers tst.w d7 any sides to clip? beq clip_end quit if none * do 1st point as a special case move.w (a0)+,d5 1st x move.w (a0)+,d6 1st y move.w xmin,d0 this limit cmp.w d0,d5 test(x1-xmin) bge xmin_save inside limit bra xmin_update outside limit * do successive vertices in turn xmin_next: move.w (a0)+,d3 x2 move.w (a0)+,d4 y2 move d3,d5 save x2 move d4,d6 save y2 * now test for position sub.w d0,d3 x2-xmin bge xmin_x2in x2 is in * x2 is outside, where is x1? sub.w d0,d1 x1-xmin blt xmin_update both x2 and x1 are out * x2 is out but x1 is in so find intersection, * needs dx1(+ve) in d1, dx2(-ve) in d3, y1 in d2 and y2 in d4 * finds the y-intercept and save it bsr y_intercept * but because its out, don't save x2 bra xmin_update xmin_x2in: * x2 is in but where is x1? sub.w d0,d1 x1-xmin bge xmin_save both x1 and x2 are in * x2 is in but x1 is out so find intercept * but must have the -ve one in d3, so switch exg d1,d3 exg d2,d4 bsr y_intercept xmin_save: move.w d5,(a1)+ save x move.w d6,(a1)+ save y addq.w #1,(a2) inc count xmin_update: move d5,d1 x1:=x2 move d6,d2 y1:=y2 dbf d7,xmin_next * the last point must be the same as the first movea.l a3,a4 pointer to first x subq #4,a1 point to last x cmpm.l (a4)+,(a1)+ check 1st and last x and y beq xmin_dec already the same move.l (a3),(a1) move first to last bra clip_xmax xmin_dec: tst.w (a2) if c. 7u.. 7ETRIS DOCBv TETRIS PRGE1TETRIS RSCIETRIS1 PI3"}ETRIS2 PI3 "} STOS TYPING TUTOR Written by Richard Gale ( aged 17 ) in STOS Basic This program will work on any Atari ST computer and in interpreted mode will work in any resolution ( low, medium, or high ). Compiled it will work in either low and high resolution, or medium and high resolution depending on the compiler options. On the disk should be the following files : TYPING.PRG - compiled version TYPING.ACB - accessory version TYPING.BAS - basic version LETTERS.LSN - lesson data MANUAL.DOC Load the program normally from the desktop, double-click as usual on 'TYPING.PRG'. It can also be made to autorun by placing it in an auto folder. When the program has loaded a message will be displayed showing that data is loading, at this point 'LETTERS.LSN' is being loaded into memory. The main menu will then be displayed, as show below: Main Menu 1. Start Lesson 2. Practice typing 3. Type a document 4. Keyboard test 5. Credits 6. Options 7. Exit To select an option press the appropriate number key. 1. Start Lesson If there is not a lesson in memory then a warning will appear informing that a lesson should be loaded using the 'Load lesson' option. If a lesson is in memory a screen will be shown with the current lesson, and the text which you have to type. eg. Lesson : 001 Press 'Escape' to finish. this is a quick test. a b c d e f g h i j k l m n o p q r s t u v w x y stos basic the game creator... As you type you text will appear underneath the original text, what you type will have to match exactly the original in order to have an accuracy of 100%. At the end of each lineount beq clip_xmax is not already zero subq.w #1,(a2) reduce it clip_xmax: * Now clip against xmax. Essentially the same as above except that * the order of subtraction is reversed so that the same subroutine * can be used to find the intercept. bsr clip_ld2 set up pointers tst.w d7 any to do? beq clip_ymin no * do 1st point as a special case move.w (a0)+,d5 1st x move.w (a0)+,d6 1st y move.w xmax,d0 cmp.w d5,d0 test(xmax-x1) bge xmax_save inside limit bra xmax_update outside limit * do successive vertices in turn xmax_next: move.w (a0)+,d3 x2 move.w (a0)+,d4 y2 move d3,d5 save x2 move d4,d6 save y2 * now test for position sub.w d0,d3 neg.w d3 xmax-x2 bge xmax_x2in x2 is in * x2 is outside, where is x1? sub.w d0,d1 neg.w d1 xmax-x1 blt xmax_update both x2 and x1 are out * x2 is out but x1 is in so find intersection * needs dx1(+ve) in d1, dx2(-ve) in d3, y1 in d2 and y2 in d4 * find the intercept and save it bsr y_intercept * but because its out, don't save x2 bra xmax_update xmax_x2in: * x2 is in but where is x1? sub.w d0,d1 neg.w d1 xmax-x1 bge xmax_save both x1 and x2 are in * x2 is in but x1 is out so find intercept * but must have the -ve one in d3, so switch exg d1,d3 exg d2,d4 bsr y_intercept xmax_save: move.w d5,(a1)+ save x move.w d6,(a1)+ save y addq.w #1,(a2) inc count xmax_update: move d5,d1 x1:=x2 move d6,d2 y1:=y2 dbf d7,xmax_next * the last point must be the same as the first movea.l a3,a4 pointer to first x subq #4,a1 point to last x cmpm.l (a4)+,(a1)+ check 1st and last x and y beq xmax_dec already the same move.l (a3),(a1) move first to last bra clip_ymin xmax_dec: tst.w (a2) if count beq clip_ymin is not already zero subq.w #1,(a2) reduce it clip_ymin: * clip against ymin bsr clip_ld1 set up pointers tst.w d7 any to do? beq clip_ymax no * do 1st point as a special case move.w (a0)+,d5 1st x move.w (a0)+,d6 1st y move.w ymin,d0 this limit cmp.w d0,d6 test(y1-ymin) bge ymin_save inside limit bra ymin_update outside limit * do successive vertices in turn ymin_next: move.w (a0)+,d3 x2 move.w (a0)+,d4 y2 move d3,d5 save x2 move d4,d6 save x1 * now test for position sub.w d0,d4 y2-xmin bge ymin_y2in y2 is in * y2 is outside, where is y1? sub.w d0,d2 y1-xmin blt ymin_update both y2 and y1 are out * y2 is out but y1 is in so find intersection * needs x1 in d1, x2 in d3, dy1 in d2 and dy2 in d4 * find the intercept and save it bsr x_intercept * but because its out, don't save y2 bra ymin_update ymin_y2in: * y2 is in but where is y1? sub.w d0,d2 y1-ymin bge ymin_save both y1 and y2 are in * y2 is in but y1 is out so find intercept * but must have the -ve one in d4, so switch exg d1,d3 exg d2,d4 bsr x_intercept ymin_save: move.w d5,(a1)+ save x move.w d6,(a1)+ save y addq.w #1,(a2) inc no ymin_update: move d5,d1 x1:=x2 move d6,d2 y1:=y2 dbf d7,ymin_next * the last point must be the same as the first movea.l a3,a4 pointer to first x subq #4,a1 point to last x cmpm.l (a4)+,(a1)+ check 1st and last x and y beq ymin_dec already the same move.l (a3),(a1) move first to last bra clip_ymax ymin_dec: tst.w (a2) if count beq clip_ymax is not already zero subq.w #1,(a2) reduce it clip_ymax: * Now clip against ymax. Essentially the same as above except * the order of subtraction has been reversed so that the * same subroutine can be used. bsr clip_ld2 set up pointers tst.w d7 any to do? beq clip_end no * do 1st point as a special case move.w (a0)+,d5 1st x move.w (a0)+,d6 1st y move.w ymax,d0 cmp.w d6,d0 test(ymax-y1) bge ymax_save inside limit bra ymax_update outside limit * do successive vertices in turn ymax_next: move.w (a0)+,d3 x2 move.w (a0)+,d4 y2 move d3,d5 save x2 move d4,d6 save y2 * now test for position sub.w d0,d4 neg.w d4 ymax-y2 bge ymax_y2in y2 is in * y2 is outside, where is y1? sub.w d0,d2 neg.w d2 ymax-y1 blt ymax_update both x2 and x1 are out * y2 is out but y1 is in so find intersection * needs x1 in d1, x2 in d3, dy1(+ve) in d3 and dy2(-ve) in d4 * find the intercept and save it bsr x_intercept * but because its out, don't save y2 bra ymax_update ymax_y2in: * y2 is in but where is y1 sub.w d0,d2 neg.w d2 ymax-y1 bge ymax_save both y1 and y2 are in * y2 is in but y1 is out so find intercept * but must have the -ve one in d4, so switch exg d1,d3 exg d2,d4 bsr x_intercept ymax_save: move.w d5,(a1)+ save x move.w d6,(a1)+ save y addq.w #1,(a2) inc no ymax_update: move d5,d1 x1:=x2 move d6,d2 y1:=y2 dbf d7,ymax_next * the last point must be the same as the first movea.l a3,a4 pointer to first x subq #4,a1 point to last x cmpm.l (a4)+,(a1)+ check 1st and last x and y beq ymax_dec already the same move.l (a3),(a1) move first to last bra clip_end ymax_dec: tst.w (a2) if count beq clip_end is not alredy zero subq.w #1,(a2) reduce it clip_end: rts clip_ld1: * first set up the pointers for the first and third passes lea crds_in,a0 pointer to vertex coords. before clip lea crds_out,a1 and after the this clip move.l a1,a3 saved move.w no_in,d7 this many sides before lea no_out,a2 where the number after is stored clr.w no_out rts clip_ld2: * set up the pointers for the second and fourth passes * ensures the final output is at the same place as initial input lea crds_out,a0 pointer to vertex coords before clip lea crds_in,a1 and after this clip move.l a1,a3 saved move.w no_out,d7 this many sides before lea no_in,a2 where the number after is stored clr.w no_in rts y_intercept: * Find the y-intercept on the clipping boundary x = k of the * line joining p1(x1,y1) to p2(x2,y2). * entry: * d1: (x1-k) - a positive number * d3: (x2-k) - a negative number * d2: y1, d4: y2 tst.w d1 point on boundary beq yint_out already saved tst.w d3 point on boundary beq yint_out will be saved movem d5/d6,-(sp) save x2, y2 yint_in move.w d2,d6 y1 add.w d4,d6 y1+y2 asr.w #1,d6 (y1+y2)/2 = , a possible intercept move d1,d5 dx1 add.w d3,d5 dx1+dx2 asr.w #1,d5 ()/2 = beq yint_end if /2=0, boundary reached bgt yint_loop if not loop again move d5,d3 unless is -ve, and becomes new dx2 move d6,d4 and is new y2 bra yint_in and try again yint_loop: move d5,d1 is new dx1 move d6,d2 is new y1 bra yint_in yint_end: move.w d0,(a1)+ store x boundary move.w d6,(a1)+ and as the coords of a new vertex addq.w #1,(a2) and increment the vertex count movem (sp)+,d5/d6 restore regs yint_out: rts x_intercept: * Finds the x-intercept on the clipping boundary y = k of the * line joining p1(x1,y1) to p2(x2,y2) * entry: * d1: x1, d3: x2 * d2: (y1-k) - a positive number * d4: (y2-k) - a negative number * tst.w d2 point on boundary beq xint_out already saved tst.w d4 point on boundary beq xint_out wil be saved movem d5/d6,-(sp) save x2, y2 xint_in move d1,d5 x1 add.w d3,d5 x1+x2 asr.w #1,d5 ()/2 = a possible intercept move d2,d6 dy1 add.w d4,d6 dy1+dy2 asr.w #1,d6 (dy1+dy2)/2 = beq xint_end if = 0, boundary reached bgt xint_loop if not loop again move d6,d4 unless is -ve and becomes dy2 move d5,d3 and becomes x2 bra xint_in and try again xint_loop: move d5,d1 is new dx1 move d6,d2 and is new dy1 bra xint_in xint_end: move.w d5,(a1)+ store intercept move.w d0,(a1)+ and the boundary y as new vertex coords addq.w #1,(a2) and increment the vertex count movem (sp)+,d5/d6 restore regs xint_out rts next vertex * leaves with: * a list of vertex coordinates at coords_in * the number of polygon sides at no_in. include core_00.s add on the previous core clude a stamped addressed envelope. No SAE, no disk. Mathew Lodge "Programmer's Clinic" "Maen Melin" Holmes Chapel Road Lach Dennis Northwich Cheshire CW9 7SZ =L:Z7kU@qb* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * systm_01.s * * Calls to the Operating System * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * find the screen addresses find_screens: move.w #2,-(sp) xbios _physbase trap #14 xbios call addq.w #2,sp tidy stack * the physical screen base address is returned in d0 and saved move.l d0,screen2 as screen2 * calculate the address of the logical screen and save it sub.l #$8000,d0 another 32k screen to draw on move.l d0,screen1 called screen1 rts draw1_disp2: * DRAW ON SCREEN 1, DISPLAY SCREEN 2 (AT VBLNK) move.w #-1,-(sp) ignore resolution move.l screen2,-(sp) display 2 move.l screen1,-(sp) draw on 1 move.w #5,-(sp) xbios_setscreen trap #14 add.l #12,sp tidy * lea scrn1_tbl,a0 tell the program * move.l a0,screen * wait for it move.w #$25,-(sp) xbios wait for vblank trap #14 addq.l #2,sp trap 14 rts draw2_disp1: * DRAW ON SCREEN 2, DISPLAY SCREEN 1 move.w #-1,-(sp) ignore resolution move.l screen1,-(sp) display 2 move.l screen2,-(sp) draw on 1 move.w #5,-(sp) xbios_setscreen trap #14 add.l #12,sp tidy * lea scrn2_tbl,a0 tell the program * move.l a0,screen * wait for it move.w #$25,-(sp) trap #14 addq.l #2,sp rts * CLEAR SCREEN 1 (by wiping out 10 long words at a time) clear1 move.l screen1,a3 screen1 base adda.l #32000,a3 point to top move.w #799,d7 moveq.l #0,d0 move.l d0,d1 move.l d1,d2 move.l d2,d3 move.l d3,d4 move.l d4,d5 move.l d5,d6 movea.l d6,a0 movea.l a0,a1 movea.l a1,a2 clr1_1 movem.l d0-d6/a0-a2,-(a3) dbf d7,clr1_1 rts * CLEAR SCREEN 2 clear2 move.l screen2,a3 screen 2 base adda.l #32000,a3 move.w #799,d7 moveq.l #0,d0 move.l d0,d1 move.l d1,d2 move.l d2,d3 move.l d3,d4 move.l d4,d5 move.l d5,d6 movea.l d6,a0 movea.l a0,a1 movea.l a1,a2 clr2_1 movem.l d0-d6/a0-a2,-(a3) dbf d7,clr2_1 rts and ` N`?<NNTO##Nu?<p"$&(*, F"H$IHQNu&y}><p"$&(*, F"H$IHQNuaJGg:<09@l0`268:<@l@ma`@l CDa22RR24Q(KYIg"` JRgSRaxJGgl:<09El6`868:<@DCl@DAm ad`@DAl CDaP22RR24Q(KYIg"` JRgSRaJGgf:<09@l0`268:<@l@ma4`@l CDa"22RR24Q(KYIg"` JRgSRaJGgl:<09Fl6`868:<@DDl@DBm a`@DBl CDa22RR24Q(KYIg"` JRgSRNuA C&I>9 EByNuAC &I>9E By NuJAg:JCg4H<DF:CEgn 68`24`22RRL`NuJBg:JDg4H:CE<DFgn 86`24`22RRL`Nu>9 gnG SG:<BFETJ0246YKEl:Al<ˍ͎BD|AgnBCUJAI@gfnDFDBBn.:SEC8DBBD4FJDk 4B`CQ`4:SEB8DCCD4XJJDkFC`B4Q` 4XJQˍ͎QHCE>g6M89 y BhBhBhBhLd1|Ld1|Ld1|Ld1|Bh$E!J.1|21|4SC1C(Rh(42Bo1B&1A*HLQNu# Nua a(aaByaaz:<c<<>< A &HC0Q3 3 3y33?y3HJygaa8By`aa3aHaL`UFQn`bBgNAd,PdASCENDCLEAR1lCLEAR2CLIPCLIP_ENDCLIP_LD1CLIP_LD2CLIP_XMA6CLIP_YMACLIP_YMICLP_LOOPCLP_LOOPCLR1_1CLR2_1COLOUR CRDS_IN CRDS_OUTDRAW1_DI DRAW2_DIFFILBUF1jFILBUF3FILBUF5FILLFILXBUFRFIL_ENDFIND_SCRHISLOPEINC_XINC_YINIT_LINLINEA_BA LOG_SCRE LOOP_AGAMAINMY_COLOUMY_DATANEXT_LIN NEXT_POL$NEXT_XNEXT_Y NO_IN NO_OUTNO_STKOUTPHYS_SCR PLNE_1`PLNE_2lPLNE_3xPLN_OUTPOLY2POLY4POLY_FILRPOS_SLOPSAME_XSCREEN SCREEN1SCREEN2SCREENFLSCREEN_1nSCREEN_2~VERTICALXBUFXINT_ENDFXINT_IN"XINT_LOO>XINT_OUTPXMAXXMAX_DECXMAX_NEXTXMAX_SAVXMAX_UPDXMAX_X2ItXMINXMIN_DEC.XMIN_NEXXMIN_SAVXMIN_UPDXMIN_X2IX_INTERCYINT_ENDYINT_INYINT_LOOYINT_OUTYMAXYMAX_DECYMAX_NEX6YMAX_SAVfYMAX_UPDlYMAX_Y2IVYMINYMIN_DECYMIN_NEXYMIN_SAVYMIN_UPDYMIN_Y2IY_INTERCY_LIMITS  .JnDgJn>fN=@:p3%|HnLNzXO=@@ n@o>p=@D0.Dn@g2 ND(LH=@80n8#-H@fBn:RnD`Bn:Jy%|fNJn:fHHnLN6XO=@B y&gR nBg$?.B/<j/<HnLNdp=@: y&g n:fHnLNXO=@: y&fh`Np3%N\N"#%r-|4p<-@009H @p0-@,Hn4Hn,/.0NPO/NPOй%r#%vN\NXN\p8@p @.H?.H?/<N2POp?N,TORyNRdBy&/</< HnNd p?HnN\O y&gp*?NATO=@>0.>yPgByTRyT09H @09TPo(p?/<N\Op?/<>N\O`09H @0yT=@>?.>/<RHnNd N\p?HnN\OJy\fNJyZfNeN\N"ZN\N\N0N^NuNVp?BgBgN8\O?9%?9%HnNkPO?9%?9%?9%HnNmd Bg/<pN\Op?HnN\ON\Bg/<~N\Op?HnN\ON\N"-@ 9%v-@p @g&?</.?.>N޶PO?.>NܶTOBn:`p?/<N\Op=@:p=@8Jn:f Bn< n @g&?</.n?.>N޶PO?.>NܶTOBn:`p?/<N\Op=@: y&gxHnp?/<BgN y&gR.H=@6 nZ6on 60.6 |^2<`XHXW PN` nfBn< n @g$?</.n?.>NPO?.>NܶTO`p?/<N\O`JngHnp?/<(BgN y&gHnN6XOJ@f p?/<:`Hn4/<HHnNŰ 0.4S@=@4Jn4m n4op?/<K`n0.40 @Jh@fp?/<Y`NBn2p=@0Jn0gp?/<jN\Op?/<tN\Op?/<N\Op?/<N\Op?/<N\O y&gHnp?/<BgN y&g.H=@20.2@0 @bTH0@J PN`Bp?HnrN\O=@> @g"?</.n?.>NPO?.>NܶTO`p?/<N\OBn0`0.40 @Bh@`0.40 @HhBp?/<BgN y&f`0.40 @Hh\p ?/<`Hnp?/< BgN y&gHnN6XOJ@gHn./<!HnNŰ Jn.m n.n0.40 @1n.n`p?/<$N\Op?/<WN\OBn< np49h=@09 nng0.H @09%PfHnp?/<)BgN y&gB0.R@?Hn0..z~//<9HnNdp?BgHn?<NT6 By% y&f`p49h=@09 nng0.H @09%PfFHnp?/<ABgN y&g0.R@?Hn0..z~//<QHnNdHnNXO`By%~0.R@?0.H @V0R@?0..z~//<YHnNdBgBgHnp>> TURBO-C <<<< for ATARI-ST Release 1 (C) 88 Borland International G#0JJ$VH30N k  Ј<.@// ?<?<JNAO pBAA4|`g |`.gg4TB|"O4SBQBt SAe!dB)SAe !eHiR@`/ R@Hzd"k, ON 8? 9+g @N 9+g @NN&?<LNAH BC8E+`"p*2AA5t?02N $TORD|mv BD`"p*2AA5t?02N $TORD|mxBC`"p*2AA5t?02N $TORC| mLNuH vNN8zE+`HBF`>NN>J@g[@nJCoZGBgt20N $TOp*2AA54DB6RFFnSEpy0hS@@nLNuH<8BCE-lG0PIK-`>20HA@4JB2IA4rmBg2??0-0_r24N $TORC|mL<NuH8E- G-l0m,BC`"BB20HA@2IA2303N RC|mBCI0V`"t20HA@2IA2303N RC|m4LNu/ E0\ j lB@` 0*H S@42*@o4 R o4 0jg@2*| bA2;N ,8DP\htBAp Nh`jBAp Nh`^BAp Nh`RBAp Nh`FBApNh`:BApNh`.BApNh`"BApNh`BApNh` BApNh0| b@0;N ,8DP\htrp Nh`jrp Nh`^rp Nh`Rrp Nh`FrpNh`:rpNh`.rpNh`"rpNh`rpNh` rpNh5R$_Nu?]O62I@AA-l00@AN! 0|bz@0;N*8FTbrAp N`RrApN`DrAp!N`6rAp"N`(rAp#N`rAp$N` rAp%N\O6Nu/ E0V5R2*0HA@A-lRp@3-3-BjNN4_@gpNN0*g0*NJ@f A-"N!T$_Nu/ / ]OE0ZG-2JAgSAgB`0Ro2* f4* f40* f 2* f4Rfd0AN! rAp0N`L j fpj2*AAT@S`pk2*AAT@S0AN! rAp1N\O&_$_NuH0]OBCE+G0j`np2`t*8DD r gB@RA| oJ@gDRSx`BgBB20N $TORD| oBAp2N"x`Bgt20N $TORD| oBAp2N"x`BgBB20N $TORD| oBAp2N"x`Bgt20N $TORD| oBAp2N"x` BgBB20N $TOp*2AABrRD| ozC`^x`Rp*2AA42g@Bg02BBN $TOp*2AABrBgtrE0N $TOp*2AA5RD| oSEJEl0AN! rApNRC|m\OL 8NuH>O?@M+6.G>I0T:,2,f4fW@g og~0/J@gS@gS@gS@g`SC`RC`RW` pE|:BGK-lE`0<42IBA0H@4JB0uuJ@o | lJFmt*2AA v f ofBD`X20HA@4JB2IA?0.0_u4<NBF2IA4JB?<0_uJFmr*4BB=RD|m SfA-8N!Tp`x0NTRl0, JN! r Jp'NNp`LRG|mB@N0/J@gS@gS@gS@g`Sn`Rn`RS`pl|9@pN|B@O L|NuH0*NRj0*AN! rAp'NN`pNDS@gS@g`:`pNNFNp0gN0-g NNr0<N#N"0*N"OL,Nu?/ O6BWt@J?BBopAH?@ rW?Ato?B ro?Ato ?BG/N2/g&/`&/bHy/:"KA/ /JCfr`r090p _"_N!XOO&_6NuHO6>4942H…y4.8D@LD?B?|0944Hy404BAJB?@ r W?Ax o?D r o?Ax o ?DG/N&/bHy/:"KA/ /JCfr`r090p _"_N!XOOLNu?/ O6BWt@J?BBopAH?@ rW?Ato?B ro?Ato ?BG/N&/Hy/:"KA/ /JCfr`r090p _"_N!XOO&_6Nu?6|#Hgnn|5gn2|2gn|g|g`|3g֐|g`| 8gn|6g|g`ʐ| 9g|g`|9 gPn*|%kgjn|#hgL|gZ`|&LgF| g@`|Hg@|g&|g*|g8`h3-`^A/N!T`PB@N`FpN`J@g4`NpN.J@g4`>pNJ@g4`.pNJ@g4`pNJ@g4`pNJ@g4 p NJ@g 30b`30bE0hpNJ@gBR`>pNJ@g4`.pNJ@g4`pNJ@g4 `pNJ@g4 $_NuA4""P1i1i 0<h| 1@3@2<h H1A"P3Aph1@ 4(h |H1B"P1id1ifNu?/ 6E4,??*?*?*??*4*2*B@N#O ??*?*4*r0 jN#2\O$_6Nu/ E4,??*?*?*BgBg4<2<@pN#O ??*?*?*??*4*2*pN#O $_NuH>E4,GIKMp?Bg???4BA Vp+N#VO p?Bg???4BA Vp6N#VO p?Bg???4BA Vp7N#VO p?????4BA Vp N#VO p?Bg???4BA Vp N#VO p?Bg???4BA Vp N#VO p?Bg???4BA Vp N#VO p?Bg???4BA VpN#VO p?Bg???4BA VpN#VO p?Bg???4BA VpN#VO p?Bg???4BA VpN#VO p?Bg???4BA VpN#VO p?Bg???4BA VpN#VO p?Bg???4BA Vp N#VO p?????4BA VpN#VO p?Bg???4BA VpN#VO p?Bg???4BA VpN#VO p?Bg???4BA VpN#VO p?Bg???4BA VpN#VO L|NuH86(H8E4"4B@J"R q &P K"LN'0@CH R"p 3D?* ?*?*4*r R0N#2\OLNu?r0<N#B@ y4"N#6r0<N#|5fBy0dBy0fRy-`N090hgN6Nu]ON^J@gBBB2946 <N&rAr0946N&40946N&FCA/N'J@fBy0Z`AN&3/30Z\ONu]O090Zy/oVN^J@fA/N!T`>090ZAN! BB2946 <N&rAr0946N&R0946N&F\ONuB@A0N&d346lB@NupNu#b0lNu/ A48"HE|B@`"JlP"R@|m$H`"JlP"R@|7m#70$_NuH A48"!Apv`44JCJCH…7HB8L!@"A Jlм;8L"0@RC|7m$HBC` rN*$RC|7mNHNDN@LNu 90nN.S0 90A4800NuH0B@A+C5EG`nrt` v*8DDJp0f6Cq0o210RB| o4B r fBC`4B62 H4J' t@`6C820H6Kٳ0SBBoR@|mL Nu?/ B@A5C5` 2ABpR@|mrE+`B4B3 B@`,t*6CC42 g6C q0f30`4BRp R@|mRA| o$_6NuH vN|NBDE5<`$p 2ArtDH2I"2N*FրRD|m LNuH UO<6>:/BWE-l`BD`40HF@2IA4JB2ro??00_r2tNzRD|m0/ f BA0<N"BD`40HF@2IA4JB2ro??00_r2BBNzRD|m0/ f BA0<N"RW WmXTOLNuH0YO:?A>8/$BCE-lG+`H0HE@2IA4JB>/r<rJFm Bg02tN $TOp*2AA7RC|mXOL Nu?]O6}oC0 AN'` 0AN! rAp0N\O6NuHA7C+J@f6BC`(BD`p*:EEz*<FF3PRD|mRC| m`BC`$BD`p*:EE|*E1`RD|mRC| m8`r6`p*:EE qgBARC| oJAgVr`p*:EEBqRA| opD`2r`&z*<FF:1Pg|*:EEBq`3`RA| oS@J@lRDDl~LxNuH0YO?A8/$BWE-lG+Jo&gBE`|6K@C<NF<NF?6/<r`2I@A<NF<NF?2<r`|mB| nGG<3`f"~*<FF>3pg>RE|m<fB@`dBE`X6K@C<NF>OG?6/<r`2I@A<NFG?2<r`|*>GG7&`Qo2Pl0RE|mpXOL NuH0O><?BE4G6BCp??/,"K J0NXOJ@gx0A+`*x:`r*4BB20fBD`RE| oJDgvR@SoJCg 42pNXN.JCg 42B@NDBg?/,"K J4/ 20N6XO ` <O L NuHUO>8/BCA-lC+`P2I@A:ME:ME:p?2<p`JAm&|m| n|l|*>GG<1`gB@` RC|mpTOLNu?B@A5`BA`t*6CCBp RA|mR@| m6NuH<68:/>/[AfRBgƸ|m¶|m| nA5phr*4BBpfphp?024NTOJ@gz??tD20NXOJ@fH??4rC0NpXOJ@f2??4rC0NZXOJ@f?pE|?420N>XOJ@gJGgp??420N XOp`B@LNuHO8/|>z`tBF`fBG`Z?420NvTO&l&NBg?420NXOJ@g/C?E?F>JDg |f|g|g|gRG|mRF|mRE| o WfB@`X /NN8p??/4/2/0NTXO090dgBg?/4/2/0NXO`?4/2/0NTOpO LNuH $HBDN(6SC`2@H0@0RDSCDnLNu// $H2lD@BB6HÇ HC<0 RB6HÇ 0nJAl- RBB2 JN$_&Nu/ O8&HBC0&AN':"KAN':C0,AN':r0<N#ApN#r0<N#O&_Nu/A91|1|!I!o1A"_A00000000A9rm`A9BhBhr`A9BhBhre`r39/ C92dBi3| Cp 2Q"<"vpsNB _09ANAXONu//??<@NAO Nu?/?<=NAPONu??/?<BNAO Nu#?#?NN$y? y?N/ G? g/ &S?<INA\O`G? g/ &S?<INA\O`&_Nu??B@ChgJ1kB@BA< CR(<-Wg<+fg"1bAg1b @8@@D`JgD@86Nu JgJgJgJgJg JgJgJfSHggggg ggf @NugHf8g@f0g8f(g0f g(fg fgfgg!epNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNu@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNu"@$jDJjD$HBJBf.$HBJBfB@H@$ jDNuB@H@HB0B@H@$ jDNu A"B@H@HABAtҁрdЈӁрQ$ jDNuXEYour in deep trouble! | | Game over!High score:Evaluation:TETRIS.RSCժUUը@@@@@@@@@@@@| | Continue ?Fatal: | | No resource file-----Couldn't write highscore !TETRIS.RSC99999[1][ ][ OK ]9:F;F B @@ * $T h n&,    T @  Z   : \     6 Vp$ "(*.         @V" f"*:6,66 Jlb~F~  6   j& *  * 3`~b (0@/`N/(-QtKqfypg[4 X0P?;<?X?7@`4T VpAq`d4AD,Q '%DAFiV080'`G; || ZX @ Y A `hȴbg@7t0@C{fx Ǐ.0" %o8x0A(Z2)Q@}A?d!ty\=A>K'?G )7 2 ><>^!H3 Q8 +w Ĉߞ?c@!s. (h|4Xze : Lll$l L9  0 1 2 3 4 8 9 5 6 7 AdvancedLevel: 10 0 4 7 13 Rows:__________Your score:Lines:9071_______________High score:___________Statistics:________________________________________________________-----------_________Total:QUITHELPROBOTPLAY TETRIS  R R  R R ????????? H/K)JR)JR/K H?????????? H/K)JR)JR/K H????????? R R ? H/K)JP)JP/K H?????????? H/K)JP)JP/K H? R R ???????? P P ? H/K)JR)JR/K H?????????? H/K)JR)JR/K H?l0(0(<0(\0(|0( 0(,60 (x~  $)7<A42      <  8   H D  @ 4  ,  0   $   (  L      U \ i e a m   r ( 1    0    r 4&3 #  ! "  # $ % 6 / R  3 n) L * n,  8Z - .     2*  V  : '  C58 ,6J% 7O +T 4 _   hߛSnlq?'G>Uys4GTzud;\޿w;~icVwӖ|_iz L S & BBHVhr` vXbq"0)n֙h0€@9$ dK.P&i%TRYVeNnZ^%^ fMf٥Lfh¹h9{~)'hJy(u"(Tȣ? )iY#?vY[F䐔xiV*裆&zn(t i*⺫;"2:[|6.m5}뭷W[w; WF0U}& ovUuWqkn쒧?lr¡2Zx"j338;7[X?+oAѰћ}M+tQCOΣu/sZܲr'ih" BS}0vy5"~'O8O0}SNÒg9 9NI[=UMȡncM\m5;VX~M@署:*i36R#_=s׃?/߽?>ě)?^Ϸ^USTARS1.SPR0U7$ O@>v?lcUs>, H@vrJp'SB. h.. hRAMBABY ACC jAMBABY DOC p!`T*.KJ$f(ByTO/9|?<HNA\OJk.@|`6 - ЭЭй|"ҍ¼.A// Bg?<JNA #2 y2/(,HhN |P/9p/9j?9N&HN%NT?<N'NVN1HyrHyrHyrHyrN4|O3HyzZ?9zN5\3~By,`09,@A1Ry, y ,m3(HyxHyHyN6~O ?<NT3JygjHyBgBgN5PHy?<BgN5PHy?<BgN5PHy?<BgN5P?<?</9NtP?<?<$/9NtP?<?</9NtP?<?<'/9NtP?<?<3/9NtP?<?<4/9NtPHyXJ?</9N O HyX~?<"/9N O ?<?<%/9NtP33?<N& T"9XfHAXfBgHyXf?<=N& P3JyoHy/<?9?<?N& O ?9?<>N& X3X#6/9HyzpHyXJN.vO #X/9HyztHyX~N.vO #6l09f?<?<3/9N(P09f?<?<4/9N(P09gNh09gN09f`N`3Xx3HynHynHynHynHynHynBgBgHyBgBgBgBgBgBgBgBgBgBg?9n?<?<?<N2XO<3?<N5T09|g y(f/9]BgN4\/9s?<HN& \#lJyXRff 9l/ </N&X X#T To/9THyzxHyXJN.vO `Hyz|HyXJN.P/9lHyz~HyXN.vO ?<HyX?</9N0O 09tlg 9X` </HyzHyX~N.vO HyrHyrHyHyN4O?<?<?9?9?</9N ~O3` N?<3/9Nr\|g 3`By?<4/9Nr\|g 3`By y+f~?<NN& XN 09g609f09gHyz?<N36\`Hy{ ?<N36\ y%f09tlgBg?<'N%X y&f09tlgBg?<'N%X y'f.NN ?<?<'/9N(P?<'N TJyXRf: ym yn09|T@3X?9N TN/9s?<HN& \#l/9lHy{\HyXN.vO Hy{`?</9N O ?<N THyX?</9N O ?<N T?</9N4X\|3 y(f?<?9/9N(P?9?9?9?9?<?<?<?< ?<N3O?9?9?9?9?<?<?<?< ?<N3OBgN5T0<flN^NuNuNVHyHyHyHy/.N3ZO?9?9?9?9?.?.?.?.BgN3O?9?9?9?9?.?.?.?.?<N3O?9?9?9?9?<Bg/.N5BON?. /.N4X\|309N^NuNV09gHyt(?< N%\N^NuNV09gHys?< N%\N^NuNV09Xxg0?9?9?9?9?<?./9N5BON^NuNV .2. HЁ @-h n /.N.X n1@N^NuNV .2. ¼Ё @0( =@0.2.FAA".4. ļ҂ A1@ N^NuNV .2. ¼Ё @0( =@0.n".4. ļ҂ A1@ N^NuNVBy 96#JyW| yW|Agn Pl$N hHy{h?<N36\3`` 9й/?<HN& \#JoBy` 3`$ yf/9?<IN& \ yW|JyW|Agr?< N%T-@ .69X-@ .JgBN h09gHy{?<N36\3p`3p ypf3Jyf(/9/9?9X?9N .O 3 yW|JyV|Ag/9?<IN& \JyfN `N hN^NuNV?<Hy?</9NO HyN&XH#6?<Hy?<"/9NO HyN&XH#XN^NuNV .2. HЁ @-h ?. n//.N.O N^NuNV .2. HЁ @-h ?./. n/N.O N^NuNV09XRg`^3NJyf&3XRN3,`D?<?9,/9NtP?<?9,/9N(P?9,N TRy, y,o?<0<yXU@?/9NtP?<0<yXU@?/9N(P0<yXU@?N T?<?</9NtP?<?</9N(P?<?</9NtP?<N T?<N T?<N T` N h09gHy|?<N36\N^NuNV3N09XRf`ByXRN3,`,?<?9,/9N(P?9,N TRy, y,o?<?</9N(P?<?</9NtP?<?</9N(P?<N T?<N T?<N TN^NuNV09tlg`< 9X#/9?<HN& \#JfN hHy|NTPBn`0.@Aj 0=@0.A]HЈ/NpX2.AAj!?.?.?.N\?.0.A]?00.A]?0?.NpPRn0.nmjN^NuNVBHy>NTPN^NuNV n f n f`0.n =@?.?.?.N\0.A]=p0.A]=p?.?.?.?.NpP0.A]=p 0. nnf~N^NuNV0. A]/0 NpX-@ .=@0. A]00` g0.AXHЈ/N|X2. A]! 0.AX/0NdX=@0.@Aj 02.AX!0.AX/0NdX=@0.@Aj 02.AX!0.AX/0NdX=@0.@Aj 02.AX!` g*0.@Aj/0N|X2. A]! ` g0."AXHЈ/N|X2. A]! 0."AX/0NdX=@0.Ai 02."AX!0."AX/0NdX=@0.Ai 02."AX!0."AX/0NdX=@0.@Aj 02."AX!` gp0.AhHЈ/N|X2. A]! 0.Ah/0NdX=@0.Ai 02.Ah!`*`&`"|| c0< @ ||r"|N0. n ?0.@Aj/0N5\N^NuNV n N^NuNV .N^NuNV .N^NuNV .N^NuNVJf` < y!@ y!@N^NuNVBy|# 9м y .  y!@ < y!@ y!@B?< N& \#F@@|F9<F xC\g#BAL!#:A! /9F?< N& \`H:Nh g O\02f( y|g @'g` @'g @gH @gL: yBN y$( aJf <L:Ns01 !B@|F9aaLNsRe$<NuH:3|@|F !:L:NsH:3|@|F9<A! y$( f L:Nsa2"h1 !B`,N^NuNV3\3 Z# V#R . / </N&X X/ <T/N&X XR#N . / </N&X XR#J 9J3| 9N3| 9NR3| 9JйNйNT3|H: y\f#V|3Z|#R| y|fl3|$9| < ઔy|3|$9|Թ|$y|$jA/#|?<&NN\ f <` <` <` <` y|fA/?<&NN\3| <`!v!r!~ 8$B69|!Nu$8B69|!3|3| <#vA(!v#rA!r#~A!~NuH:09|ofX2/ H"o0/ H y|" f/fI S@f`/fISfL:NuL:/9Nu#:09|ofA  y:Nu y:/9Nu09|of 9|#|Nu/9NuL:3|3|3|3|3|3|3|3|3|N^NuNuA*Xy* !J!_ NMYy*A*"P$h/( J@NuA*Xy* !J!_ NNYy*A*"P$h/( J@NuA*Xy* !J!_ NAYy*A*"P$h/( J@NuNVN^NuNVN^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV?< B/.N0O N^NuNV 9|A^䀰|l y|X| 0<`0<N^NuNVH`Y| y| PN 9|A^fA|*H`0- |g / N'X A|"Ҽ@m?.N8TL N^NuNVH*n0- |g/ N'Xg0<`20- |g /-N+DXBm ?- N?Tg0<`0<L N^NuNVH*n0- |f0<`r.0- |gV0- |f0<`R0- |g?<B?- N(P?/-?- N0P @f m@ 0<`m *Bm0<L N^NuNVJnl3 <`H?.?./. ?<BN& O -@Jm .`?<?.B?<BN& O -@Jl .3 <`?<?.B?<BN& O -@ nf .Ю -@ `& nf .Ю -@ `0.g <` . oH?.N,dT|J@f .3 <``` Hn . /?.?<@N& O Bg?./. ?<BN& O J]|=@g3 <`` . NqN^NuNVH .<".ҼS/"</N8."X/./N8|. /N-X*@f <`(M)G P/N+DX 9~L0N^NuNVH .<".PS/"</N8."Xށ 9~(@JfA~ (@#~#~B*T -e* -f(`  -+G#~ P`( ~f/N)X*@Jf <`(M*U`L0N^NuNV0./N*pXN^NuNVH .f`v .Q*@(y~` m n l`(T o l "-Ёf T (ѭ T*`* ",Ёf -Ѭ(`(#~L0N^NuNVBn`<0.@A00f&0.@A10.@A1 ` Rn nmN^NuNVBn`*0.@A00nf0.@ABpRn nmN^NuNVH>.=|\A"HPgXHf0(LN^NuNVHHy~/.N.PfBG`Hy~/.N.Pf><`Hy~/.N.Pf><`0. |gR0. |?/.?<=N& P>J@m 0. |g&JGm??<>N& XBg/.?<`j0. |gD0. |?/.?<=N& P>J@m"??<>N& XBg/.?<`0. |?/.?<=N& P>JGl 30<`?. ?N+X0LN^NuNV/.?<HN& \-@ .f-|3 .N^NuNV0./N-XN^NuNV .#~ #~3~/./. Hy~N;O y~B .N^NuNVA X//. /.N.2O N^NuLB@ggSBAgHJ@gHANuL rWfNu op`R@SJWfFNuNVH*n(n >.&MNqSG0J@mf`BSG0J@l L8N^NuNV n R @H=@` n R @H=@ n g n g n g0.N^NuNV=| nxg nXf n f0<`h n0m n9n0.|0=@`2 nam0.|a| =@` nAm0.|A| =@0.n o0<``0.NqN^NuNVBnBHnN/&X=@ n-f=| nRH=@`2 ./0.H/N7 6.HЃ-@ nRH=@?.?.N/pX=@ @fSJ g n 0.g .D` .NqN^NuNVH*n (MBn ng?.N,dT| fA&H. nU|`H| f S @  . nU| A|l0fD AH-@Hn/.?.?<@N& O <Hg 30<`dA&H0f~ =@`J/ 0./?.?<@N& O -@2.¼g .30<` .n0.L8N^NuNVA#A4#At#A#A#A#A#?< N6T3z09zN^NuNV3t3 v3 x3z3|3~3333333 3"#$3(3*?<N6T n,0 n00 n40 n80 n<0 n@009N^NuNV3t# ?<4N6TN^NuNV#?<6N6T n 0 n0 n0 n0 09N^NuNV3t3 v3 x3z3|3~333 nf 3333?<3N6TN^NuNV n0 n 0 n0 n0N^NuNV#3 t?<2N6TN^NuNV?<MN6T n0 n 0 n0 n0 09N^NuNV?<ON6T n0 n 0 n0 n0 N^NuNV3t# ?<NN6TN^NuNV3t# ?<#N6TN^NuNV#3 t3v3x3z3|3~?<*N6TN^NuNV3t3 v3?<pN6TBy n 09N^NuNV#3 t?<rN6TN^NuNV3t?<kN6TN^NuNV30.| ACHЈ-@=|` nR2.AAH1Rn nm/9NBX09N^NuNV## .мZ#3dBy3 n 3N709 n 03~*A#A~#A#A#N^NuNV .3 .3N^NuNV .3 .3 N^NuNV0969 Ƽ n N^NuA*Xy* !JHy#Hy" <sNBYy*A*"P$hNuNVHBG".l~D$. l GD&gHC H@J@g@HCBCւJGgD-C LN^.JNuNVH$.f BB`&". Bvd d``bd-@-A LN^NuNVHL&gHC H@J@g@HCBCւ-C LN^.JNuNV?.?<LN& XN^NuNVH*n ..(U0.`(<< `><<`6<<BE`,<<:< ` `|Xg|dgΰ|ogа|ug°|xg Jl ndf - D.` 0. fμA м&@B#(/8H/N8.X(0 D m2<7E`2<0A /0H/N8. X.f/ / NBP*L8N^NuNVH>. *n (U=| Gf><##Hy~,HyNKP]|=@0R@?HnHnHnNFO0.g-.H|0f.f0` nff<.GRF0no<.JFl0<`0?HnHnHnNFOA&HA&H`SFSn0gJnl`0SnJnl0g.` 0RnSG0g nm`JFoH`0<0SFSG0J@l`J0g.A R&@`SG0J@lE-L0.H/HnBg?<dN8O (n*L8N^NuNVHBG n*P`0 HC|0>HA~90H|f n 0L N^NuNVH<*n(n &nBn`P?<%/ NB\$@Jg2. g$/ ??</ NAO <n0Gg` R(@`*/ N.X>/ ??</ NAO <n`Bn=|Bn8< H|-f=|RH|0f8<0RH|*f R=ST`-LHnN;XX=@(nH|.f>RH|0f8<0RH|*f R=ST`-LHnN;XX=@(nH|lf=|Rf`$A $@-@H=@`$SX/ N.X:no:.8< `0.g `0H/Hn?.?.N8O 0.g0<`0<*. ng=n` nRT:<`##/9/9Hn?.?.N9OP*.`f0. nR:<`P`N|Xg<|cg|dg.|eg|fg|gg|og|sg|ug|xgN=0.gj/ ??</ NAO <n0Eg`>.E`4Sm0-J@m0 URH|` / ?N?j\ @f` RnSG0J@l`f>.E`4Sm0-J@m0 URH|` / ?N?j\ @f` RnSG0J@l/ ??</ NAO <n0Eg`f0.LN& X=@g30<``0<NqN^NuNVH*n 0- |g0- |fm 0- |fm@ Bm0- |@g0<` -f / NSX0- |g UR m `<0- |g2m UR . H| g ml . H|`V/ N'Xg m@ 0<`>0- |gBm. H|`$`"0-S@;@m . URH|NqL N^NuNVH *n(n`":,A>. Eo>`>. 0g60n ?// NSO 0H0Hє0,g0lGl JEf/ N'Xg0<`":,A0. Emv=n 0g<. 2. HHAA`<. 0n `G0H0g?/ ?, N0P>J@n Gf&l@ ?<0.FH/?, N(P0<` 0. f0<L0N^NuNVH*n>. <.(n0, |g0, |fl 0, |f0<` ,f/ NSX(9lBE`RE0HSF0J@m/ ?/ N@zO g0, |ff gX0, |g/ N'Xgl@ `:&l`R g H| f gH| f/ N'Xgl@ Bl0L8N^Nu o/ f pJWf`g fS `pNuLrWf SNuA*Xy* !J"/0<NBYy*A*"P$hNu NV0.f##`$ nl#J#N` n4o#j#n`A~ -@ n]|=@g 0.D@=@0.|=@0.g0 .2.HЁQ @##-y-y0.@=@0.|=@0.gn .2.HЁм0 @##-y-y0.gHnHnNPP` ##-y-y0.@=@0.|=@0.gt .2.HЁмh @##-y-y0.f0.gHnHnNPP` ##-y-y0.gH##-y-yHnHnNQFP##`##N^NuNVH *n(n Bn-L-U-mBEK.g>OG|JGn|m`NB0T@|dm0<d@D@`B0D@S@|dm0<d@?NDnTOHy/ NPPO`&0-H@$-JGg FGQ0<0dR@0.BAQ/,>QQԟ׆G|0QB`Rn0.g(nB`0R 2.HmB`d .6.HЃR(@ nH|0fRZ$` R$H|9n nH|0f(n R*@NqfSE .6.HЃ @B n0L0N^Nu#HyNIXONuHyNJRXO 9Nu#HyNIXONuHyNIXXO 9Nu#HyNIXONuHyNJRXO"9Nu#HyNIXONuHyNIXXO"9Nu#HyNIXONuHyNJRXO$9Nu#HyNIXONuHyNIXXO$9NuNVH n "(fJg"¼м@ LN^NuNVH nB fB`м8 LN^NuNVH n g jDh <r`V$<H@J@fBH@ @bQB @bYB @?bUBJ@kSB&<"F€JHBЂJj LN^NuNVH n "($HBJ&<BnDB Bcp`*` B c <`6<BtjABJjD LN^NuHHy//NKPOL/WXONuHHy//NKPOL/WXONuH o#HyHyNINKNIXPO o L/WXONuH o#HyHyNINKNIXPO o L/WXONuH////NN.PLNuH////NNbPLNuH////NNPLNuH////NQFPLNuH////NPPLNuH o#HyNI//NNbPLNuH o#HyNI//NNPLNuH o#HyNI//NQFPLNuH o#HyNI//NPPLNuH o#HyNI//NNbPLNuH o#HyNI//NNPLNuH o#HyNI//NQFPLNuH o#HyNI//NPPLNuH o0H#HyNI//NNbPLNuH o0H#HyNI//NNPLNuH o0H#HyNI//NQFPLNuH o0H#HyNI//NPPLNuNV n " n $&JjFFJjFFN^NuNVH~ n $& n "(JfJf`n*(fJf "`ZNVH.<`b fcBCD!E xzH@:HB<M8NF E6cH@`~GG~GGH@HBҁрSEg:jփՂ`2 E c&tE Ec 6HCBBHBE|.F΂Ć꫆Jk*RA҃тgRD Dcpr``xg`fSDJf"Jf`hHAJAf HA rD `0BADH@~GcH@`0z`XEJ@gREGcH@Ejpr` |.F΁†SDLHDЄJj LN^NuNVH n $& n "((fJg*fJg H@:HB<MNE1F,<.*FHÁ…HC΃ƅąxHB<:HC>܇ۄHAHB>܇ۄH@HC>܇ۄ>ڇلHDHEHF8:|HB>ڇن>؇HC>ڇنH@HB>ڇن~>(JkڅلSG <"FHD„v 歊ȀۆنGk Gc xz`xz`SGOHG؇Jj LN^NuNVH n $& n "(*fJgx(fJgt H@8HB:LME,<.*FHÁ…HC΃ƅąb fbRD1DHBHC.h~>ЇHG~` B@H@:|FH@HAHF<0BAHBHC8:ǒxjSG҃тd6BBHBHC,h ,ІHF|` B@H@:ƒ*HEHE8BEjSF҃BdHG>H@HA0,h ,ІHF|` B@H@6HC:2HAH@xDjSF҃dhrHF<x8(z <"FHG‡v 殌΀݅߅Dk Dc ~|`~|`SDLHDބJj LN^NuNVH*n A|Ұf0?<NTTf"m m ;y~A|h `, A|°f BgNTTfm m ;y~`X0- |g A|AHЈ*+@`.0-?N+(T*+@fm `0- |fm -gL N^NuNV n"n 2.HbL0|f |f`( |g `Q`fA`2Q`XA`"Q`J0|f |f`$ |g ` Q`A`3 Q` A`# QN^NuNVBBg?.Hn?<WN& O =@JW|N^Nu?>x<sp=x'pǀ<s<|sxxq><pp?>x<sp=x'pǀ<s<|sxxq><pp?>x<sp=x'pǀ<s<|sxxq><pp?>x<sp=x'pǀ<s<|sxxq><pp?>x<sp=x'pǀ<s<|sxxq><pp~>? 0000RAMBABY.RSCA:\INTRAMAN.AUT00 00  !"#$%& '()&*+, -./*012(345&678+9:;)<=>(?@ABCD"EFGHIJKLMNOPQRSTUVWXYZ[\ ]^_ `abcde fghijklmnopq rstuvwxyz{|}~4 C 0 s cc bb  p  (  b    C  QCQDQEQF QGQHQIQJ QKQLQMQN QOQPA   A   !' C  "#$A %A &Q'Q A )A " ,*+ s# +)@-c$.c$ /b% 0b%1p'2' 3A " 4A  a  c%   !                   b% . &   ) ((*( +  *  !         b-c& "  !! "  #   $ % &'()*!+!,!- !. !/ !b&         jmXn8o8p8pq8qr8rtnTUJUVJVWJ5E[||8x88|88|8|x||||tuuu uuuuu$u*u2u4u6u>uFuLuNuPuVu\ubujuruvuxuzu~uuuuuuuuuuuuuuuuvvvv2v4v6v^v`vbvvvvvvvvvwwww2w4w6wXwZw\wrwtwvwwwwwwwwwwwwwwwxxx xxxx&x(x*xFxHxJxjxlxnxxxxxxxxxxxxyyyy*y,y.yByDyFyVyXyZytyvyxyyyyyyyyyyyyzzzz$z&z(z@zBzDzVzX||8x88|88|8|x||||~>?H@H "I@ I"I@H ~>??>x<sp=x'pǀ<s<|sxxq><pp?>x<sp=x'pǀ<s<|sxxq><pp?>x<sp=x'pǀ<s<|sxxq><pp?>x<sp=x'pǀ<s<|sxxq><pp?>x<sp=x'pǀ<s<|sxxq><pp~>? g &   g &   g & x  g &   g & T 2  g &   g & Z  g &   ?>x<sp=x'pǀ<s<|sxxq><ppwGwDW9999999FREE RAM________K9999RAMDISKINSTALLREMOVESPOOL________K9999INSTALLREMOVEONOFFFLUSHEXITSET AUTOWARNINGSSOUNDS1-800-826-0130ORDER NOW!There hasn't been a way to cheat timeUNTIL NOW!Revolver might just be the most importantpiece of software you will ever buy foryour ST. Revolver can take a programstop it at any point and write it to disk,allowing you to continue right where youleft off, at a later time. Plus all ofthese additional features:Full disk commands with wildcardsControl Panel optionsVT-52 EmulatorSnapshot screen to NEO fileReset proof Ram DiskReset Proof Printer Spooler40 Folder Fix+ even more...INTERSECT'sonly $49.95INTERLINK ST from INTERSECTFeature Packed Terminal Program. GEM Background Downloading. Loadable Emulators for:. Built in VT52, X & Ymodem. Call Logging, Time Calculator. Editor, Chimes, Mini-BBS. Easy to learn and useORDER NOW! $39.951-800-826-0130INTERSECT Software Corp.2828 Clark Rd., Suite 10Sarasota, FL 34231 - 8-Bit ATASCII - ANSI Graphics for PC BBS's - VT100 for mainframes. Loadable Transfer protocols - Compuserve Quick B - YMODEM Batch INTERSECT Rambaby %lu%lu%lu0%lu%lu[3][File Open Failure|Auto File Not Created][OK][1][Auto Install File Created|The Next Time You Boot|RAMBABY Will Auto Install][OK][1][Auto Install File Created|Indicates no install|for Spooler or Ramdisk][OK]%lu [2][Installing a Ramdisk With|20K Is Pointless][ABORT][1][INTERSECT Ramdisk!|The drive specified appears|to already be installed.|Should I proceed anyway ?][OK|CANCEL][2][INTERSECT Ramdisk Not Installed][OK][3][Not Enough Memory|For INSTALLATION.][OK]%lu%lu@@x>>@@v>_I ^ CON:AUX:PRT:~9 (( (( AAAAAABBBBBB @$@Y@@@È@jA.AcAׄCAy7DxCyٝFnH=c)\I1sKP1P=M8O?ZwH02g$uOs<@ Wi??!TD-@ !TD-@$?!TD-?.B9??*                                                                     6                48                    $       ^ "<, "     "      $ D   8. ( L*&"f. N&    : ">     "  (l@ (X&>&. . 4&f.,*   ."( &:,Z8 $                &   ,6$f@D$dHH8PtBF&2l`0b,n,,<\v L< <         v                  x}Ð "3A ! 9`r( $?ˀAm$o7R~CE  юAvĄi?@i o%<ڃ%koԐ@:jjԕ K||)'(Ä! JBr 8:Αݜ2HE6gBCFs !30R !38V~̯h9S`-Ou yH,!H@3 a Ob?Fsh FI N~N J0( _]+ `)!`~$8s^[g3%.s`Nk 6 1X!SB aـ@0)0_o/BpAGB?x?vA Ͽ h")~8^> 6o#T?wp`Kz@qzARO]0$'gfe screen you will be presented with a new clear one. Once you have finished typing press 'Escape' and the results will be shown, as in option number 1. 3. Type a document Again this is in a similar format to the first option with the exception that lessons are not typed, but instead a document of your choice is typed. If no document is in memory a warning will appear informing you to load a document from the options menu. 4. Keyboard Test This is a simple keyboard reaction timer, when selected you will be asked for the number of keys [ 10 to 50 ], this is the number of keys you will have to type in the test. When the test begins a picture of the keyboard will displayed with one of the letters highlighted, press this a quickly as possible. This will be repeated for the number of keys you selected. At the end your results will be shown, including : a) time taken b) number of keys c) number of keys a second 5. Credits This just simply displays a small message about the program, and the people who actually tested the program for bugs. 6. Options If this option is selected another menu is displayed : Options Menu 1) Select lesson 2) Select music 3) Load document 4) Load lesson 5) Set key speed 6) Set key delay 7) Main menu 1) Select lesson This allows you to start on any lesson between 1 and the last lesson. This option is only available if a lesson is currently in memory. 2) Select music This options allows you to have music playing whilst participating in the lessons, etc. Music numbers 13 to 21 are from the original STOS Basic package. 3) Load document This option allows you to load any file as a document and then type it as you would a normal lesson. This option will display a standard STOS file-selector with which you can select the document you wish to load. The majority of files can be used as any illegal characters are omitted from the lesson. Note: This option wipes all previous documents, and lessons from memory. 4) Load lesson This option is as the above with the exception of load lesson data, only valid lesson data files will be loaded. Note: This option wipes all previous documents, and lessons from memory. 5,6) Select Key Speed/Delay These options are very similar as they allow you to customise the keyboard speed and delay, ( as you would on the Control panel on the desktop ). 7) Main Menu This simple returns you to the main menu. 7) Exit Exit the program. he maximum number of messages allowed,and the Subop(a subop is a user who has sysop access only on that message base). INTERSECT Ram Baby VERSION 1.0 06/06/88 This is a Public Domain Ram Disk and Print Spooler. The speed of this ram disk is much improved over that in the popular INTERSECT Ramdisk that it replaces, as a matter of fact, it is nearly twice as fast as the original. It is functionally similar to its predecessor except that drives C through P may be designated for installation. The print spooler is installable in any size and may be removed (as can the ramdisk) and re-installed at a different size. Also included is the ability to save startup settings so that the ramdisk, print spooler or both may be auto installed at bootup. By popular demand, we have also given you the option of turning off the Sounds and the Warning Messages. Putting RAMBABY On Your System To use this accessory you must place "RAMBABY.ACC" on your boot disk so that it will be included as a desk accessory the next time you start your ST. Using RAMBABY To use RAMBABY you need only click on the "INTERSECT Rambaby" selection bar contained within the "Desk" heading of your menu. Rambaby will then present you with a Dialogue box containing the selector buttons for the Ram Disk and Print Spooler. A display of the currently available memory appears in the middle left of the Dialogue. To install the Ram Disk simply enter the size, in K-Bytes, that you wish to allocate, click on the appropriate drive letter and press the INSTALL Button. Provided that there is enough memory, a success tune will be played, failure to install is usually due to lack of memory. Once installed the Ram Disk can be removed by selecting the REMOVE button. ALWAYS remove the Ram Disk and Print Spooler before changing screen resolutions! Also note that, once removed, any data in the Ram Disk or Print Spooler is lost! To install the Print Spooler simply enter the size, in K-Bytes that you wish to allocate and press the Spooler INSTALL Button. Provided that there is enough memory, a success tune will be played, failure to install is usually due to lack of memory. The print spooler may be removed by selecting the REMOVE button. ALWAYS remove the Print Spooler and Ram Disk before changing screen resolutions! Also note that, once removed, any data in the Print Spooler is lost! The possible reasons for installation failure of either the Ram Disk or Print Spooler are as follows: - Requested Memory size exceeds that which is available (Make sure that the Size selected is less than memory available). - Requested Ram Disk Memory size less than that which is required for the disk control blocks (Installing a Ram Disk of less than 20K is pointless). - The Drive Specified is already installed in the system (This will occur if you have a ram disk or a hard drive currently active as the Disk Unit specified when you click INSTALL). If you have reset your system with the Ram Disk installed you should simply install the Ram Disk by clicking on the OK button in the warning dialogue. If, however, you actually have an active disk on the specified drive you should click on the Cancel button, select an available drive and click on INSTALL again. After successfully installing press the EXIT button to close the RAMBABY Selector box. Before you can actually use the Ram Disk you must tell GEM about it. This is done by clicking once on any drive ICON (so that it is highlighted) and selecting the Install Disk Drive selection bar in the Options header of your menu. The Install Disk Drive dialogue will be presented. Change the Drive Identifier to match the Ram Disk Drive you have installed (C through P). You may then optionally change the Icon Label to Ram Disk. To complete the installation press the Install button an the new disk Icon will appear somewhere on the Desktop. Move it to where you like and it is ready for use. If you want the Icon to always appear automatically when you boot just save your desktop at this point. The Ram Disk and/or Print Spooler may also be set up so that they automatically install when you boot your ST. This is accomplished by creating an auto boot file, which can be done from the RAMBABY Dialogue. To create the auto boot simply set the drive specification, desired Ram Disk Size and Print Spool size in Rambaby Dialogue and press INSTALL on either or both. Once it is installed as you wish it to boot, simply press the SET AUTO button and the file RAMBABY.AUT will be written to your boot disk. The next time that you boot your system RAMBABY will configure itself exactly as you had last set it. Print Spooler Special Features The RAMBABY Print Spooler has some special features not available in most ST print spoolers. These features are activated from the RAMBABY dialogue box and function as follows: - Spooler "ON" is the normal state of the Print Spooler and desig- nates that it is active (if installed) and spooling output. - Spooler "OFF" will stop output from the spooler and allow you to directly print. Printing of data left in the spooler will continue when "ON" is re-selected. - Spooler "FLUSH" will empty the contents of the spooler, this is effectively the same as Removing and Re-installing the spooler. Memory Management Limitations The Memory Management in your ST operating system has several limitations that will affect the way that you handle Ram Disk and Print Spooler Installation as follows: 1.) When changing resolutions you must first de-install the Ram Disk and Print Spooler by clicking their respective REMOVE buttons. (All data in the Ram Disk and . .. STARPROGBBSPJGAMES :GENERAL ;MESSAGES <OUTSIDE =PRIVATE fPROGS gTEXT hUTILS {ONTROL ACC|Y<USER DATdTARNET DOCGESKTOP INFSTAR LOGREAD ME  USERCONVTOS @ USER VER d//<HnNd?./<HnXNd p?HnXN\Op?HnN6p\O y&gpRn`l0.H @VJPfp?/<` .Ng0.H @V?0.H @.?/<HnNd HnXp?HnBgN y&gHn/< HnXNŰ 0.H @.0.Pm0.H @V0.Pop?/< #`pC@ .Eg0.H @V0.Pn0.R@??.0..z~//< 5HnNd0.H @x0.Po0.H @x0?./< =HnXNd p?HnXN\Op?HnN\O y&gHnp?/< IBgN y&gHnNXO .Eg Rn`p?/< fN\OBn ng0.H @09Pm<0.~/0.R@?/< HnNdp?HnN\ORn`Bg/< N\ONJ@gHnp?/< BgN .Yg .yfNSZ/</< HnNd y&gp?HnN\O y&grp?NtTOp3&`Z/</< HnNd p?HnN`NSZ`2HnN6XOJ@gHn/< HnNŰ nn nlp=@0.S@H @09Pm 0.S@=@`p?/< N\O0.~//< `p?/< `0.H @x0R@=@0.H @V0.Pop?/<`0.H @x0R@=@0.H @V0.PoJp?/< `N^NuNVP/./< HnVNd Hnp7?HnVBgN y&g/9/< HnNd p?HnNk\Op ?/.Nk\OHnHn/./< HnVNdHnVNzXO=@P?. 0. .B//< &HnNdp=@Rp?HnNR\O=@T @g< nRfp?B?.TN*PO?.PHnV?.TN.PO?.TNܶTO`.p?HnN\O=@T @fp?/< 1N\OB@N^NuNVjHnp?/< -|A 0`4-|@0`*p?N|TO///<%/<@NX-@0p/< 0HnNŰ n>n n>lp=@>0.>S@H @09Pm00.>S@=@<0.<.B//< 3HnNd `p?/< 6N\O0.<//< E`4p?/< _`Nd p?HnN\Op?HnPN\OB.p33Hnp?/<eBgN y&g4HnNzXOJ@fp?/<oN\O`Hn/<w/<Nd `By&/</. NӜPO-@fp?/<N\O`l0.U@y&gRAP-H/.pQ?/.N f.HnP/<09&S/Nd Ry&`/.N׬XO?9&/<HnNd p?HnN\OBy3&p?/<N\ON\p36Bg/<N\Op?/<N\ON\By4NS3&09&y(g LBnzJy4g /<NzXO3.09.U@3*Jy*g0y*  gSy*`09*H//<0./?./<=HnNdp?HnN\ORn` y&gpHnZp?/<CBgN y&gLHnZN6XO=@JngpHn/<iHnZNŰ nmN n nD3ZN^NuNVp?NNTO-@p?NNTO=@Jnf$p?/./.p?NN /<Tp?NN\OBnp?NATO3&09&R@?/<%pG?NAPOBgp?NNXO#z yz#zp3&p?NNTO#z <#zByBy'3%/<lN2XO/<N2XO/<N2XO/<N2XO/<N2XO/<N2XO/<LNZXONNrNp3'pd?NtTOBg/<gN\Op}?NtTOp?/<kN\Op}?NtTO/</<oHnNd HnNXOBy'/<~/<lNjPO/</<7NjPO/</<PNjPO/</<iNjPO/</<NjPO/</<NjPO/</<NjPO/</<NjPO/</<NjPO/</<NjPO/</<NjPO/</<&VNdPO/<z"/</<&Nd N yhfp3'p}?NtTOBg/<N\Op}?NtTOp?/<N\Op}?NtTO/</<HnNd HnNXOp}?NtTOBy'N0NNNJy'f.JyhfN yhf=y'No3'N fNR~`N^NuNV?. p?NAXO/.p;?NA\ON^NuNV/<HnNdPOHnNZXO/<iHnNdPOHnNZXO/<HnNdPOHnNZXO/< HnNdPOHnNZXO/<\HnNdPOHnNZXOp"@p @/..H?.H?/<HnNdHnNZXOp*@p?@.H?.H?/<HnNd HnNZXON^NuNV/.NzXO=@0.n g0np Rn`0n BN^NuNVBnJn o& n l np 0. @0 n@p=@Jn f np1 np2@p=@ n f np1 np1@p=@ n f np1 np0@p=@ n f np1 np2@ n o n l np 0. @$ n@ n f np1 np0@ n f np1 np1@ np:@0.H =@2. 0.A=@0.@0 n@0.@0 n@ np @Jng npA` npP@ npM@ nB(N^NuNV0. S@ @ bzH0@ PN`j/<`V/<`N/<`F/<`>/<`6/<`./<`&/<`/<`/< `/<`/<HnNjPO?.?.Hn/</.NdN^NuNV"yz yz0(if?. ?.p?NM\ON^NuNV/<!HnNjPOBgHnNR\O=@ @g,-|?</.?.N޶PO @?.NܶTON^NuNV/<*HnNjPO3'p?HnN\O=@ @g,-|?</.?.NPO @?.NܶTON^NuNV?9'NTOJ@gBp?p?NMXOJgp?p?NMXO@p?p?NMXOJgp?p?NMXO@`p3' .fRy'.HN^NuNVN y&g$=|,?.NpTOp?/<3N\Opd3'No=@ y&g0.@ @f=|?.NpTOp?/<@N\ONo=@ y&g0.@ @ g0.@ @ gx0.@ @f=| `?.NpTO`VN y&f$`Bp?/<MN\ONo=@ y&g0.@ @ g0.@ @ fN^NuNV n,fp ` nfp`p=@0.3%3%p?p?p?p?p??.p?NNN^NuNVBn/.NzXO=@0.ng(Jy%f0nH?p?NnXORn`N^NuNVJy%f?.p?NnXON^NuNV=|-|z"B.A-Hp?/<ZN\O=@ @f/<cNZXOp?N&TO?./.?.NPOng/<rNZXOp?N&TO?.NܶTON^NuNV=|-|z"Bg/<NR\O=@ @f/<NZXOp?N&TO?./.?.N޶POng/<NZXOp?N&TO?.NܶTON^NuNVB9uB9p?NATO=@0.R@?HnpG?NAPOJ9f Byz NsJy&f Ns=@`?.HnNjb\ON^NuNV/p?NATO309@A@p:@B.~ GRl0GuBRG`pPuN3/<upO?/<BgN Jy&f:/<uNzXOu9uH0@uB/<uNXON\.N^NuNV#uB. yJg/</9NRPOJ@fB@` yJgP09z &#N.09z &/09z v/NjPORyz `/<&NXO=@ @g?9z ?..H?Nub\O`lpN^NuNVBg/.N\Op?/. N\ON^NuNVNLHnp ?/<BgN y&gpHnN6XOJ@gHn/<HnNŰ -|p<-@0.H-@HnHn/.NPO/NPOй%v#%vNLN^NuNVV/<vNzXOS@=@/<vNzXOS@=@0. R@ @b ZH0@H PN` H9vH@A=@?.p?NAXO` (Ry09=@?.HnFp6?NAPOHnR/.NNPO-@BHnJ/.BNPO//<HnVNd p?HnVN\OHnF/.BNPO//<HnVNd p?HnVN\O` n g p?/<`0nv \f 0nvB9vH @\f -|v~`-|v~/.~p9?NA\O=@g /<v/<NtPO`  n lp?/<0`d0nv \g0nvp\0nvB/<vHnNjPO/<SHnN/9Pp?NA\Op?HnpN?NAPO=@pO?NATO=@pO?NATO=@f?. HnN8\O/<vp:?NA\O=@g(/<vp:?NA\O=@g/<v/<WNtPO/.>p?NA`z n fp\vB9v/<vp;?NA\O=@g/<v/<l` n gp?/<`"/<vpA?NA\O=@g/<v/<`x n gp?/<`/<v/<vBgpV?NA =@ nfp?/<` nf8/</<v`N=@` n f/</<vNjPOp/?NATO-@>/9Pp?NA\Op?/<vpN?NAPO=@gp?/<N\O` yP (f(Jy%fp\?p?NnXOp\?p?p?NM\OBg yPHhN\O yP (f2Jy%fp\?p?NnXOp\?p?p?NM\ON\` yPHhNzXO @lBg/< N\O yP/(/< HnNd BgHnN\OBg/<N\O yP?(NTO yP?(NxTOpO?NATO=@f yP (f(Jy%fp\?p?NnXOp\?p?p?NM\OBg yPHhN\O yP (g yPHhNzXO @lBg/<N\O yP/(/<HnNd BgHn`p/pH?NA\O-@>/.>/<`( n gp?/<3`(/<vHnNjPO/<vHnNjPO N (\g Np\@ NB( N (\g Np\@ NB(HnHnNjPO/<VHnN/9Pp?NA\Op?HnpN?NAPO=@fp?/<Z`*Hn/<vNjPOp?p??.Nub\OHnHnNjPO/<pHnNp?NA\O ngBn0.nlHn/<vNjPO0. @HhV/<vN?NAXOBg/<vp?NAXO/.pI?NA\O0.N^NuNV y  g y  g y  fR` y  g> yJg4 y  g( y  g yR"yR` yBN^NuNV/~ Gl0GuBRG`p u.N^NuNV nJg" n `o n {l n R`N^NuNV/~ Gl&0H @t//.NRPO=@gRG` Gf&/.NzXO=@ @fR n :f~0.N^NuNV0.@H=@0.@@=@0.@@@=@?.?./<HnNd p?HnN\ON^NuNV0.@=@0.@@=@0.@@@=@?.?.?./<HnNdBgHnN\ON^NuNV nH=@BnB@=@=@ n f$9vH @-f9vH @Pfp=@`PN\p?/<N\OHnp?/<BgN .H@@Jy&fN\ .Yg .ygJngJnfJnf/<vHnNjPO yPHhHnN nfl?<NTOJ@g\ y&gp?p?NMXOJgp?p?NMXO=@ ng(p?p?NMXOJgp?p?NMXO=@ nfp?Hn?.N޶PO@ @gJ.g?.NܶTO?.` .fH0.H-@Bg/.?.N*POHf?</.?.N޶PO @fDBg?9?9N8\O?9%?9%?9%HnNmd ?9%?9%HnNkPO/<NzXO=@/<NzXO=@ ng0np Rn`B9/94HnHn/<?./<xHnfNdp?HnfN\O0nBp49h=@09 nnf BgN.PTO ngRn`?.NܶTO?.NܶTOB@N^NuNV/<HnNjPOHn/<z"/<HnNdBgHnNR\O=@ @f p3&`fBnp=@ nfRp?Hn?.N޶PO=@ @g Jnf"B.J.f?.NܶTO0.`Rn`?.NܶTOpN^NuNV`/<HnNjPO/<HnNjPOHn/<z"/<HnNdHn/<z"/<Hn`Ndp?HnNR\O=@ @fp`p?Hn`NR\O=@ @f?.NܶTO`0.H-@0.HH-@B.-|Bn ng nBRRn`JngFBg/.?.N*POHg?.NܶTO?.`Bg/.?.N*POHfp?Hn?.NPO @f?</.?.NPO @f?.NܶTO?.NܶTON^NuNVb/<HnNjPO/<HnNjPOHn/<z"/<HnNdHn/<z"/<HnbNdp?HnNR\O=@ @fp`p?HnbNR\O=@ @f?.NܶTO`0.H-@0.HH-@p@ n f -|`-|JngFBg/.?.N*POHg?.NܶTO?.`Bg/.?.N*POHfp?Hn?.NPO @f?</.?.NPO @f?.NܶTO?.NܶTOpN^NuNV`/<HnNjPO/<HnNjPOHn/<z"/<HnNdHn/<z"/<Hn`Ndp?HnNPh\O09=@0.S@nlB@`BgHnNR\O=@ @fp`BgHn`NR\O=@ @f?.NܶTO`0.H-@0.HH-@-|JngFBg/.?.N*POHg?.NܶTO?.`Bg/.?.N*POHfp?Hn?.N޶PO @fJ.g,?</.?.N޶PO @f?.NܶTO?.NܶTOpN^NuNVn/</<HnNd y&gBgHnN\O y&gp?/< N\OHnp?/<JBgN y&gHnNzXO @mHnNXOHnN6XO=@ @g4?./<j/<SHnNdp?HnN\OB@`Hnp?/<}BgN y&gHnNzXO @mHnNXOHn|p ?/<BgN y&gHn|NzXO @ fHnnp?/<BgN y&g|HnnNzXO @mHnnNXON|=@ y&gHN y&g6Ne y&g$?./<j/<HnNdp?HnN\OBg/<N\Op?HnnN\Op?/<N\O y&gHn/<-/<Nd Hn/<0/<.Nd Hnn/<3/<@Nd Hn|/<6/<fNd 3P3zRByByNB^Bb#ptp??.NXO y&gpN^NuNVHnp?/<9BgN y&g./<\/<fHnNŰ y\m yP\nN^NuNV n fp*?NATO3%p,?NATO3%`3 %3%09%@H3%09%H@?3%09%HH@3%09%@3%09%H@3%09%HH@@3%N^NuNV/<iHnNjPO/<qHnNjPO/<yHnNjPO/<HnNjPO y8fBy`p3Jng /<N2XOByByB 9gRyJyfJygRy/</<N2POJy'f/</<N2PO/9/<N2PO?9~/<N2\O?9/<N2\O09 @Hh/<N2PO09: @Hh/<N2PO?98/<N2\O?9/</N2\O?9/<DN2\O?9/<YN2\ON^NuNV0.@ n fN=|JngL09@=@.H0.Agp`B@yJng y!`.9N^NuNV/ByB@33'33=@NNrBg/.NR\O37o /<pNPXO?97NܶTO`np?/.N\O37l?97/./<N2 `8Jy'fp?/<N\OpX@38N y8fp`p@p?NTO/<N2XOBnB@3=@pC?NqbTOp3: ngRnpd?NTOJ@gpp?p?NMXOJg6.Hp?p?NMXO=@Cgt ngLJy&fB ngXp?p?NMXOJgp?p?NMXO=@ ng ncp?NqbTOBy:`VpC?NqbTO`F.H0.Ag nf ngx y glBy' Jygp?NqbTOByJygp?NqbTOByJnf@3'No=@ nfRy'Jy&fJ y'n>Jy' fBn.H0.Afp 3'No=@Jy&f y'nJy' fVNo=@Jy&f y'nJy' f,0.nf2.RAA0.@Ag2.A0.@@AfByB9=n0.y8ng^No?.Bg _'Jy&fF y'n:Jy' f?9:?.Bg _'B@?NXORn`?9:BgNXO?9:BgNXOJy:f No@`No@No@Jy&f y'nJy' fJy:f,BA.B@9Agp3' BA.B@9A` y:f BA.B@.HAyfp3 yfp3RyByRn098n098HѹBgNTO nfZBn?</<'?97NPO @f8`j0.@nf&p3'3RyBgNTOp3' y' fp3Jy'g By'ByRyBgNTONBy' 3'` nf@ y l6p?NqbTO?./<'?97NPO?97NܶTOp`?97NܶTO/.NXOB@&N^NuNVBn ng0n'pRn`?</<'?97N޶PO=@ nfB@`00.H8=@0.H8H@=@JngRn0.N^NuNVByByNBg/.NR\O37l/./<N2PO`Jy'fFHnp?/<BgN y&gpHnNXOp?/< N\O`,/<6N2XOHn/<ZN~POHnNXO .Xf 38`38 y8fp`p@Byp=@Bnp?NTO/<]N2XO3'N=@BnBy:p=@No@ @g.0.Rn @ d .fRy' .CfDp3: y g .fRy'Jy&f y'o?97NܶTO`, .g y gBgNTOByB9 .fRy'Jy&f y'nBnN.H?NqbTO0.@@B@. @@B@.?NqbTOB@.?NqbTO=n098nngD?.Bg _'B@?NqbTO?9:?.Bg _'B@?NXORn`?9:BgNXO?9:BgNXONrJy:fB@9?NqbTO y:f609@09H@B@.?NqbTOB@.?NqbTORy~RyNo@`< .f&BnB@33098HѹBgNTO098nRn nfN=@p=@Bn0.nnhRn.H?NqbTO0.@@B@. @@B@.?NqbTOB@.?NqbTO=n098nngD?.Bg _'B@?NqbTO?9:?.Bg _'B@?NXORn`?9:BgNXO?9:BgNXONrJy:fB@9?NqbTO y:f609@09H@B@.?NqbTOB@.?NqbTORy~RyNo@ .fRy'Jy&f y'o^`?97NܶTO y f/<z`p`ByBgNTO .fRy'Jy&fr y'ghp?NqbTORyNo @g y f y f/<`&Jy&f y'n n ej/<`N2XOB@N^NuNVp ?p?NAXO/.p ?NA\Op ?p?NAXOp ?p?NAXON^NuNV//</<NPOBg/<NR\O>o/<N2XO`lp?/<N\O> @f/</<N2PO` @f/./<"N2PO`p?Hn?N޶PO @fp?p?NMXOJgp?p?NMXO=@ nf n g` nfl?<NTOJ@g\ y&gf$Jy%fp3%3' ` By%By' Df Np`, =fNr y&gp=@ .=@ y%f,p49h=@09 nng n~fp =@0.S@nc nf nfJnf n fl ngdJnf nfp=@`BnJnfD?.p?p?NM\O n fNJy%fJy%f?.`pX?p?NnXO n g nfJngSn`0.S@nfJy6fp?p?p?NM\O` nPb ng?.Bg _0.Rn0.U@nfJy6gp34`bJy' fvp?p?NMXOJgdp?p?NMXO=@ y%f,p49h=@09 nng n~fp =@0.S@nc nf nfJnf n fl ngdJnf nfp=@`BnJnfD n fN?.p?p?NM\OJy%fJy%f?.`pX?p?NnXO n gF nfJnfn0.S@nfJy%fJy6f|p?p?NnXO`4?.Bg _BN\N^Nu"o o JfSfNu"o ofJfHHNu"o o fNu o"Jf S@Nu"o oB2/ gSAfJgQHHNuNVH0##/<#N XO##f ###/<#N XO*@ f*|#p?/9#/ N (@ g/9H/<#/ N `p ?/<#p?NPOpL0N^NuNV/>.0G#-H@g0@`0.N^NuNVHn/<$NPON^NuNVHn /.NPON^NuNVHn/.NzXO?/.NՄ Hn HnNPON^NuNVH Bn n X -P nRH> |&2<`XHXW PN`Z/./.NXO<?NѰ\O Ff`4/. n hNXO<Gg/.?NѰ\O` nRH> @*fp`B@=@Jng nRH>Bn G0m( G9n"0. G@0=@ nRH>` Glfp`B@=@ Ghfp`B@=@JnfJng nRH>0 |2<`XHXW`/<$D/<#N*PON`6Rnp `Rnp`RnBn` Rnp=@Hn?.?./.Nɨ -@JngJnfbJng n X P `Jn n X P0.0Rn`0RnHn?./.N -@-AJngJnfJng n X P .". !A` n X P .". `A-H nRH> @^fp`B@=@Jng nRH>JGg G]g nR` nBA-H/. n hNXO<`DJnfp=@/. n hNXO<-|$ `/.NXO<-|$ p=@Jnf n X *PBn FgH?/.Nj\OJfp`B@nf*RnJnfSnf|`/. n hNXO<` Fg/.?NѰ\OJngJnf GcgPB`JJnf n(H@gp`0.L N^NuNVH>. <.BJFo F o| nBP/.NXO: E-fp`B@=@f E+f/. n hNXO: nRP n0FnPJGfL E0g~ `B/. n hNXO: nRP0Fn$ Exg~`~/. n hNXO: nRP n0Flf0@W8 @ l0@78 @ l0@08m D nGm Gf0Jf*0@x8f 6HHn0H/NPO-@`z/.?NѰ\OJng .` .DLN^NuNVH |KJn o n op =@ nBP n0n l/. n hNXO> |J2<`XHXW PN`|JFfx nSP nRP`JFg Ff`RF` Fn(|`JFg Fg Ff|` Fm6 Fn0|` F` Fg Fg Ff|` Fg Ff|`/.?NѰ\OBHnNXOL N^NuNV//. n hNXO> @ g G g G g0.N^NuNVHn/<$*N̠PON^NuNVHn /.N̠PON^NuNVHn?</.NՄ Hn HnN̠POHnBg nN\ON^NuNVH0-n n(PXH> @%gJGgf/.? n hN\O`p =@p=@p=@H> G-fp=@H>`Bn G0f p0=@H> G*f& nT=Plp=@0.D@=@H>`*Bn G0m G9n0. G@0=@H>` G.fJH> G*f nT=PH>`*Bn G0m G9n0. G@0=@H>` Glf&H> Gdg Gog Gug Gxf0@> `-@*@p=@0 |2<`XHXW PN`J nT=PJnl0.D@=@p-p ??./ N6PO*@`p ? nT?`p`p` n-PXJl .D-@p-p ?/./ NТ `p ? n// NТ *@X`p`p` n "(-@-AP/ ?././.?N@`RBn n-Pf-|X .-@*@JgJnm noS`(Bn nT0` n//.N̠PO`X ./0.Hї =@lBnJnfLJng0 n0f( n -f/. nRH? n hN\O0.SnJ@g /.?.` nd /. nRH? n hN\O`Jng0.SnJ@g/.?. n hN\O`L0N^NuNVH >. *NB%0<g"0H@H@B@H@ @>`?Bg _Jg nR` .L N^NuNVH0*n>.IB$p0//. N,PO-@g$p0//. NrPO @-n ` n Jg` L0N^NuNVH >. *nSGo"/. n hNXO< @g 0 @ fB Ff fB` .L N^NuNVH0*n(M/<$ y$NXO> @g G g`B GffB` L0N^NuNV/ *n ,f&+|.+|Bm -;n0.`> ؜f +|\` ~f +|Ң` f +|`p*_N^NuNV/ *n+|,+|PBm -0-*_N^NuNV/ *n+|؜+|& ;@ o -;@ -0-*_N^NuNV/ *n+|~+|ژBm -0-*_N^NuNV/ *n+|/NzXOD@;@ 0-*_N^NuNVH >.*n / mNXO/ ? mN\OL N^NuNVH0*n(n Jg/ H? lN\OR`L0N^NuNV/ *nJg/<$*H? y$.|BnBnp=@ n R pr@H @rf|pw@ n g,H @bfBnR n gH @bfBnJGlJnf?/.NR\O>JGl@JnfJng4?</.N\O>m Fg?NܶTO?/.NR\O>JGmJngp?B?N*PO fp?NTO*@ f ?NܶTO`|p@Jng- p+@*+@Bm +|,+|PG `DH @wfRn`H @af&Rn`H @+g.HHAf|`BL N^NuNV/ *n .*+@+|B-0. D@;@ m l;| +|`+| *_N^NuNV/ *n Sm lBm p` UR0.*_N^NuNV/ *n UR0.*_N^NuNV/ *nRm oBm p` URB@*_N^NuNV/ *nJf0-H@f?<NTO+@f+|~+|ژ`n-H@f2-H?N TOJ@g$*f+|؜+|: -`&+|؜+|&-H?NTOHЭ*+@Bm *_N^NuNV/p?B?.N*PO. fB@`0H@.N^NuNV/ *n/ N>XO/ mNXO*_N^NuNVH >.*n / N>XO/ ? mN\OL N^NuNV/ *|$Y M$^eJg/N׬XO`*_N^NuNVH *n-H@fp`@/ NXO>-H?NܶTOJg-H@f /-N0XOB-0L N^NuNVH *nBm -H@ff >o?/--H?NPOGf$JGm mAf -*+@`+UB@` 09FH fByF`-pL N^NuNVH *nRm o/ NXOJ@f :$-H@ g G gL Gg 0`Jm f-pL N^NuNV/ *n :$.*n G f$-H@ g/ p ?N&\O @fp`0Sm l"/ N۸XOJ@f -S@;@ UR0L N^NuNVH >.*n G G f -H@ g/ p ?Nژ\O @g^Bm -H@fN/ N۸XOJ@f@p?Hn-H?NPO @f0` 09FH fByF`-pL N^NuNVH >.*n G f$-H@ g/ p ?N:\O @fp`?NAXO/NXO`B@N^NuNV/Bg/.pl0H/NXO`"?.NTO=@m?.?N&XO0.N^NuNV/?.?. rF?NA\O>J@f(?.NTO=@m?.?. N&XO0. `0H/NXO.N^NuNV?.NTO @Cfp`B@N^NuNV?.?./. pB?NA /NXON^NuNV/?. /.p=?NAPO.m:0H.mpF?0?N&XO` m n0?NZTOH./NXO.N^NuNVH ?.NTO @Cf|9H>9HH*@SnmSGldpQB9/<p ?NA\O>l0H`p ?p?p?NM\Op9H>9HH*@0Gp H: Ef~` n R RF E fn 0`$/. 0.H/?.p??NA /NXOL N^NuNVH0*n(n H>g HGgB@`pL0N^NuNVH8/9$NzXO@>Jg(&n*S g/<$/ NPOJ@fRGJfX`&n *S g RGJfX`0@@0H/pH?NA\O(@-@fp`Jg&&n*S g/<$/ NPOJ@ffX`*|$fS*y$H<g`-L&n *S gfX`B gR-Lp*nJfJg" nAcJg`R MJgp ` nAcB`BgN|TO/././.BgpK?NA*p?N|TO/.pI?NA\O/NXOL8N^NuNVN^NuNV/.pA?NA\O/NXON^NuNV/. 0.H/?.p@?NA /NXON^NuNVH >.0V@ @bH0@. PN`*pP`&pA`"pC`JGm*y$SGmJfp`JgHL N^NuNVH >.JGm*y$SGmJfp` Jg0. L N^NuNVH >.0V@ @bHH0@: PN*y$HGg Jfp`&R` $?NdTO`~C`~A`~P`pL N^NuNVJl .D3Fp` .N^NuNVH *nBB|BnB@=@=@H> G g G fR M` G+g G-fp=@R MH> G0mD G9n>/<HnNPO0@0?N|TO//HnN JngSF` G.fJnfp=@` Geg GEfbBnR MH> G+g G-fp=@R MH> G0m G9n0. =@0@0n`Jng 0.D@=@nJFo0SFJ@gT/<HnNPO`JFl<-|@-|0RFJ@l/<HnNPO`HnHnNPOJng .". -@-A .".L N^NuB |,` |"` |` |H$H"o oN""LNu |,` |"` |` |H$H"oAN""LNu H@"HA4B|?4<68@g AgDgDgC|@e|b?H@HA()|zx)K)>HC(K(4ނF)JH@ނE(JHAނEHG4BHBBEHCCHCCD$HBHABHBBD4BHBBDBC$HBHABHBBC6AHAAkOVUT|e$JCk(2HA2|0H@0H@C_H@NuTrpNur Nu |,` |"` |` |H$HCA NLNur0/H`rp0/fNur /fNuj2<D|SAdHAQQQQQQQQQHAIH@AH@BANur /fNu"o`C"/jD$jDA`|J/j JgRJk`JjDNu"o`C"/$A`JNu"o`C$jD"/A`, g J/j Nu"o`C$"/A` NupJfpN∲cd⒒d҂dFN o"`"/ jD$/jDD$@A`" jDNu o"`"/ _$0"@0HAHBЁH@B@ЉNA`Z|dB@H@DAJjDNu0<NuA`8k2|opNuA`&k | opNuA`| epNupNur2/j| /<␒|oJNpNuNVH ..|Jg 0F%2 "@% SF`|0F%2Jg 0RF0@%2H?p?p?NM\O`p?NܢTOLN^NuNVH8&yH g.*[ g((nHHAfJgR`Jf -=f `BL8N^Nu o0/BAgJfBNu NuNVH8..P b d.</NpXO*@ Mg`J%nf&M #%P#%L`& y%nf QP&m`(y%nQ L&h)M Q@* Ѝ#%n(@Q LB)KL8N^NuNVH0~ .\S@,dB`ƙ*y%L gr .gH g @є .*L(Mc2  d @*`* Ѝ#%L y%L X`dJg @Ѝ*@`*m%Lf g#%LRy%T09%T @e Sy%T`X/NXO/.N(XO*@Sy%T L0N^NuNVp0./N(XON^NuNVH .Y*@Jf4~0G%VJg 0RG0@%VH?p?p?NM\O`NܢL N^NuNVH8*n g(|H>g G,g pd`c ,\g pdp\&n gBH<g pd`pd B?./<N(\OJ@m <`JGf|BL8N^NuNVHn/.NXPO=@m0. @g0.@gp=@0.H/NXON^NuNVH..Jl <`0Jf 9`$R @./pH?NA\O,g Ї# LN^NuNV0.H/NpXON^NuNVH *nHH. :gB@`Za  e  d03t4p2.Jpfp?NATO?p?NAXO#p pL N^NuNVH *n "| MA1!2<!!Qp/?NATO-@Hnp?NA\O?</.pN?NAPO>/.p?NA\OJGlr/.NXOJ@g n (\fT n \g n .f, nJ(g n (.f nJ(f p;@B@`0H/NXO`.H;@+n=n=nYO/.NXO/NPOC I/ / NnPO+@+@+@.HA.HHA:.HA.HHA;@0L N^NuNVH ..*| : ?: : : S: P: <L N^Nu g @` f ")Nu(f"(Nu"(*)tvRSb fdDECH@HD,<>@D@D||H@HDNO|gVCgFDfRFgFG|8exz`Q~ۇه҅фJCjJf0Jf,prNug&~ӇчRf <r`SggNHFHBNu/246C|?IJ8<DDDg$Dg,B|o"|n &g((zQ?/~>BCHC|p0")4)zJPQ||@HBBBz?<,O`?,<HFh|(HDCHC҃Eg`B@HC(8"8` SF҃@fe򒄑E8.ƔE8.HBDHB8HDEj SFԮ6ӃBCHCHA0HB2BBSnf~2HA2 H@\<`SFo.d|btNQH@_H@`p"|_H@`Tpr,_NuNV/<Q .%=/NPOЮ N^NuNVH *n0- @l>0-R@< FnSGF 4HHBBB2-H0HH . o4H…2HdpAB:`zpd//<0H/NPO/NPO(/<'/<Q0R@H/NPO/NPO&0-EHЄЃB-@p1V6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 56 6 1t16 2526 6 6 6 6 23136 55(638?T??78?8 ?????8>2??>9j@6J7V8f9vabc0ɂ%PDNEFN^OVXh[:cȬdRefnboZsxl0ɂ * * *%xP ` ` `+r-r.˂0ˌ1ˌ2ˌ3ˌ4ˌ5ˌ6ˌ7ˌ8ˌ9ˌEˠeˠ {NULL}DtOUΪXcDd$efgolrVsu\xpD0123456789ABCDEF8wp D@PEY%c%c Y%c%c%sFilenameParameters%sATZConnected at 300 BaudConnected at 1200 BaudESTar-Net BBS V.91 Last User:%s Online:%s Last on:%s at %s Real Name:%s Access:%d Tele:%s Logged on at:%s ********************************************************************************prn:Can't openCan't openLogon: %s at %s ID#%d Name:%s Handle:%s Tel:%s Level: %d Computer type:%s prn:Can't openCan't openLogoff: %s at %s STar-Net BBS V.91 STar-Systems SoftwareCopyright 1987 by Eric Drewry Welcome to ENTER RETURN: Aborted%swelcome.txtEnter User ID or Handle If no Account Enter NEW: newNEW%s%d Y%c%c %slogon.txtYou have made the maximum calls todayTry again tomorrow.You have %d more calls today.The Time Is: The Date Is: You have %d minutes left %sout.dirNo Programs!Programs: Adding Program #%dProgram Name: Program Filename: Program Parameters: Program Access level: %dRedirect Input [y/N]: Redirect Output [y/N]: ERRORAccess denied!Edit Which entry:Invalid Entry%dInvalid EntryEntry not Active0 to Exit1 to Kill Entry2 to Edit Program Name3 to Edit Program Filename4 to Edit Program Access Level5 to Edit Input Redirection6 to Edit Output Redirection7 to Edit Program ParametersPEDIT: ERROREnter New Program Name:Enter New Filename:Enter New Access Level:%dRedirect Input [N][y]:Redirect Output [N][y]:Enter New Program Parameters:Program Name Filename Access --------------------------------------------------%d. %s %s %dEnter # of program to run: %dInvalid program #Access denied!%s%s %s%s >aux:%s%s aux:%s%s%s*.*%d%sAccess denied!Current UD Section is %s:Invalid Command ? for Menu%ld Bytes FreeNO FILES%s%s %s %ld %s%s %s %ld %s%d.stmFeedback to Sysop.s to SAVE .a to ABORT.e to EDIT .l to LIST.b to BORDER .h HELP.d to DELETE LINES .n to ERASE TEXT.w Toggle Word Wrap%dFrom: %s ID# %d %s %s Subject: AbortedSubject: %s rNew File%s %d lines read...STar-Net Editor: Lines .S.s.W.wWord Wrap OFFWord Wrap ON.A.a.l.L%d.%s.n.N.d.DDelete from line: %dTo line: %dDeleting from line %d to %dDone.b.BSorry cannot border!!Too many linesLine %d too long.Border Character: Illegal Charactor%s %s %c%s%s Done!.h.H.e.EEdit line # %d%s%s %s 4 lines leftSave [Y] or N prn:Can't openCan't openSaving...~vc %d %sEnter number for your computer type: %dTo Register and be eligable for updates Send $20.00 to Eric Drewry 15 Greenlawn Ave. South Grafton Ma. 01560 Support Line 617-839-5810 Voice 4pm-8pm Modem 8pm-9am This version for distribution by Current Notes Only Put system Disks in drives+++ATZ%smodemcom.txtSystem ResetAtari STAtari 8 bitIBM PC & ClonesAmigaCommodore 8 bitApple IIMacintoshTandyDECOtherprn:%sstar.log+++ATZ%smodemcom.txtwEfpSTar-Net BBS Version .91 Current Notes VersionBy Eric Drewry Copyright 1987 F1 Local Logon F2 STar-Term F3 Execute TOS program UNDO Exit________________________________________________________________________________Y%c%cLaston:%svY%c%c Waiting for CallqeJan.Feb.Mar.AprilMayJuneJulyAug.Sept.Oct.Nov.Dec.%s %d %duser.tmpuser.tmpPRESS RETURNPRESS RETURNPRESS RETURNstar.conerror creatingerror writingstar.conerror openingerror reading BYEAdd how many minutes? %dTotal Bytes Available = %ldTotal Bytes Free = %ldWrong Number of Arguments in mkdirCan't Create Folder Wrong Number of Arguments in rmdir*.*Can't Delete Folder Can't Set Path of Wrong Number of Arguments in rmCan't Delete File Wrong Number of Arguments in mvDestination File Already ExistsNot Found*.*NO FILES %ld %ld Available Memory is %ld Wrong Number of Arguments in cpdir*.*Folder Already Exists*.* Not FoundWarning: Folder , Will Not Be CopiedToo Many Files In FolderCP %smenu2.txtName of user to delete: User not found!Delete Log [N] [y]: Filename :Filename :ERROR Does Not Exist Already ExistsNO ENOUGH MEMORY!!Cant open source!READ ERROR!Can't Create Write Error on DFMKDIRRMDIRCDRMMVCPLSMFCPDIRTIMEDATEEXIT?USERDEUSERLOGREADEDIT%02d:%02d%02d/%02d/%d This Folder Contains FilesAre you Sure?Deleting rmdir Failed Trying to Delete Are you SURE [N] [y]Enter [C] to edit Current user or enter username to editor users ID number: CEditing %s's ID#%d access level now %d>%d%dUser Edit:Editing %s's ID#%d access level now %d>%dEditing Username now %s: Editing Realname now %s: Editing Password now %s: Editing Points now %ld: %ldEditing Telephone # now %s: %smenu9.txtInvalid Command ? for MenuUser not founduser.ver%s%suser.dat%s%sCan't find USER.VERLooking for pathname Can't find USER.DATLooking for pathname user.veruser.dat%s%s%s%sAccess denied!ID# %d %s Laston:%s at %s %ld pointsuser.ver%s%suser.veruser.dat%s%s%s%suser.veruser.dat%s%s%s%suser.veruser.dat%s%s%s%s%sNEWUSER.TXTPlease enter the handle you would like to use on this systemHandle: That handle is already being used by %s%dRealname: Please enter your Phone Number (Example 617-839-5810) :Please Enter a 1-13 character password :Your user ID is> %s%dYour Password is> Please WRITE THESE DOWN!!!%s%s%s%sHow many columns does you terminal display: %dX-ModemY-ModemChecksumCRCEfHFilename: %s Username : %s Bytes : %ld Blocks Sent : %d Blocks Received: %d Protocol : %s Error Detection: %s Block Size : %d Bad Blocks : %d Errors : %d Attempts : %de File already exists Try another namecannot open %s (%x)Go to Send File Mode! Control x to ABORT!Ecannot open %sProtocol Type [X]modem [Y]modem ?? Go to Receive File Mode! Control x to ABORT!Protocol Type [X]modem [Y]modem ?? %sEReceiver not sending NAKsno acknowledgment of sector, abortingno acknowledgment of end of file FilenameFilename already exists! Try another name! Can't open %s Trouble writing %s EFunction keys:A Toggle Full-Half DuplexB Change Baud rateC Capture Buffer MenuD Download a fileE Execute a TOS programL Toggle Linefeeds on/offP Toggle 8/1/N 7/1/ET Terminal ModeU Upload a fileFilenameTransfer SuccessfulTransfer AbortedFilenameParameters%sFilenameTransfer successfulTransfer abortedHalf DuplexFull Duplexlinefeeds online feeds off7 bit word Even Parity8 bit word No ParityBuffer closedBuffer openSorry Buffer Full%s: string too longEnter New Baud Rate %d %d Baud selected Invalid Baud selected no changeEBuffer Menu:A Toggle Buffer Open-ClosedB Save BufferC Clear BufferE Exit to MenuS Buffer Status%d bytes free Press ReturnESTar-TERM V1.0 by Eric DrewryHelp-Menu Undo-Quit F10-Toggle BufferBuffer closedBuffer openSorry Buffer FullBuffer FullBuffer FullBuffer FULL+++ATZ%smodemcom.txt%dEnter your Password: Y%c%c Y%c%c Trouble writing Can't open %s %ld%ld%ld%dPress ReturnSorry you time is up@@@@@@@@@PPPPP@@@@@@@@@@@@@@@@@@    @##No shell msh.prg-cSHELLmsh.prgPATH,\bin,\usr\binBad format in scanf ,P!,P!,P#$$*$DYou must compile with the -f option to include printf() floating pointARGV=%CCAP????????????????????????0123456789ABCDEFUser abort at 00000000 Bad pointer in free. L"20 >*    4     F 4  .:      *  &           &                8   "                &b       < N  &          ( 8 "  6 B N 4      $ &            &b     $  &       ( 8 "  2 4      $      L     &b     \     &       ( 8 "  2 4      $      &&                          6 0       :              (, &   6            "    $      $$            ,     $        $ *$     &"         D    &    D  2$   &                 ,     0 &                                                                                     "0                    &   B            0     ( $    (  P   $  @  N8     &"         .   "      D   "           (  X ( 6  2   (           V ( " ,&4   T b F 2  .  P,        (                         0<      $\ f0        &&     $4      .      " "                             ,     @H0     F         "     $"           &   *     ,*          L              ( (  N .2 &*    <     "     (     $  4      $ @"^ZP (&: 0$V\Pn        . " d     8        4T 4 x.   (2$ .>` .NtjJFPBLD |@  &>&  (",p$  .6*" .J0.$nBF\ @$@ (  `8*046 , 6&F^ &*,&2> 0x  & < \T  @J$  $&   $0($LVb. XVt  4J$Hl 0,-$l::::AHBPCXS`A0|123425>6J7V8f9vabc0ɂ%PDNEFN^OVXh[:cȬdRefnboZsxl0ɂ * * *%xP ` ` `+r-r.˂0ˌ1ˌ2ˌ3ˌ4ˌ5ˌ6ˌ7ˌ8ˌ9ˌEˠeˠ {NULL}DtOUΪXcDd!?Qh܄rxRYcp4iQ^<|߆x'7TP j#{Cڇbmi30-Uqsn,΃RsE÷b'X% !8HͧH$7l;Ts9L!nUDΏ܇X6AjZ[y#lt n*}5fJCX<^q#랿 mM(bⵖq쉾#LW|IoO8r6}y@z+t^%9 }oC{{O'x7{tzyLAHah,h#!#(tA'#Bt.v#;.81x4K}#sC!")Ȃ7QiAe$1*XAY8q n@1B$*$T2rkXwPo D1<^HqtH4`ejRJB)v#]s8APH?VS*a8〉7>hkhIp?LH}T@ hI8M(#,h/Hy`G" u*ߗX*7u*u=*u0x+HpA=A}dPe@n~u~QtPyiu7' ywh."9q#(oBXnPq(I$ :;岏h d (? =H钤"':Rf)'"$V)&fU0s$sOU<)B)5nɓyz/'>)-&w.9bwN@AbR^$ 2iCb2Y1oa s#eiO)qip* u P#9i`pjM+B UE?B8( ;ppyOPМs9'V%)W 'Ap OYAiPB뉚InrpwQ*ݑm`;*Am`q Q$j;ouw040J5 yϒsxj%T %1ɉ^VX"BszcsJmy+j3zYdu# i(kP+29:fTE4.J}M`6OjFysO2jG(z~w䥌JJ[JZs4ZZE*hW #-!{K: BAe ACICfCypyC=GJ*,S$Gr`d*jAj9aI*y,m@gB aʕ2hz#, (1s! * 5d@n$ 5:tAFWa?dZʅf6kU;GIrOL41Tcj eٺiY 'ʳʬzwmggwödll Agx)Ug"grK"{l"xkOnp`x5r`uPҸf}˂:YH{)ǹjg@q.*.ҸaJ*v DK<(p++q $]!Al[i1K"t{{OG?AG0a}kXok@tw*sk Mdt99hw(;xI֋,GBHyKo]6NZ ( 𾿙x1j > Lp*!_b071!~.}N:[]c{&ūcj cK$Y ,e`4~ p(>:r$B"wB> (+,,h)^rx!fHmc+-b $E^VL,bww.v|;28)~G= ;)K:H2e$uN 5s샩㍫g ,x.PN=NRn5.]vRw+ܼŕdvx@POР2zOEeЯ3s%jnȒx*x>u6e9iP4sH3`H4X6aUEiuicL_X\HJqBM,U$a wE2{$gw,B*d8?eKkKQh۰>y*z07#Z}z?iAz )`a``bODݪXey5aw.KQm_?`pyP:zo]s`Fw*]>?~+#N$YŰ? !Quѕ 7>jG$=,h C Q݄߻}KoO4q˽?+x^cO}ZCN p(:޶!d3,p=6'~AzOoQٕJ,2 AX/npG() `Y&a4_Js J3lNjv\e>kPjQsƸ!6j[ - #H+(ڣ\wϒ!D7E#w*(2*6Qau;Q[#m"ӣH'=ap&/kPN\  b4r쾂&wO zv'򆺂c2zLPiINݬ".O _P"ś$>BC*!=q58jV2s`as*iǚYo*͗1hڵn -I}*aܙ:c1H|~1HO49ު򟦊)&7RF㪲R>gU;@-yDtK$𘊩ց"O"cNM=f#,a _,.O;C^s*^SqV'AEG{$ǃr0pǺݧ,*LQ)Yp#l!o =X)p Y۶ ,j)F&Aܥu}BbmRM7*8V1u[(K/>.S3wOKŻkiHDc[Ab;8c P/AImr1Zfo}:;03i!`(TK! u'A:&X_Mp߇JWXćz)fPY*Ճ"qF*o+DO %jṊE;>x@pp3O载uھN$e8r*iYiNV܈(&@$.w~{ i*OJ'GVA(%E\2n@BJ1h!H6eBrD3eXƸ"E ҄<0sN^Y 4s@#9aH wY#MHnH BGeAyNrв*U(^e> 2[~+,0i)3 iJ͛;,əN ĂxzMORЅ5' rq߳e:);R!\un+_MhHTcMV `:`t˘58 dw7gR3\ܺ|9.IO}Y ́uvb v`}aqBgFmQ `S =t PH-5[m,A\Rf1ŐCBHbcAYer$4ac9 B,I $SLAEH1 LLD0QYHdSMDA0O 1"oSUuUVR!V/AfTU@|6tS cqYHPu$s'h"*I!d6QHzT>]bqHRmgji(!q рW w}ZV)Ee\-syb}UsF9Y\mTu }b~]~'m~mJXm_ F6Pw /u*/r'@51rHMT m*C8m2VcP'yL Y#6.c\e!F+ LOuG\U7VHRQLU'b@pPGj"vrFKk4HtJ<`fdN\ or,֡&JnTnrsBi(G;7`˹@z|+#vznYS^]@My[T|1I1d yup>K07Lg M@çUwx J@& 2ԕ 0A 2!E\}(yJ+uؔ@،K rYS3,Ey@@herSA@ ev +2 QÔƐ3d1s^# BT:2 üozp2@E ʓ lZBD5. Vqz˪+勘2AHӌl7yKP?e"G&QyUZ{`,xU [J FǞ兯*6"h_l]}l3a ȑ LLJ(_\J P`\7e^|T6BLke8$h%&~ e3ݘ;`EDIT?[P8ʼp,U R e)QFBw?>l(]Q0{+!Yg7LаvվH%GS#9ȼDoPJƾ.W[ЈRT-j7Pan+0v "XX^>U2fWn`&N'Y8 &OM@ӱDz[5E*lA*ŌTjt5_IU3*! )A\Rۮ P%GwXCLF2c2僘ԎO0ȌMF0n'(ώa ̔KU*Np7GQ9;>̆K.Crd*sK:+`TNa0kP0E Z36!kOk? WF{_j-,]Flr!6y[?Fr{{m2~Gh>~[Rp]o \ǔ](wWT2NA '_⠝L@ V8?2_Ӣ3U&hH Xm50"o BX6.xZ3#4Cw& ;aUHsPJ3*)F+tpCFLktHq,b v~gYg#3,^4.BK J$_20V281wfD^AS]F.e82S,[Js5&9g_1qVQ3K!1(?vI!s:%Gtuug>x6gX6wP8s~(aWFA,b~v/sl3(x?J(L<~asDr)GO@uA!'Y٘@bf>+]DBu-">1AFqB*JK'jeA=J7fH;T;j*v2Mv6sP3xiQq%#<sE ~)|oBXdVaQ]jTeT%/,у2.]GwCwyoR k&cv5؂c8nÁ/@# dYYby$$h]/ d&C #f~ &g{j`^*ZA7Vڰ93T-8 GNXm=?pjߑ1_0b_  n 3jqa;#2h ?"pjt.!@0pjLA胏=r g0D?9E/V H2pB €upr^0 HZv<(Qz@<;!@:1݌ejg!zP*}#@t :*%K@@ }a !̓*pC?ܠ@lɇIXD5ch`Ql 醺u,~'D't 0F*`4G$@3h 3H@ 5Q I԰?OJ F%ARDw2.8 ,91WɁ09HP  H 0,(DpP" Հ=% XFQA@: Հ Q it seems unlikely that the boiler itself is faulty. 80 35 I had passed along that same road many, many times before, but never had I seen or noticed such a variety of flowers in the hedge. 80 35 After the meeting, typing out the minutes of the meeting as soon as possible, before, in fact, the chairman forgets t8X16.CR2yt   d   `$PA D0B 0dаC@1D 'PPE /`Đ1F 7pбG?2H#G$QI'OD2J+WdѲK/_3L3gФQM7ođ3N;wѳO?4P!C%RQ#G $iJ.aʤiN> %jRNJjV^%kZnʥk^~ &lbƎ!KlfΞA&mj֮a˦mn޾%0`HH $ 1'~>`|G~l0  6 88x 3!}] 8 `)g|膹>8wL@ 6C߷ I@ϲ@Ra~y{^+rja} ۮ*`(oڇ^1t< .<.8aLTf)҇*ta M5|@4- = <؛RRI~@xVNec@׋OiC/ ' @C%3835lDm _h8&T+hx@pz,{P9w=C-5cf_ޜV%  je*R"ۍ.&ADBAp1`TP7sbaǃ} Gp8` \׸o=oCpw"|EDi\c]7.xc(F2'Z7|8j >.N??@:Fʌ҂H95r1*W(D.rr$Q(|:e DɏU QA[T׊t*̐J&XQ)(#.HT5I^e0H,@P[F`&`0 ~>`'@*38C2Tמ,O6`6` $$hF әIOjMVlڗ @X^r䇚66AHC 6.'/RVܤ)Ye5  AӃz!>PM.aЅ*dWo<=.%Vw i~@%8jYH8($ږ,$e @ղ>4@n @6! H Є'8mhϩ|pp3'0 Oj|p <`m0a`wͯ 8צ`=<Xj@ .b ~Lj"*e !0A&Ř !`g TBi2 A@ V #8u zUL0 <3Vd`!XmTr$,.KMr'򑣢7N &xeэ}2,S|cè8u!F;`0rOblJjF'9uj[H@@Us]3c6-@@8X8.CR0t y  d   `$PA D0B 0dаC@1D 'PPE /`Đ1F 7pбG?2H#G$QI'OD2J+WdѲK/_3L3gФQM7ođ3N;wѳO?4P!C%RQ#G $iJ.aʤiN> %jRNJjV^%kZnʥk^~ &lbƎ!KlfΞA&mj֮a˦mn޾%DR4 ~H'4< `8 b|%T7 Ї  ?<@G `GB `A@JH! >)p> P@T@!< DB GUi=P):% %}7~Y PJ8DiG @Ї$DAx|y&gNjpi6iVC{){HP Q*p ƨ"  !Ji)nJ:hi*djڞj#H1 !*7Zi!  DƇ1Mzkcpk! fKhtf)95 Ǚal L;<+1}Ɯr+6=Ln ``H_.ʻ HB+[ePsTb % (b 0 (+! 訟+k"*zۤNl`vlL^q!c zy죧Ddz D#p0ܘ晧&7x&enk/df0o: u(@||Dk|8fH:(xD"&  Dtd<IWC`BTH@%R B<2T>!GJ$@f@ H N0"AdSL|"z^0?xOF,`<$!AX}eG 0zPb~ KV 2[B`8mVZ`,+HK\R` $,0=,2@ rI9 X@/Io>Y,)Ē{j 0@?(0Y/ :?L#A@=_E4D@/P( 0 v/GfpxJ `LԈ>QJ'ѧG7~ C$>G?1?,7>1h<4 H?8JX&\?X"@U`3QR`8X8.CR1t {T d   `$PA D0B 0dаC@1D 'PPE /`Đ1F 7pбG?2H#G$QI'OD2J+WdѲK/_3L3gФQM7ođ3N;wѳO?4P!C%RQ#G $iJ.aʤiN> %jRNJjV^%kZnʥk^~ &lbƎ!KlfΞA&mj֮a˦mn޾%DR4 6g|l`F8 3vG_B8A{ppa?<`G  `GB ( f|BB%h~ȀB<$@9$`l~( Ä% 9fA#!"}r<)c3 yȦn|i$|| }Q|Ga&^Z`Ѧ|9f{ i{Q)x3?3vᇪ&ސ&vanye{jX;'$i:fi&3zg~ B?!}`ƢrZ)}`R|緜.JZ |I?`FZ仅 G C<@)ol1}<#fJr·"}bjp 9[[g0@ba{b"x)@3n ƺ&Gq=bNJsËTW.l~r|3[bpC.Ǫ3ʺ*nI͌?7`lʦŝ[#;.8,>5| /3.@`x=}18όi~Ѐ/SˆEhg ذa<0n'U@ll6!&(xHH<6q;nw(9J;"EAd 0!AуZ5^"X\B<=#?Z`-# }C1!P}|$89`1c1d8e XH<Nz$>8p.'@OC#/9@%)4XFq,p@8?0% KAN00 0'@vi p3 < 31Ӌ7m'2HOćo0я|A0'~Jk >L`p@2TH FBVZf` BASIC205.BINk- `4 H?!=x2eԡqǎ )BI7e@( J:TB%H 4P0?@I bd APB C@41!v6b֜3ǫ3섑 ̜1OH9@J'_ȀQci'Py2 $n攑CDdY4cЀ@cNŌAy','2,vAS 8?̱&5e4`c7t!SGs=D&e1tQsI9 +wFx POɭN!u$[\s9@DmDM[Lf& Gx!.Q"i s)X*^ehT >4lspcBovԵeA b BWfI 5ad p؀VJrޔAAXQj1*V!}ROAC ^E0@ @pAªꬬjDL :E[ET(iY@PTxZ7-O\D25UIO@@  0s pAd3Oz! ZBd0@0[8Th`&* s5*NX" ` (`FdDA j/6h#op92H#i@]toF3э3A  0A W `sOZ3bdJ4IE*r%k5RR%sBɜU Y)`r&U%L\R@fF N9ڄe7W޺7qiqre'c)ͬ]!&3sm1d?5 N֓9G5Ь%4V>P*vd(q25ɏ2fCJŐ lKYR3k3bMpSPrd(Xʠ2T,LSs)%>Ʊ 3P5PoɪRPR:NOF5V x&dw^ L$D`pX2aH +]q1ֳ?*9i]+ UfrC`6 8^K[ⶹng'ߪ(py`ps_EnԵ.$K\rXwC\7΅nsݕ.Pf5/x@_p'#_" {_/~û;.`3^ӡBw>75_X ̵]@c1A@s} &pYs6=hcAhra/ehChrCL (EM !>ewg>M6!p 4[:7~kY|(8-^듫<s 1hM`'fps68:a0@7Pz#3@8nᲴ2K$@@2P 03`h&p  f"[@X@ЁtM'9W';^6N6^Q۠onk du˜a\іVM137"иg86m\*2L/5H~t"zgh+k1 "`}"/P_*eP8P=*JPN7n #KH ar&"@]2hRus1\b'&n"C=5+ &\bi> f`7l?08Jdi3L4G0l Άw`8!H#xad„ A% Ʊb2p3p4p5p6p7p8p9p1svXu1؇8XxU7*A8JTPPTX5h2؊P@W8 1LH#*ШX䈍<⋯EEAOOh҈؎(H0cbp  "0$P&p(}*L3*,.0f@ i @[$P'+)-9/y@s}bP>'@,Uw` Quf3L BCpd49o4Gse3j) *C+IzINIuyX*i Yg@ly0$<5}22@Il /`K// wWUIXG⚬rSr-vTIQMڰ/happwp ``GPPPG@@@@ `0@` @  0  {fR?-P 0 ` `4 #_YTJRCC` X@S1NHr[ДTW +DT5 $e e xeeP;psp7>>====< >0+@-Pkf*p/^v '@(t wvP0mPoPeqrm?ptnouiJ 6!p}p5wp p 7t _Q?C oy #(Q &k` *ZnZo^Vr Q(R!} ? i`Pp0}e0 QYA f?V Dh 7; n h \ .pl c 0Uvn fXf@0q3 f8pcP 1 `{ p0g C?ep0 o?Q$ Bl !7>! f 0~n@ 1a 0bhrp rs f rd r`c GprHp md@ѐCuKo԰$sAՀ e؀ QڠQ;G}`;F#` ,)!h7%cⰻ6f@kVpkDK$k؆t +@\*jꪰJnhຸh 0`X@Ņ R)$ 7Ƹpk+?F b}с pAo pƎ͇ o\o bpo, KRoƓ`蹸@ 'qʸP ` +Ɨ 7f PD !"Kƚ@ƛ .B +# Pn  lgPape Ҋ  ) w<@ y0ϸP j ` j@| jЌ jb  jy `dv o ͮ%p jk' < (eͲpTfѳYʹ#̊ f ?c r v`ˑk l Ƽobn! 2. o d +6  < Ā0 0fd !/plb y Ƭ G[@>@ѡQYe &u vpPr w!=bplq ke& ~P ~u@ % ^܃`'dp܄ k؆lpo Pl0npl ` 0_9bШ kql\ o r> ]"@ !>P {&n &~ l9 ߙЯ ` g p p  s;=r ) t P&^ ` a 0v٨٩Pg q x|n `i pܮ ذ@-&j>- 2!0 N ] &p _߹ ܡa G  i a֥  ( ~k]F- = |@ \ @Ɛ ǀݡٟ sn~o ^ p@ek p W |' 7a  ` @*`s@~԰r^ k#m yLf} rPf m KBޠ ]v0۠ F  v &h lad"̮ bHXPr!QpfHɠs1c=s p p ,wo 0 E b? ^0d; `COpa̟& ލ  ڑ2zC?{daNfPTC9}+Π`W ! Xmf  J@%y<K# f0 Pc`P\r<l<qHe'_J'Ej  V35 W h' }2 @ }" X'` }r '@`*RJ0'Њ@ 4' } P } '} ' }  }b '`'} ,` } X 0:J } PZ]PZ]PX0 Q@pҘJI*C' ::6G@ϦɦT'/KY)(NAg + RA(DV08 ڷʩ*hFAybȃpW]A)xOm #Xr 6CxxpXħ@>+M/: @? V^D0dF #2eld1+ Qm,p CAI FJ Xs嵠׭t+&/b&Dhm9S@SJtp`Q֜Sȣ GA3# P~u2:2u.AbhB@r -C@{H JA؂tPcEAdlՐ n@Y/@CpTCh (+MoS8:Pc6h1PP?0&Ǫ/eAGn̑n0'2K '@A1JNp \ |ՎV]aWmƋ;l@v{{﹣]پ,Xdz2-^zgh[.禛$;o-l-w[+̰<,W JA';@d"mxVcK 8m 0 0C 0 Ð1d+C 3@C 5h1lF '؏gA 7DtJ}g\aG /Gq e@_x6! sAoh69飙P1D C0 C7XP o f0CP! dp` 7ȡ aILh0HO"Ȁ=3A|i!B a4AkLg@Oћ^2L 9{Ջ+Bb0aH̃ 9}_#)= >ZрaB'ֲ PD0 \ w=\z@7Vb`"krcϘ2Qml; G֑Fxy`ә@>~. ,f@ ͊&F& l(˹{䠈YyrU ڮ+`LC88<3 xȟ " u 8ӵIg`I ciOp(lOAPu4z/EՀgb=7pQZfZS0mU]Ǚ6Zs۰$!IB^Wڔr,q gC U7!Q`%u-98w&אJaȇ[ °5 m hclQzP鍳 ].XH^s4Uڔ!GOZ)H+:pv)A!M|u0@r jKL>Ix޻ n‰B eTk:G,+ Bhb{B9|9qKla xw}; ekl^s*<=+/U(|b#O`X 3'A8&-9QMM•$暲~(Ґf. |K╎ "+Az ˴ILczr|ĆmPRE?nU}tuC_$&uiV)PLWdiP4PUFsčauMY(]n L4>$@q@qHT=?I k'6m$BA4~s`$4+bOe`=nX_})gM`tf=aJy@JTa O\K^huW%7 4N=Ea>4'UUaH~+jTƔPT(M^j}GKY~D~d~;et焖EّTywÐyr0uT?gguX^zR_UtyE9uXNIDymɜuHDB4=XWUe=XYmW^dŞ~i~Anp=KZyǟ_2s5RQWN:+ zz5%>?$Z |k/:j$3`&n+JN@ |0,g`g?`/^J[ T0{& л{ vzS{";೪ޠ C\;jTk_*S  .U l{Sܫ JL`Z pL g>{*` KЫ6  f S>0CʧBP[Z JP g"P> K4+0>d<K~C E f'lًQg`y$ 0\`0 +z\/@@_2R d` N @ K>Jg  SH@~, Wʱ|m@C_ lΠgl f% `)rP ,tgue` Q " BT;!p@0gBpks{&`P CЬ J;|;\6Gi >ƐKJg @g?0p,Q,f ~,H~`Cf~@0,L S-GP՘P! o PI)NV3J,q-@x4~=0%˒- 0Z׎ sד Bp>NP~, r<^0!# -؇A Cuڀ ^G2p@EBo8_{Gb \Pݬ0J=(`!B$q=,0a-=ޙ=r-JCNP,¬p0?M JgHp mK@J`*@) °8p(OjP>˩:\@gΒ0yp0Y `JDYn J ۸{Bn{`6nP9-p;nо~ \=tɤ: ٿu4" L T~>&`)6 YN `) A  A468:r3o6_QfF2vmDv`XsDp.Y7xL0@0Pg ,A`;p0   QLnpPZ` M@GYff E*M #13S"Q,f`f2k-g Q f1)A &|L; P 0;Q?0/x2g  .` >% J뀪cm,( :I|qN(@"NR37݀N`@ ๰P耰ߞ+ ^/ / 6 "\`)A@1f3`2+6[G & G0*C|1B40 40`Db) F+C0`)K~< C` B0Rb BR0`@`) A`)`VM {O BP>k( ,< ,_g0 1aP, @M*u Ⱟ)BX;u v/BN@ d`~Թ.I P  CH`!]SJ0Pmgv-+0 P @ e k-0@ΐ C` f g B`NJ@ *d e R0P!`ppgN&dKj`)-@SO`) @`0/ - C"0 @ j@00J0p S0  Q uBJ0kD00D@z !0 P`rJ0gj J@CB)}*S0 0 RJ0kD00Nj?^1 pD0J +g8>-0` l> 2$,RJ&;!Y8j FD~L@HT`: Jg\ >0pg`S  f$ E`0pFja /ACpLS30 9,S  )ҢܠCpLS@ 30 *S 1"na S@ܩBP'\;,0oSjAN0 k 0Gg j9}0AP 0[@p f g j0@0` `ն9Jé@! ]pLR P Â4P Lp.,f p.JB.>pV L T@!:V- p.*l/T@ V9]bp%tpLlpupL4 MðJ lRp B@ _l~b    j, fP0@0` e0( ZX0AP3B 84?2XLq4<!@"(4HրjCљHG`?tA7E* fh pD΀~9AM0C0P0f[=} L9^tJa@Gˑ St RHq Pi B4g@a Lzǖ0HJ ?4f,hbW ϔ bAnvqKBt*D>!H *JXp0pTDQkh9R"O4X@x`   $ BTD+H9 M Q%< P `aABM` &E| 昼Lџ7E%EVNM JA(@[#L|?N1MW:% # Kg$T1&xA A0TcP%*$1 UA&P]!B;Bѩ -pZЄMD$ LD EUx)rBL, Vů tʦA!jta7u\J2%`5 "T8#BVI?ބG/ː!' 9}:*!fH380.),CMm$g@ДOv`Qe[)@a˜6@OØ248!lu3f XƧNZ>/ P.$[ `n"o?,!?-Ncpn:h@G"x@/4`1Ѐ?zP |!BN0EE2ȃ 8Ð-4d APsPpQ S"̀gG@$4i 3iA@ `)0"uA P!fB\$i@`AӀ0F#;D B_`t`\* &=;H0(Aє?8`/ x+)0@1,.ӫ }p1BEk+3F%H3 h)!'X"0AL@v)2Eu(! g R '] 0h j )p4pԢ`"x ;T@M$4pctXN @`!E(`11PKn2(DNC@GF  jG? ̑@ 48ĭ @@! t ,$@$WX)9P8G HwӁ\"DYdGTT/b "n2  4 ޵$-]hЁ)Qe*Ơ#P" 7&f 99A@TK欁@P @a2(`RT0g AS h҇Af@|P%;*Sp>Lh@?T(qDŢ#TٔzsWA+6SAd`U˜lAMN|$tH!?9h@POI"20HDAB;>E 0 W7F +B xF̠D 8me(c{D "!VH:|6`"G F wt{a0`/agzЀF ?  ZY {}}q@r]CM[$@ $/! 0 Z$`fB0 C '(0y`-T625A Jp$MbAXYD\XPG'N\E 2T TgQm[Y@ F0 S@I@sw;78A ƉԐDAYb$L=Pg! $ (E)/Q\  )/ +ASRSGN@PR& RO@T Z1@Pq`X/GQhXG <TX=GǑGAR" eN# 紌(’))@3ّ PrbT? 4DWB pr/#0B `>eC>>A)Rp-uYzC U @C@ E gt)TE5yrB:SA"`0&n[L "9 MEnvP/  `y/ tT  T%j1X )Z f ZU _U w`0x_L$]L y0`4 01U0^0lY@Gqt U 0D0gpM*%7<ŸE S,Y0 U"`bb x)U S› \ХM@p@1l0pf`_g p0Z2pT>pN?pHK Y;j 7!# pI+&  (@@T)TX).@L$ V,pIDž@\Kt?T'\< Hl\ ]r0@ `ɘ`҅p ]dPP>`@ I6 )' 9/aQT9T yaw -\Gܠvu. 45#:ʢܤ0:0Y;ˤ0& @Up/Z[_ok1uԽ,` vt\4u.a0K /$,`/Tatg b&tg@?< @ 0Q}pV(0`/򷭆H7Nge8u#+XO`1k;0 & 5# P34a "/ >+|UMf /^+E3Dn@[eж/.f&RGRU2`D 4@ Zf ܏lrdhq> (m814&B/\z3S)EʸN S6f` ?" `԰u0T bs g`< / 2` l):bc# < KH+p 1|4&\K߀0 M?EqtRwЇS# |Asr԰Pգpg H ^a̓ < 2E,p om V  tgl@p)&.mr5$1 qfpxAĵ HmK 0} l/Gw5- G=^ӏMq 4\t=<_]YT@ p0' ֍нr-^``x LC)^pe 5`0` \[D<@L@C "(h4 -^Pp~ ~:  E +Ls=QJFd?:#>r_2IA+K=2 p#Gv&&0 9q.<pt #p9<&А `>lH 0 NՐ L>~& J Z`@Ma42/ ` 5^QF`/DNTD0nmM T Z 4#ߎnpsn^c`M` Z}(n&N `<2/0'ոLAM:N,40N{0>N4,^44t\.`c@{4VivDI iy;j j+.p zbbn00 # eoWm?v^b9b0=t0[`e n'!U?w(yФQv7 5}`- Uo[~`Y@/Bp<)k *V*42apx0b@!* KΰpLCjDM@p)fu*@p O}UQr,ph w̯@  ? VN'=oڪcMbf%p0ϫpkk& Xg0 +fk# @ \ T0 |t0@@.BS`!L0@ap0(r l׀u"x0L3@@6a d?r 4# evf<+#cf@"J j3S vƆ 1@j 0` X7i9X# XA 5 t1E+g/<`< HlA `& )B"`- '(@@U< U `'P,'L` /1`_ p.0d?rioDs?r1El!1w yQVjN2R 4:DLdY+BMLP@2gY"+p /TkSp Mذ$MQ!5RC/ 5QQ )`9& !4 HݍG?r? @L*2V ?r"B P:_@~W-@ME:`*gp`/0Z -I  Z e v . /Z -B0'& tup= eЂ0a栬Q@_^L` T)4@ x  FB I"FB C* xBp$!0% 20a0ap=S"x/~` 4POɭN/1FAx0IAT,08X|ACZ|@(jI @A⋒A$_0‡/4LbLO[8 XB ZՋO|dJMWR ªu0)!pD 2(8#BAD"^$X{6r@/_v 3$laR9S_ &b> ˘2f͌K"Bi(Bke {)푡%$; A] Le>@~7|GrD?R?L|V>y,"o (HD>6* <$c#ϥE\\TIO&u @"BQ[G&D:i)LHMEx(fh< #C ?Rax g K]e!HiHVrQPBDoAEeoƙ) M,X.-Y -1Q oھMHl< ? ra%_xlF+ Sѭ%V@ ?Ѐ /Z6c750 >ьmHH7hY@! ,^yT`7޳}@5㳵PE"7 aX0B (pj$6J@;f 0?\̦@ .u(BL!ވB (a`˙gpf(@O HL60`@D `g a 6+=E0-:(` XXP%H@aV;6^XL! D#&Pu8^YD!0+. )= zt0X/~C*`AN#o gH(>DN0B3(@VY@2cnGU:%>$ݰH !b!T pw)N % H' @ J2|$)A @!fS4t$3`g851%B!@rNҚL KX,[?\BLB@QHJ- E P *!p}A 7P ў,?PZSJ(f,.yE0D x sƁX~v# "1VT8U$;DN!Hx5AU`I9֪ |)/ 3'5 ((qP \-^QHք!`"k 8xER[_S []xrL2gj@WɖIFdK3M5mKDz, jMBh@&@ 2(DR@DB` @@g\>C A<3bR3 0c tx3pA{ `d2?YEŕ@a3 /h0pQ @C"J@0t#l ? P#''D2h3 `' 6X@p0't3+>3(g?D`#B Cum5!To97h¸ =O#3 FHt^z `I 3 @r\_af}$U$k 2 $>s!8@AH 2~&.I P!$`- :HԢȲ*NJ&.s_ (ᖞpcY@Hu6X =+Zx!E) _@/Mdʁj-Zp!ȓ6@{t1k=ŞZ!O 0F$)1AQ[-P  '2$n)  AC` w0z+~DXX 1iR)8>?iQ|e*N@i`~8cѯ[+AL߶Z`  ^tDE:rT$1PyPyDi&( # S` @ qaWR3 i% h[  6 H`7Ho0w1^b  Ѓ aChHGȁ$Vp s0 ;iwT H?Z[[ Gf Nf%f $@`:H@x>P Q> 0Bsii0ʰ f F SR H dXaC0`:(  @H/  pg{`i[b/ >_Pbd4X>:PCAJ>[B: 20Z ʉ= Yi`=dɟ懚//Av*?g@( i듞H  )`zpKn< B7|Њ p@hE'sKp`Њ ` fY,>WyU* ︕%r-N~-eJ` mV"c`Z vS* l \X"g38i(t(s1cAB2! Ǩ k ݴ0PXr2@b惮?}P7`@@7Pyܐ`w0`X`ztCf`4O ؋+ P UK:CY P3@P 1bj>Q+ /YIu %S/p6 @p.pPJkYI@ Y@ JP"$ ] 7 %RE@V  ~` tig[R4mP6U[ Hp K EҰ=ݲm p0z ޠ+k~CcY?FP ~{eFEr'uк`,SflP@~u7 ])CQW"o8Zu ?."h 3nU< Q`J`g" . T -!Z'@mV>gGR0P\` K Zی pi BPA ? pI3\. *I8RMĠ8`@JB=:9R ?" Q osPb|6# PgMK4 P Y= >3|(f8@Չ9](Q h'J Ҭ|GDBxK @FƐYt 7 q% g\:o ' 3  `S~p1C0r@v3 1`{ݧ݁ m@ p- =t`a yZ~f <@ڠ|_ZQ1o`iU%Y"R %R::GD ur 1@ڶF[U=  Xg"0#AbaC 4@ET0V=ŹK >Uea@@ \ A@hi l`uPX`ݥQL0e-ʥ47gSqQ(0E /E %' S@= >YK ' =tDtp ,`֩ p>e?S1Dl/"B@ . :.. . ;.. . <.. . =.. MSH PRG>IARC TTP C`*&*o m$m,B"HJgP"&J$YJf"Jg< Af Rf Gf Vf =f Jg#B "&J$YJf"Jf&f2B "$EHB2 r ggSJ"g fB*`B" &#&.I+I/ #D//SA?/ / Bg?<JNA Jf.?<?<N ~>N ?|BWN ~>N XON" ?N ?<LNANVH/<LNXOBFB@>D"n i  g&"n iJg0G$n "jRG`0GBRG n /(NXOGoB9|"n i  g("n iJg0F$n "jRGRF`0FBRG9H @f p3J`n/<a/<DNPO/</<DNPO`BJyHgp?BgpF?NA\OJyJgp?p?pF?NA\O/<ENXOD/./<D/<BgpK?NALN^Nu"o o JfSfNu o"Jf S@NuNV/ *nJg/<~H? yN\OR`/<~p ? yN\O*_N^NuNV/ *nJf0-H@f?<NTTO+@f+|\+|v`n-H@f2-H?N $TOJ@g~f+|z+| -`&+|z+|-H?NTOHЭ*+@Bm *_N^NuNV/p?B?.N DPO. fB@`0H@.N^NuNV/ *n/ NXO/ mNXO*_N^NuNVH >.*n / NXO/ ? mN\OL N^NuNV/ *|Y MeJg/NXO`*_N^NuNVH *n-H@fp`@/ NXO>-H?N 2TOJg-H@f /-NlXOB-0L N^NuNVH *nBm -H@ff >o?/--H?N ~POGf$JGm mAf -*+@`+UB@` 09BH fByB`-pL N^NuNVH *nRm o/ NXOJ@f f/<~NXO -?/--H?N lPOD@;@ @f^09BH fByB`-Bm `F0- Rm m+H URB@>-H@ g G gL Gg 0`Jm f-pL N^NuNV/ *n f/<~NXOBm p?Hn-H?N lPO @g4J@gP .f -H@ f< . f -H@ fB@.`(09BH fByB`-`-p*_N^NuNVH >.*n G f$-H@ g/ p ?N\O @fp`0Sm l"/ NXOJ@f -S@;@ UR0L N^NuNVH >.*n G G f -H@ g/ p ?Nv\O @g^Bm -H@fN/ NXOJ@f@p?Hn-H?N ~PO @f0` 09BH fByB`-pL N^NuNVH >.*n G f$-H@ g/ p ?N\O @fp`?NAXO/N XO`B@N^NuNV/?.pE?NAXO>l0H/N XO`"?.N TO=@m?.?N XO0.N^NuNV/?.?. rF?NA\O>J@f(?.N TO=@m?.?. N XO0. `0H/N XO.N^NuNV?.N TO @Cfp`B@N^NuNV?.?./. pB?NA /N XON^NuNVH ?.N TO @Cf|9QH>9PHHP*@SnmSGldpQPB9Q/<Pp ?NA\O>l0H`p ?p?p?NM\OpP9QH>9PHHP*@0Gp H: Ef~` n R RF E fn PPQ0`$/. 0.H/?.p??NA /N XOL N^NuNV/. 0.H/?.p@?NA /N XON^NuNVH >.0V@ @bH0@* PN`*pP`&pA`"pC`JGm*ySGmJfp`JgHL N^NuNVH >.JGm*ySGmJfp` Jg0. L N^NuNVH >.0V@ @bHH0@6 PN*yHGg Jfp`&R` ?N ~TO`~C`~A`~P`pL N^NuNVJl .D3Bp` .N^NuNVH8..P b d.</NXO*@ Mg`JLf&M #.#*`& yLf QP&m`(yLQ L&h)M Q@* Ѝ#L(@Q LB)KL8N^NuNVH0~ .\S@,dB`ƙ*y* gr .gH g @є .*L(Mc2  d @*`* Ѝ#* y* X`dJg @Ѝ*@`*m*f g#*Ry2092 @e Sy2`X/N XO/.N dXO*@Sy2 L0N^NuNVp0./N dXON^NuNVH .Y*@Jf4~0G4Jg 0RG0@4H?p?p?NM\O`N L N^NuNVH..Jl <`0Jf 9`$R @./pH?NA\O,g Ї# LN^NuNV0.H/NXON^Nu Now outside STar-Net  .! .! .#d~CCAP????????????????????????Bad pointer in free. L"20 &(    P  0 .6*" .J0.$nBF\ @$@ ( 0,04 , 6&0&2> 0:  @J$  $0$ 4H 0*j2L A=CRPD94L AS .0!,D\,·jS .0!,DS .0!,D9S .0!,D`*0U}S=$^Z\IMVjBDADADA !Kk \[!RJt N@Qy,@N@Qy,@=ADPD9N@Qy,@F#O@N@QyaAPDN@QyЈJAPDN@QyhFAPDN@QyиLAPD5{z pAgA@DPDEIA@DPDdAPDD@AAfEIA@DPD$LAPDH=Մ,1O`+AlF\{:)][IMVkD@C \@uRGYRMxP{MVkD9O`+lAlF9WPpD\]6w0P&SpAA=SpAAASpAAS .0!,D\,·jS .0!,DS .0!,D9S .0!,D@SpAA\:ڒw0P&SpAA=SpAAASpAAFQ`y@c^N6NWNNUNWNVNW4NV$NUNsl*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhN]X/,?,N\?<NPD?<A?<NAXNuNVB. nl:HlNkvXHl8NklXHlPNkbXHlrNkXXHlNkNXHlNkDXHlNk:XHlNk0XHl4Nk&XHlHNkXHlzNkXHlNkXHlNjXHlNjXHlNjXHl*NjXHlbNjXHlvNjXHlNjXHlNjXHlNjXHl.NjXHlFNjXHlrNjXHlNjXHlNj|XHlNjrXHlNjhXHl8Nj^XHl`NjTXHlNjJXHlNj@XHlNj6XHlNj,XHlDNj"XHlVNjXHl|NjXHlNjXHlNiXHl NiXHl:NiXHllNiXHlNiXHlNiXHlNiXHl(NiX nf\ n -h`H nH|Hg nH|hf(HlXNizXHlNNX?<NbTHlrNi\XR nfBgNMTHltNLX)@fHl|N0. n /NbXJ@g"0,g0. n /HlvN^PRlRn0.nm0.N^NuNVBnHl/.NLBP-@f0,g/.HlN]PRl` /. HnNaPBBnHnHn/.N F ,gP/,NNX-@`HnHnNaPJ@fP=|0.f0.g>0.ne0.nf*0.nb Bg/./,NN, /.NBX`zHnHnN`P @m`D/,HnNDP/./,/,N /,NNX-@/,HnN PJ@fF0.g*0,g/. HlN\P?</./,NM `N0.g"Bg/./,NM| /.NAVX``&0,g/. HlN\PPBg/./,NMF `*0.g/.NAX``0,g/. HlN\P/,NMPX-@|/,HnNBPHn/,/.N& Bg/./,NL /,HnNP?</./,NL /.N@XN^NuNV/BX/././,N7 BgB/.NI /,NJX-@|/,/.NP/./,/.N# Bg/./,NI /,/.N P?< n/(/,NIz /.N=TXHlN]XJ@g0,gHlHl dNXFPRlN^NuNV0.f Hl vNdXBn`0.ABPRn0.nm/. ?.N"f\?<N4~T`BnBn`80. n /HnN PJ@g=|0.A0`Rn0.nm0.g*?</./,NH 0,gHnHl NWrP`"/,HnN P/./,/,N. /,HnN PJ@fPB,/,HnN zP?<N4T0,g@Bn`00.A0f0. n /Hl NVPRlRn0.nmN^NuNV g@Hlx?<NPN\?. /.?<NNP A HH?N2TA HA HH|YgA HH|Nf`0<fA HH|Nf*Hn4Hl 8NNvP?< n/(/,N?f `Hl LHn4N9|²9|°N^NuNV0,°g,Bl°/.NX9@®0,® lh(H9@¬`0,f/.NzX=@=@ @f0<`0. lhA-H nf"=l®0. lhA-H?,¬NT`. n(H?NT n=h0. lhA-H n hf n(H9@¬?NT0,²g?,¬?,®NpXSl²9n®NN^NuNV/.NlX/. NbX` n n HHAgb n H|?gT n H|*g 0<` `:`R ng nH|.f`R n g n H|.f`:`RR ng nH|.fl n g n H|.fT ng nH|.fR n g n H|.fR `H n n HHAg, n H|?g n H|*g0<`&`0<``RR nf n f0<N^NuNVBn`v?<\0. n /N9\-@f:?</0. n /N9\-@f?<:0. n /N9\-@ .g .R2. n Rn0.nmN^NuNVB?<N+T)@h ,h)@d ,h)@`0,f0,g Hl dN4XHlNX ,gHn/,Hl rN` `HnHlxHl ~NJ Hl HnN"P-@fHnHl NPBlp <-@)@¨BlvN4/./.NPNP`R?.NT/.?.NT\/.NX=@ @fN-@/.NX-@`&B¨ <-@-@-@0,g Hl N3XBgB/.N$ n1lv n!l¨BlpN؆ ,¨n ,¨n ,¨n0,g .¨/Hl N3jP0,g Hl N3ZXHlNX|0<9@vH)@¨`/. ?.Nf\/.N&X=@ @f n1lv ,¨ n!@ n!@` .lv .ll0,g ./Hl N2P0,g Hl N2XHlNX| n!n`/. ?.N\/.NX=@ @f` .lT0,g ./Hl N2RP0,g Hl N2BXHlNvX|/. /.NpP n!@`0,g ./Hl N1P0,g Hl N1XHlN"X| n!n .g6BgB/.N" `/. ?.N\/.NDX=@ @f`<=G=G`.0A첚02.nAcRn0A첚0nRG Gm0.R@=@B.BG`80A첚=P0.2.Ad ng0A첚0|RG Gm.fh no$BG`0A첚00RG GmLN^NuNV?>. UGHǏ`0. S@??/.NPSG Gl>N^NuNVH>< RG<. n<0nn|0nl&0 n?(0 n?N`XJ@gRG0 n??NFXJ@g60 n02. n00 n0?.?/.N`PLN^NuNV0.A첚02. A첚Pc0<`F0.A첚02. A첚Pf$0.A천02. A천Po0<`0<N^NuNVH><` n=PSn 0. n0 n00. S@?Bg/.NP n=P0A첚A&H0RG n07n7n0.A첚02.A첚P60.A천?0.A천?N>X"0<A7@0. S@?Bg/.NP n n8 n9PLN^NuNV0.n o0.`0. N^NuNV?BG`0A찖BPRG Gm>N^NuNVH>. A첞><. A철< GfX FfR0. A찖00<2<nh=@0,n2. A쮔0 no0.A첞><.A철< Gl0R@D@`0,G> Fl0R@D@`0,F</.?N@\/.?N4\Rn0.Sn0.0.nm0<2.AHLN^NuNVBn=|0,nmD nf0.`0,2<n`n0,6.h9@0.l0.|` lo0,2<n`n0,n llfBl nf0<`0.|`>/.NX9@l @f9|l0,lA쮔9P0,lA찖9P`0N^NuNV/. N:X-@`/. ?.N\R/.NX=@ @f .N^NuNVHlHlxNP)@f$0.gHlxHlN#JP`HlxHlNtP0.g"HlHlNP)@fHlHlNLPN^NuNV ,g /,NX0.g/,NXHlHlN>P)@g?,?,/,NаP/,NX ,gb0,g@HlN'LXHlHlxN%PJ@gHlHlxHlNٸ HlHlN"nP`HlxN' XJ@gHlxHl*NيPHlxHlN%HPJ@gHlxHlHlJNf N^NuNV0.@|2.. HA|A쨊6@N^NuNVBgNzT?<B/,N /,NX-@BgB/,N `h/,NXЮoHnHlbN!PRl`R`>HnHlN!PHlNXHnB/,Nf J@gRl` HlN!RX/,HnNӎPJ@f ll HlN!.X`" lf HlN!X`?,HlN! \N^NuNV?<NT)@h ,h)@d ,h)@`Blv n)hrBlpNŬ,H|g|g`*`/. ?.N\/.NX=@ @f``|g`*`/. ?.N\/.NlX=@ @f`X`|g`4/.NX`/. ?.N\/.NX=@ @f``|g`2BgNT`/. ?.N>\/.NX=@ @f``|g`2BgNT`/. ?.N4\/.NX=@ @f``|g`2?<NbT`/. ?.N\/.N|X=@ @f`l`|g``/. /.NdP`R0,g nA/HlNDPHlN:XRl?< n/(/.N& /,hNlX0<`B``/,hNXX0,v nhg"0,g nA/Hl&NPRl0<`0<N^NuNV. H??,vNX9@v/. . H?Nզ\N^NuNV0,p|g`2. H| @f9|p`/. . H9@?N\`N`|g`B. g`/. ?,Nt\S. f`/. ?<N^\Blp`?,pHlHNH\``N^NuNV ,rf0<`Sr/.NX?NTN^NuNV/.NX//.NX" AAN^NuNV9|c/.NX9@ lm lm HlfNԾX9|9|Bn`6/.NX2.A줄0/.NxX2.A줄1@Rn0.lmN^NuNVBn`zRl0, @o@/.N X9@l @f0<`Bl0<ll2.A줄A=P`,0,l@9@l=@0<n2.A줄A=P nl~0.R@D@=@ nf0<`0.=@0.N^NuNV?.NT nn0<`?.?<>NX9@2g0<`0<N^NuNV nam nzn 0.| ``0.N^NuNVHl/.NPJ@g`Hl/.NPJ@gNHl/.N~PJ@g\=@0.N^NuNV?.?<LNXN^NuNV/ A&H`0+ |g/ N*X A"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ NhTJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NXP'@&Bk0<LN^NuNV/ &n0+ |fk@ 0+ |`g0<`&Bk`R0+ |g A̐A잀A &'@`*0+H/NzX&'@ fk `k g-K?<?+ B?<BN n!@& k f HlN~X0+ |g0<`0+?/?+ NP7@Sk0+ @l kfk `k@ Bk0<` SRH|&_N^NuNV/ &n Bk0+ |fk@ 0+ |@g0<` `R0+ |g A̐A잀A &'@`*0+H/NNX&'@ fk `k g0+ |g SR k `<0+ |g2k SR . H| g kl . H|`T/ N,XJ@g k@ 0<`<0+ |gBk. H|`"` 0+S@7@k . SRH|&_N^NuNV/ &n 0+ |f f0<`Rk. S SH&_N^NuNV nSh0( @m n R @H|` /.N*XN^NuNV n Sh0( @m. n "R AH|`/. . H?N\N^NuNV fBC`&SCdTC0|g0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@hNuNVH n"n $0(H@6C|g.0)H@:E|gE|BB0<まef bRAQ$0P`HNVH n$0(H@6C|gd"n .0)H@:E|gD|E(HD*HE20HGHBBB8:BGBBЇӄЂӅJg$0P`B`NVH"n 0<9@fQ`NVH"n Blf n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,fQ fBB`HSCdTC0|g0|gԼdRC`|"|CHB|C0|@HB AHABA LN^NuNVH0.|=@n n f n0H-@HnNXA-H`> n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.AB PNPLN^/W DhNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)P^)hb-l^-lbBEG>O|g|JGn|m` REHlx/ NRPO`SEHlx/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`b .6.HЃR$@ nH|0fRZ"` R"H|9n nH|0f$n R&@fSE .6.HЃ @B n0L N^NuNVH0&n BnH|bf=| RH|rgH|wgH|ag <`F ,>$@ f*A$H`0* |f` A"Ҽm A"Ҽm <`B>Bj Bn+H|+f =|j H|wf?./.N\>j `hH|afB0<n?/.N \\> @f?./.N|\>?<B?NPj `0.n?/.N \>j Gf Bj <`05G Bj <$%@?<B?* NTP%@5l L N^NuNV)n>/.NX/. /.NLPN^NuNVH&n>. <`N nSh0( @m n R @H|` /.NX=@ @f 0FH ` 0.SF Fn no0.`0<LN^NuNVH>. <`,/. nRH?N \ @f 0FH `SF Fn no0.`0<LN^NuNV/ &n/ N*XJ@g0<` k ?./. ?+ NP'@0<&_N^NuNV/ &n +"Ё"+&_N^NuNVH0&n$K`0.H| f`HSn 0. @o: nSh0( @m n R @H|` /.N:X=@ @fB nf f <` L N^NuNV`H0BnBnBB9| nRH|=@ .&@$@BG`TH| g(H| gH| gH| g H| f0.f0.gBnB` `H|"f< nfBn`*0.f 0.f=|0,RlA` `"`H|'f: nfBn`*0.f 0.f=|0,RlA` `'`r0.fj0.fd=|H|f. R @H|>f T-@=|` R-@Bn`0,RlA`  R0RG0nmB .g,A H1| A H1|HlHl/.N@ .g2A H1| Hl0.gA `A //.N 0,R@H/?<HN\)@><`0A` 2 l RG0lm l 0, lBL N^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV/BnJlRnDJ lRnD 0. -@0.n0. nngD -n N^.JNuN^NuNV nl <`?.?./. ?<BN8 -@ m .`?<?.B?<BN -@?<?.B?<BN -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BNx ]|9@2g <` `Bl2 . N^NuNVH0><2.|SA¼0?N T&@f <` $@5G \/NX ,4L N^NuNVH0><2.\ASA¼A ,4$@ fA8 $@)@4)@8Bl<&R0+Ge*0+Gf$`0k0+7G)J4 \`, 4f?NT&@ f <` $@ &@`L N^NuNVH0 .]&@$l4` m n l`$R o l 2+Ёf R0(k R&`& 2*Ёf 0+j$`$)J4L N^NuNV/.?<HN\N^NuNV/.?<IN\N^NuNVBn`60.A0f"0.A00.A0 ` Rn nLmN^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^NuNVHl/.N PJ@f =|`Hl/.N PJ@f =|`Hl/.N PJ@f=|`f0. |g0/.N XJ@g0<``Bg/.?<NLX0. |?/.?<=N4P=@9@2 @l0<`0. | ??.N~X0.N^Nu)I)J)_NA"l$l/,NuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NX 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp`FSn0.A P m0.A0| |A`0.A0|0 SR0.fLN^NuNVH&n n f=| )n^)nbHlHl^?<N]|@0. R@?HnHnHnN.g SR-.H|0f.f SR`J nff>.n RG0ljo0,j`0> Gl0<`0?HnHnHnN BF`0RFA SRSGSn0g nl` SR0Sn nl0. g SR.` SR0RnSn 0. g nm`" Go0RFAH`0<0 SRSG0. Sn J@f`` SR0. g SR.><`0RGA SR0. Sn J@f SRE?.Hl/N: /NXHѓLN^NuNVBn`"0. n PHC|0=@ nR n PH|0m n PH|9o0.N^NuNVH0&n -n @$PX`R` nRg H|%fH|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN$X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NV 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @)P^)hb/,b/,^Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f` nR .o .R-@f nB .L N^NuNV/. HnNhP=@/.HnN8P0.N^NuNVHnHlNPN^NuNVHn /.N&PN^NuNV`/. nRH?N\ nfN^NuNV nf:0,lf0<9@9@`?<NT=@ nf*0,g Sl?<?<NX?<D?<NX` n f00,RlA윦 ?< ?<NX?< ?<NX`v nf ?<NT nf20.2,RlA윦?< ?<NfX?< ?<NXX`*0.2,RlA윦?.?<N4X0<fA윦윢H|f0<`0,RlA윦H`` nf?<NT``0. `Rg HGfg ` <`LN^NuNVH0&n>. $|`HGf$KRf `L N^NuNV/.?<AN\9@2g0<``0<N^NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<N`X0. Sn J@fN^NuNV` nRH??<N2X0. Sn J@fN^NuNVH0&n $KA-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NTJ@f`H| f |o@ H-@/./.?.?<@N\ 9@2Hg0<`0,2n/./<?.?<@N& 9@2 @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@2Hg0<`0,2nBl20.L N^Nu9|9|9|9|9|9|9|9|9|CA r"A v"A z"A ~"A "A "A "A "A "A "A "A "9|C222222222C2222222?22A`)H\9|9|¾C쨊2222@2222A2222A222ā2@22 2 2A222΁2@2 22ˁ2 @22 22A2222A222ځ2@222߁2@2222A222Ձ2@2222A2222A222Ё2@220212A232222@262227@225242A2<222=@22?2>2A22:2;2A292228@2(222)@22+2*2A22.2/2A2-222,@22$2%2A2'222&@2"222#@22!2 2A22`2a2A2c222b@2f222g@22e2d2A2l222m@22o2n2A22j2k2A2i222h@2x222y@22{2z2A22~22A2}222|@22t2u2A2w222v@2r222s@22q2p2A2P222Q@22S2R2A22V2W2A2U222T@22\2]2A2_222^@2Z222[@22Y2X2A22H2I2A2K222J@2N222O@22M2L2A2D222E@22G2F2A22B2C2A2A222@@C"2"2 2"2"2"22"2"2"22"2x9|)lx)l|)lt)ll)lp9|jCBA"A"A"A$"A*"A"A ")|>)|49|9|Nu(C) COPYRIGHT 1985,86 by System Enhancement Associates; ALL RIGHTS RESERVED Please refer all inquiries to: System Enhancement Associates 21 New Street, Wayne NJ 07470 You may copy and distribute this program freely, provided that: 1) No fee is charged for such copying and distribution, and 2) It is distributed ONLY in its original, unmodified state. If you like this program, and find it of use, then your contribution will be appreciated. You may not use this product in a commercial environment or a governmental organization without paying a license fee of $35. Site licenses and commercial distribution licenses are available. A program disk and printed documentation are available for $50. If you fail to abide by the terms of this license, then your conscience will haunt you for the rest of your life. ARC - Archive utility, 5.12 - Atari ST Usage: ARC {amufdxerplvtc}[bswnh][g] [ . . .] Where: a = add files to archive m = move files to archive u = update files in archive f = freshen files in archive d = delete files from archive x,e = extract files from archive r = run one file with arguments from archive p = copy files from archive to standard output l = list files in archive v = verbose listing of files in archive t = test archive integrity c = convert entry to new packing method b = retain backup copy of archive s = suppress compression (store only) w = suppress warning messages n = suppress notes and comments h = hold screen before returning to Desktop g = Encrypt/decrypt archive entry Atari ST version developed by Harvey Johnson press any key to continue ARCTEMPTEMP.ARC.$$$.BAKAMUFDXEPLVTCRCannot mix %c and %c %c is an unknown command I have nothing to do! I don't know how to do %c yet! press any key to continue =*.*No files match: %s No files were added. Duplicate filenames: %s %sCannot unsave %s brCannot read file: %s Updating file: %-12s Adding file: %-12s Adding file: %-12s %s\ARCTEMP.CVTARCTEMP.CVTFile not found: %s bw+Unable to create temporary file %s Converting file: %-12s reading,Cannot unsave %s You must tell me which files to delete! Deleting file: %s File not found: %s \\File not found: %s Extracting file: %s brWARNING: File %s already exists! Overwrite it (y/n)? %s not extracted. bwCannot create %s brAn entry in %s has a bad header. %s is not an archive %d bytes skipped. Invalid header in archive %sI don't know how to handle file %s in archive %s I think you need a newer version of ARC. Write fail (disk full?) press any key to continue Name Length Storage SF Size now Date Time CRC ============ ======== ======== ==== ======== ========= ====== ==== ==== ======== ==== ======== Total %6ld %8ld %3d%% %8ld File not found: %s JanFebMarAprMayJunJulAugSepOctNovDec%-12s %8ld -- Packed SqueezedcrunchedCrunchedUnknown! %3d%% %8ld %2d %3s %02d %2d:%02d%c %04x File packed with %d bits, I can only handle %d Stack overflow analyzing, ARCTEMP.CRNARCTEMP.CRNbw+Unable to create temporary file %s (%ld) storing, (%ld) packing, (%ld) squeezing, (%ld) crunching, Cannot delete temporary file %s done. Bug - bad ncr state .RSCbrTemporary file %s already exists bw+Unable to create temporary file %s Extracting file: %s .*File not found: %s I have nothing to do! Cannot delete temporary file %s .TTP.PRG.TOSbrTemporary file %s already exists bw+Unable to create temporary file %s Invoking file: %s%s Cannot delete temporary file %s brCreating new archive: %s Cannot read archive: %s bwCannot create archive copy: %s brCannot rename %s to %s Keeping backup archive: %s Cannot delete old archive: %s Cannot rename %s to %s Archive truncated in file %s Testing file: %-12s okay No errors detected One error detected %d errors detected I don't know how to unpack file %s I think you need a newer version of ARC WARNING: File %s fails CRC check Bad NCR unpacking state (%d) File has an invalid decode tree CON:AUX:PRT:@$??rawCON:AUX:PRT:%d 88@m@778#O P+Q< d86J>݂ȀLG3|06A`G@ppkMՕѕZC. f.. . g.. . h.. LOGOFF TXTiLOGON TXTjsMENU1 TXTkMENU2 TXTlMENU3 TXTmMENU4 TXTnMENU5 TXToMENU6 TXTpMENU7 TXTqMENU8 TXTrMODEMCOMTXTsMSH PRGtINEWUSER TXTyWELCOME TXTzThank You ~v1 for Calling STar-Net! Please call again. Remember The BBS is only up from 8pm to 9am at any other time please call voice. Thank You Eric Drewry w\ $bRM_/M$+ ڣdXx+N{K<Ŀ+*a~mh ~qvO #,i9(aIeAh?!0`,p0W`\\Q='`l)S@`}F ?c_A$Q_Z|yC=~ GM0 HH?:3ʫwT$U:: pD}iq{s}-> NA: Apy1LLM`S "˸Gz}F^ \D^ 2N\lx10o4HHѷo~~B6绁݁20kvπtG_<?0,p@:3!9@@;KS@a dH3F}P> G|uH[BuaDn!1>O0O58@9S`:#P~@J_h8 d Ѐ׹2C4W[6~pEU`3'n'STar-Net BBS Welcomes << ~v1 >> You last called the BBS on ~v2 at ~v3. You are Caller # [~v0] ------------------------------------------------------------------------------ You have called this BBS ~v9 times!!!!!! Last Caller was '~v4' Today's Date is ~vb The time is now ~va “@ʙBD%xca("(8eWf Du2<ZIia HS" MZ` Y ";/G!?a{(+ nG=&,O.|P *w-J ЂF*TD,cn 4-Dы N$ "f0{ _$ޚ7p/0 pkT<F9e|CGbAfiR6j9(@K3Lͦ"*ux Af[B0*-3G0bX'A9H)ЀapuF r Ft(s6~? g  C( P Ǯy bz%밯y`STar Net Main Menu B >-----< Bulletin Board Section C >-----< Chat F >-----< Feedback to Sysop G >-----< General Text Files M >-----< E-Mail N >-----< News Area O >-----< Off P >-----< Outside Programs [GAMES] PW >-----< Change Password R >-----< Read BBS LIST S >-----< View Your Statistics SM >-----< System Maint. T >-----< Show Time and Date UD >-----< Upload/Download Subsystem UL >-----< View User List + >-----< ADD to BBS List (Yϲ*0m=ZSMPRIMShzFB `% AJ:2$5XKsqW@`bΚֵ5eC_G!#ÁDo38`i)2D, @z6Xx0YAeLٍb@7AM-ڮ &hPin^ 1=R4 |8-^Z 9hpkp p!k-p#MB7.`8mQZ48exݏDc vFx M]Z%f$ _X*`*0" 8L} 8r@ Xɳ:v(| ;o 0Dm~0""I)7NKʠMiRS k Y*?`Q06ǹkj ;?| 0+}șypzZ؃]+  GMYC|?xE/- cId'`C A'%P}uWk.jX: >----< Change Drive X=Drive Identfier cd >----< Change directory mv >----< Rename File mf >----< Memory Free ls >----< List directory df >----< Disk Space cp >----< Copy File rm >----< Delete File mkdir >-< Make Directory rmdir >-< Remove Directory cpdir >-< Copy Directory time >--< Get time date >--< Get date user >--< Edit User Access deuser>-< Delete User log >---< Read Feedback from disk read >--< Read a file edit >--< Edit a Text File exit >--< Exit to Main Menu *x ,F /EIo0U y 1 Nr  H ~ sZ\DTY8@~ 9$!@T&I1p|HڎAl 9UkP(c[*YTMn8CD#0P@|9 g |#[ "5)k9⤎+!2h*y 6tr ɗ7< ^À\8쟺ϵcE,,W|ՄM[op@7pp& ?H" ˆD "A?rOa N?g' x(ǜsБWaI&ܨu>M|dP؈!RKo'&6ԙkK1 GR"Å%pP]eR7K>@yC9DtSTar Net Up/Download Subsystem Menu $ >-----< List Directory B >-----< View Current UD Section # >-----< Change to UD Section # C >-----< Chat D >-----< Download X-MODEM F >-----< Feedback to Sysop L >-----< List Available UD Sections O >-----< Off U >-----< Upload X-MODEM Q >-----< Quit Return to Main Menu S >-----< Scan Files V >-----< Verbose listing of Arc file nHS΀@8 @ 8@ pXn B4!@ x`'X 2p_q${h  gBJ$+gg~v''$Xjø3\'}^n'ҍWc H` "A>c(gP d` %8$w3r@B9"h Hx  RƁ!*,FяR`2#zih@' 2 Da)@ 1C3  d+Bp`eWfaWP:݅Na*0ɠ;҈+{40`3, 1G,2d-----< View Current Message Base Name # >-----< Change to Message Base # C >-----< Chat E >-----< Edit a Message F >-----< Feedback to Sysop K >-----< Kill a Message L >-----< List Available Message Bases O >-----< Off P >-----< Enter a message Q >-----< Quit Return to Main Menu R >-----< Read Messages RN >-----< Read New Messages J"Am3h`J[ Av4rAX%(nx;P9,>|xED<(@P%A  \ArYBX8kp)Jq&]%0I p+zX9/O}@|怠7p>;FW6A`"z襙@eWx+/ 7?@$ߤ NXMB#w2qs`\$>Ѕ 7/&6r1z RCVv>)8؀qVB ,o@`[~(@O  =a®T(' aٗ gw|q}"Qq}}7~Wq ~sh7^kTX]@|Tg^z>StE `?J@[T.?`P@l2-P @0  # тfR-Ȃ.H[Od8IhU3AP؄Gp0VՃB ڐ `-f`zh/KY$wm0憅EC?@ RoC#F|8STar Net E-Mail Menu Q >-----< Return to Main Menu R >-----< Read Mail S >-----< Send Mail U >-----< View User List @= GX>? !.>Y]1Ɛ @HCJ= l(bs_`eo/%U! Hi&;k4 V@<>> "!po@1>@4>I E@Z$9}_ 4E 5=l<<WnpƁ~pb?61v`@naA@#Fpj>dABKyHBNdG0!x q"o\}H@ osJ@H`P#X@+Sx)?#y(`  K_@Rz=1 O#@Ak@K p@4`q[h<<<@D0<>dT<À Ї!0@<:C Xaxo /5 €}`@`ƌ h7y ?E@@0a]" XW@;2G׿AҾ.%pPSTar Net Outside Menu A >-----< Add a Program to Outside E >-----< Execute a Program L >-----< List Outside Programs Q >-----< Return to Main Menu Ày`@` D"c9f'@xt~`rBxx?@ C9 c T4B[13+4]>"E3> p(@ xuM`p#G0?~@ ~8N*GWa`hHp°)@x#_2~@>&?< (P0k@ـ.Ǟ@"\N~``"hm@v`{@a *^`pP+44 "/_@4x|<s`5B$o@G  JS H@@aM@<$o">0[`T< z#~}Xm7]^ x@  msَafa_PV@Qٜ#;>#ր3ݠ,P#X(d~`B`Ks%x{m`+A@??߄_E0?!=6 а/´`|`<*wNSTar Net General Files Menu A >-----< Add a General File L >-----< List General Files Q >-----< Return to Main Menu R >-----< Read a General File BV0?X . j>`r=d QB?@ AN)@(1 ^stwpAah >d aAxL@eD0;@:;>=Bۀ˸4q8@ gG~t` enBBv(q= 8 ?+_8w_ 7O@@Ok}{zO@Oxt>B_7 @xz`Y _7 jנtvy@p~x5lx?!(CYSTar Net News Menu A >-----< Add a News File L >-----< List News Files Q >-----< Return to Main Menu R >-----< Read the News ka ?~0;02D0.xX 0xdwfE: 82@ 6`y? r|?DHwp+PO xO @'h#CSdDp0p#4   hA6Xƀ+AtT($0(L0Ap`t - php$ 4A88?A .v%6 ; {I`|k zPa1Z2A o^BP;4ETȰXAYp ,vwSN1JVpOE`?cDE 7?!pB Pjv1€@@ "YB`AN;S@`Pp;qQ񒀁0 ߰$%vACblĒ tBs s l GYc@ SbɁ@@<& ` qyTP P4)V>+ F? `!_ s`?`$ .4S ,T8=C A ;a@0ATH0 S0=1 X1 V0 S7=7 S9=1 ` {#@>H A`ZL_[Tb7(x`!@~@8 WuU:=/s  ӛ5@ʼ?@O/A c&Jp,"6pN   's({K@V ?/b-iz`X߇C#H`8 8@s!k $`=Zx@a lK?{ #?@hG8hx| N'`X|_ @]n( /h 0}o ~ q4xpǔȯ$o~_;?޻H: ?Ɂ ?m8< bK bPF9g pfy NyO1B3$Ə8p!?.3 C€ $ R0P6STǶK?`op0 ^8{$G_ fd)AOV 2p9$ Wѳ"_;..M,@.O @i* (3ʯ 8@_A@0}، [Kz@S!C/0 dfryfrƀv@|B O_O@x}wwogЄ/m@P`a_@?x'0 $ `*&*o m$m,B"HJgP"&J$YJf"Jg< Af Rf Gf Vf =f Jg#B "&J$YJf"Jf&f2B "$EHB2 r ggSJ"g fB*`B" &#&.I+I/ #D//SA?/ / Bg?<JNA Jf.?<?<N ~>N ?|BWN ~>N XON" ?N ?<LNANVH/<LNXOBFB@>D"n i  g&"n iJg0G$n "jRG`0GBRG n /(NXOGoB9|"n i  g("n iJg0F$n "jRGRF`0FBRG9H @f p3J`n/<a/<DNPO/</<DNPO`BJyHgp?BgpF?NA\OJyJgp?p?pF?NA\O/<ENXOD/./<D/<BgpK?NALN^Nu"o o JfSfNu o"Jf S@NuNV/ *nJg/<~H? yN\OR`/<~p ? yN\O*_N^NuNV/ *nJf0-H@f?<NTTO+@f+|\+|v`n-H@f2-H?N $TOJ@g~f+|z+| -`&+|z+|-H?NTOHЭ*+@Bm *_N^NuNV/p?B?.N DPO. fB@`0H@.N^NuNV/ *n/ NXO/ mNXO*_N^NuNVH >.*n / NXO/ ? mN\OL N^NuNV/ *|Y MeJg/NXO`*_N^NuNVH *n-H@fp`@/ NXO>-H?N 2TOJg-H@f /-NlXOB-0L N^NuNVH *nBm -H@ff >o?/--H?N ~POGf$JGm mAf -*+@`+UB@` 09BH fByB`-pL N^NuNVH *nRm o/ NXOJ@f f/<~NXO -?/--H?N lPOD@;@ @f^09BH fByB`-Bm `F0- Rm m+H URB@>-H@ g G gL Gg 0`Jm f-pL N^NuNV/ *n f/<~NXOBm p?Hn-H?N lPO @g4J@gP .f -H@ f< . f -H@ fB@.`(09BH fByB`-`-p*_N^NuNVH >.*n G f$-H@ g/ p ?N\O @fp`0Sm l"/ NXOJ@f -S@;@ UR0L N^NuNVH >.*n G G f -H@ g/ p ?Nv\O @g^Bm -H@fN/ NXOJ@f@p?Hn-H?N ~PO @f0` 09BH fByB`-pL N^NuNVH >.*n G f$-H@ g/ p ?N\O @fp`?NAXO/N XO`B@N^NuNV/?.pE?NAXO>l0H/N XO`"?.N TO=@m?.?N XO0.N^NuNV/?.?. rF?NA\O>J@f(?.N TO=@m?.?. N XO0. `0H/N XO.N^NuNV?.N TO @Cfp`B@N^NuNV?.?./. pB?NA /N XON^NuNVH ?.N TO @Cf|9QH>9PHHP*@SnmSGldpQPB9Q/<Pp ?NA\O>l0H`p ?p?p?NM\OpP9QH>9PHHP*@0Gp H: Ef~` n R RF E fn PPQ0`$/. 0.H/?.p??NA /N XOL N^NuNV/. 0.H/?.p@?NA /N XON^NuNVH >.0V@ @bH0@* PN`*pP`&pA`"pC`JGm*ySGmJfp`JgHL N^NuNVH >.JGm*ySGmJfp` Jg0. L N^NuNVH >.0V@ @bHH0@6 PN*yHGg Jfp`&R` ?N ~TO`~C`~A`~P`pL N^NuNVJl .D3Bp` .N^NuNVH8..P b d.</NXO*@ Mg`JLf&M #.#*`& yLf QP&m`(yLQ L&h)M Q@* Ѝ#L(@Q LB)KL8N^NuNVH0~ .\S@,dB`ƙ*y* gr .gH g @є .*L(Mc2  d @*`* Ѝ#* y* X`dJg @Ѝ*@`*m*f g#*Ry2092 @e Sy2`X/N XO/.N dXO*@Sy2 L0N^NuNVp0./N dXON^NuNVH .Y*@Jf4~0G4Jg 0RG0@4H?p?p?NM\O`N L N^NuNVH..Jl <`0Jf 9`$R @./pH?NA\O,g Ї# LN^NuNV0.H/NXON^Nu Now outside STar-Net  .! .! .#d~CCAP????????????????????????Bad pointer in free. L"20 &(    P  0 .6*" .J0.$nBF\ @$@ ( 0,04 , 6&0&2> 0:  @J$  $0$ 4H 0*#'*o &OŋeHDD9e'ƎC, 94π 98upQ9z)*n,xp N Fh3Mԝ=:뜐 uDH!UBŒYS*t..t i_H)E 5he8n Ř !y WRAJ 2^2lҌA"  6,#f Cc yS:ҩ3. ~epATeQGLtd4D`8 L D uRcoHHaFoQQQ>TFEAD\PfnqrHFr`aU96 p%ILNQg !OHx`yFwVx 2IQUHoRv<$S tX҂aIM -^ddWy LtHpF. bUst V9ЂddXsaGǦv-]1ih -UEɄBqfPƂPhP ۶0# -DP <G1-eHimڋL1m ArMv1+cfԆM1a"csUZx*O,$9LbA4N Jk,Bds(%FWelcome New User to STar-Net BBS -------------------------------- This BBS's main purpose is to provide support to Sysops of STar-Net BBS It's operating hours are from 8:00PM to 9:00AM any other time please call voice!! STar-Net BBS runs on an Atari ST in most any configuration. THERE WILL BE NO PIRATING ON THIS BBS!!!!! DO NOT UPLOAD PIRATED FILES THEY WILL BE TRASHED!!! I hope you enjoy STar-Net BBS and become a registered Sysop soon!! Eric Drewry _Author_Sysop_ A 0 t<5d~@5`Xu@ah/'EWelcome to the Home of the newest ST Bulletin Board STar-Net BBS This program is still in the infancy of development any suggestions would be welcomed. Eric Drewry Author-Sysop Note: 7-9-87 The userlog has been started over to solve the problem of usernames and user ids and passwords being both upper and lower case, this will no longer matter as those inputs are now converted to upper case. @CQ?'P6ms@/`s~h1' hHb?|Z[1 ˀ`?K@>(-\_@08?_|n!!+'??4@6OX84bue}`G$0x@CB0;Q. {.. nh0@ 2lsPI `8Z9 l`nă  ʵa Y j`W 6 Z/+%:Uh +5U`*X0ܗ"T hL𠔰tCjJT γ]0TT`*oE]$oL0DoL8D*eE NƄ*EpR:uK}Kf3ZpmA *5 ue/>_F@0 g y@d @(g F( d  Plw@ qV X\PT !H`: Ѕτ<0 B8RDf냬*K4p'FQƄ`#\?   G`Sܯ@ 'rI C :l JP:C /^0HP JPg,X~ :p`C7!`u?S^TXMa"A>6@g ` # P 8ig \3: PT% #!"0ju?EU2Рp  4u?_T% # 0K@0 : a4Db :8gg  0ΰ[# Tf#Ji:vˬP+gR J`` ÿ  '\ VZ ".+q\".p@7!G "KV`w w!"   S@_[pZ;N,eg 7z`^N`:00{* q4ǹ9ZZ0 D!!@`A"t@ 0 0m֊0mk&(~(V&hupT!~ X?<"BDL`o0E@B0s-@\ W` Y@F( %.` w SrN냄 ` Q ( @ /b".!f4@dr`q )gX<K؀L HAg@BFlY PqJR>EK[T G H$M$`9( 41$Ѐ̠+ ! Jp964C /(ae$ sxa yI?A_"(p%!!7 \ F1zq! /uNWja0D ,P 1=0 wB!D`x >QD .TPG4hK0`3(`  F@Iihp@(G0prB7*h㏓>QH-֒</pH]>` pA` A <9ц%J2# I@WOc- 1~k' g9"X!8(`?-N9:r|`Tgg@> ;a*У@SiCC1V ءXI # d`#^ڣ>Dx0b2 &d$K@0t eN$b0 M T/vPg V0, ,УFj(*z%xrl|b,Dn#/1T{/Q6`62e$95 0`v !0;Q: dao"(>z/1Dj \ Bzd= N꒽=,3^z_N>p>GfBiBg@g- pSbpSN:P21 g1+4+TR`@ 1Pd 6fj`Цm:/ M\0 PG0 "ZFdQA v R` $ԩTcuN{S" J=V(P:j nq'dJbAQ j/P/q8P r@j ;aj  y$hmU;IEh PQ  Af Nf3 ѻ.s?*A 'V`. _ {7 #B0 Х*`N&`# !;@3П18#xPȼM;Wӛ±]gXX0p#ŞZ Ft d1U P1 $>pS@  ?l(~"I2`$ P`&, u:ZRP@ e@ P-@0T0b a p@:,@/@ɉ6T gT A|\_ PȮ (/Ȱ&07Z@_`N [K N ȬrC@0ZB #}@JAM$" r b M.^%ףK l$G˾#Ig 0eA PTBǺ1TH P#! Ԧ#) $ Dz3:3E Y e B5@eY=/fb?g ڀ` j%0"Q*P]q0tPC$U РP` hf .\BhښbTc}){dN>@+)AFJ˴0Q+e@VY[`ۦ1d_ئ  i# EyNⶃfK F? Ja` s@_ " c-sB!xI$+anp@p f@ /p_!n A9FD# n < 0@#kTq#& @Vaє6,W a^Hگ%`w"1Yj@0o> hH5 jUY o PZR$˥1Er) aaT@ B(;d" c=J ohk kmI# p< $PGPZPPB : T M @,7 ģgA:y  ;t Av`JC^~#j]\j@?3z0ք%"Py?#&*:1o5F :# K&Ng11p^0 1*0\`~KEb)@ ]1)`N=~+ k9np$Dn8n y@60%Ŕs : J b P vF !p/,)#0B/ _Nh|="9 C;P` )Qd`:$T^I$-۾!PAeh/ G/a *$ T`N(Rb$J?k"@,,0020"#&<84`D `  ɶ baE;Ag;F&JH `/aB,x4دbI `  0ΰ4`# ;!PEã8AݚYUDpH)17 ~0@s;2BG!dQ r%; d"%X# H@P`sv6y,kyڠb S B SPC&js&jn  R B `5*/^T> 14PD g )g9AK 3Đp? <@D6A ~.gJ0 + m" h e X F9ATHqB\I8AB Q ZA S2gfKk!p9Rpr9(HCvC@ `Gc ,D/ &V9䠯pHA"I,@K ,0<8 B̰&*n3ޒ9`@ bL#40q@0YKN.bg}$H"#PbHJH*@`/pg ڀt(]QM@nmP_H +!N@*I/ ,@ @ g ]N@nm` cpt`<:?_(N`N6_TIk"Qrr gQ~@nm X*P)svqZ& H e 00pi  /Q ؃HĨ 8.@ Ho0BP",% ! "VvB4 8m*Ћ`.0+@ G>B] 0  ,02S P`#5jk# j  `#T2   "0T&j  PB @>E P0L +$ Phg CPIHZ3/#0 tJ!`00 y"܁OE#i R5Ck#$"2"@ H Anvqآ /9D 0H! +[ʰaGaxЫ,<RA|L 5(,`G:8'lݬ ?axOBL?|Spפ32# +ԚQw`C4"GL+2pRD…&Dt\(DHe+QGO)$P6.GT@(P'6}թ jv"jfHŋv (_D ! 9-204)|C<&y[!Iic[i5!<$ -QV> Z}| 2#HH P}/HF!FQr*9CԐh:`T_4`R ,_r< h fC$%U4_ 6 T/p@1ҬȘRA'LA0@ ~h"9] T9)=rJ@9-S}SbD@>` ^HScPGU a( 0rZ-fADT$U*ZrS 8lLϐج᭟С!8 S@PJ#7B8d1Fqh~#@ T4`GsQ P x`" BeiF. ~ >/Bh B)-( (Qy3TnPD}pߜa9  >' @ |$C 9HځcC@$+vMf0b(F@ _X2neldX! xy@Dw cv"! z $D^AF 6!|p!UmDGTЎ'#)W@X3f0!Tr L[%a )c@q0Zci hjf0U/tq#5k&.@,fph[f?Жvmnt[0C#+VNI$$6&8U r8phpCr&s8<"H0)"t8z`3TG$3`qe"``TAXXړM 3>R`A 8Z,j:ձ(ꁯ-nf@Z4tid>C`LSNX A ^TȢ4$a*:$t^ 8 ! @ BF5$xP#`:$``n2ø0chq"0`0`FW& h2 w'` ~KÀ[gGQ *C0w.@K !0q[B!o @6Q àmB ` 0 E݁7p k0*'df&} w*Qhgjp '}B шX8g8 J0EGP0P (0B&t.`H c qz D;Ny 2`9N3pL QPdcb4:J H?[&{@0C!A@Q`> "&{':?f```8@Xh>I|SiXz   }C3vPr`X;U`h!R0@D68ٍC9lH!)/AmD '20U38׆%X%Eޠ$Y< ]W & @ ] v=;v @Q;S @ Od%  IP J# @ZAD6P#|N b7xmU QEpU$w&@*Y8 n V[m F9 g S9܇[a%`%`%i[k7 Poj P;Y)#Hw`P @ ! !|ye PE8& JP5p#'2P> c P h& ` ## Zݠe/ E6v ` !AA Y`@{ Ɨ@ &&|.O. `ET0% 0@ ~]R ; Q0 m*  u<7Rcg%c`^@1Fp~:7/j%$o)$Sq1 @Ѥ :* ݊@Ӏ ѹX$` .0%{9Rjby2ڀ$Iã pgv"}3I H` T< ʺ@VYsk^[ZdA `jyPEm6A` & ;  ϐid K ϰ`d &P>Wىـ %+  ۹J %  hÀ#" pA` Ք Z1 :I6>л'۹*MH$Ù"06Z!H @@F 0 `І`"œMjKJ tJ] À {Dd  KQ P! "d@K:cT"Bb`0P^Taj AE "GR`0u" v,y,`vlW 0 u Q CkRPFyPMr v0u'h DNpi &0r #%!ó #&$ RTҌD,lP TC@s T@ H`p ܀F%g}n bkD U(! A#@ KިFeS:M 2:ApT` %B %Hd d{O0R Yj `#H In d` 6  -J6zcn #$/Jt#]VN0 @= LT 7D^ %En ~=ag.|B psD{Y Dp'H p  bTC5wp QZnTZ@uo nxլuo!n=)FBFwhH0T Я RN  2 6 P@(:T_DRz #] 5;V p2!p2dA=pA#E11 x@A> @A>M~x@A>` @A> @A> 0-> |> >0cj'NkZp @8J  t>vtA'` ]'? X-c~*|C BqU/ߊP`ss`}N0uj 3/'KPpt Dx͈1Rb`R K 0 *)rS`{ JpS@h0=ХPJ }@{(01O@dPPp$@=V` \T` P4--ObJJp c #EΠ A0-EpZj A W; E\EQj@BR # A pY:pOo0T j Exc _T hU(p25p"`͂_  ! 00C@ @PHpF :Bj RD[ 00Њ@*D `fd`@B8NaS1e-^ @2?0R? &90v3=v PSX ` C# iJOSUn0>B| F0` A F1@B /cά̕1~ m 40 g( N'ED±U"``NS'R'x g0@l fpru)  91H3ATHHI֡2p ȱ f `@G?"2" 5q U)"҈D ZpV& !!`0  GJ2 @2^ЇA 2z7#X# = A±@ fU.r(>"/ēOsJL:'OM7""|$ 1P8J 2ȉ @?>!pgا#IHSE6hKjIw .?JRqz ))"LJ 1J*p!T0FJȃeb(ǸAK.bS1dEDITJOE WATERSJWLP703-450-4761print spooler will be lost at that time so make sure that you have backed up anything you will later need). Failure to de-install before a resolution change will cause unpredictable results. 2.) When the Ram Disk or Print Spooler is first removed the memory available indicator will often not show the total amount of memory available. To reclaim all available memory you must run a program from the desktop (showing a file will do the job just fine). 3.) Never install the Ram Disk or Print Spooler from within a program unless you intend to de-install it before you exit the program. The ST operating system will treat the memory allocated like program memory and free it when you return to the desktop, the results of which are unpredictable. You may however de-install or view available memory at any time. In summary, always install the Ram Disk or Print Spooler from the Desktop and you will not experience this problem. Quick Instructions Installation: - Place RAMBABY.ACC and RAMBABY.RSC on your boot disk. - Re-boot your system. - Click on INTERSECT Rambaby Desk Accessory. - Set Desired Ram Disk Size (leave enough room to run programs). - Select Desired Ram Disk Drive ID (C through P). - Click on the Ram Disk INSTALL Button. - Set Desired Print Spooler Size. - Click on the Print Spooler INSTALL Button. - Click on the SET AUTO button if you wish to auto install on future system startups (tune will play when boot file is written). - Click on EXIT button. - Install Selected Drive Icon by clicking on Install Disk Drive in Options menu (save desktop now to eliminate this step in the future). Removal: - Click on INTERSECT Rambaby Desk Accessory. - Click on REMOVE button for either Ram Disk, Print Spooler or both (tune will play). - Click on EXIT button. The Ram Baby is Supplied by: INTERSECT Software Corp. 2828 Clark Road, Suite 10 Sarasota, Fl. 34231 Copyright 1988, INTERSECT Software Corp. This product may be distributed freely provided that this documentation accompanys it. RAMBABY IS PROVIDED WITH-OUT WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. INTERSECT SOFTWARE CORP. WILL NOT BE LIABLE FOR DAMAGES DUE TO LOST DATA OR ANY CONSEQUENTIAL DAMAGES. OR Jan van der Steen, Amsterdam. -=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=- Jan van der Steen, CWI the Netherlands jansteen@cwi.nl (or uunet!mcvax!jansteen) -=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=- This allows you to change from the hayes result code method of determining the callers baud rate to the hit return method and visa-versa. If you think you hayes compatable modem is having trouble determining the baud rate change this. Edit system ID string This allows you to change the 2 character string that precedes the uUsing SeekSpeed. The programs seek3ms.tos, seek6ms.tos and seek12ms.tos set the drive track-to-track seek rate to 3,6 and 12 milliseconds. This is useful when for example trying to get a 5 1/4 inch drive to work with the ST. These programs should be able to be run from an auto folder (they should also be renamed *.prg). I personally have used seek6ms in conjunction with an old 180K 5 1/4 inch drive with reliable success, the default of 3ms was just too quick for the old thing. For any one interrested in fitting up a 5 1/4 inch drive, it is quite easy except for the connector. 5 1/4 inch drives use a 34-way edge connector. This is wired exactly the same as a standard 34-way 3 1/2 inch connector. My solution was to make an extender which fits a 34-way 3 1/2 connector and then goes to a 34-way edge connector; a bit messy but effective. The power connector is also different on the 5 1/4 inch drive I have (A Teac) the power connections are: 1 : +12V 2 : Gnd 3 : Gnd 4 : +5V Robert Chafer 61 Southey Green Road Sheffield S5 8GU its This just simply displays a small message about the program, and the people who actually tested the program for bugs. 6. Options If this option is selected another menu is displayed : Options Menu 1) Select lesson 2) Select music 3) Load document 4) Load lesson 5) Set key speed 6) Set key delay 7) Main menu 1) Select lesson This allows you to start on any lesson between 1 and the last lesson. This option is only available if a lesson is currently in memory. 2) Select music This options allows you to have music playing whilst participating in the lessons, etc. Music numbers 13 to 21 are from the original STOS Basic package. 3) Load document This option allows you to load any file as a document and then type it as you would a normal lesso Installing STar-Net ------------------- 1. Backup this disk. 2. Run CONFIG.TOS Editing access levels There are 16 access level 0-15.When you choose the edit access level option you are prompted for an access level to edit.You can the change calls per day,time per call,idle time(amount of time the BBS will wait before hanging up on a user who isnt doing anything),their ability to enter E-Mail,play outside games,access the system maint.(sysop mode),entering news,and maintaining the new,G-files and programs areas. Editing Message Bases There are 20 message bases 1-20.When you choose edit message base option you are prompted for the message base to access.You can change the message base name,pathname(where the BBS stores the message base on you disk system) the minimum access level that can access the message base,the maximum number of messages allowed,and the Subop(a subop is a user who has sysop access only on that message base). A܌' GG-,9\)uOPL)K4:,tPLY7 1h],iC 454RCGp#F/ }shLN/'vyMCƈR?FAJ"10!`(@_>E0j 609Y9)ţcHRQ56ɋRcSB*@tyLq5M.'S2K$ H` (ؑKMpe9C1Bj 8lh)LD0 yOa xCsbeAY .Pبҕ%ADRT&8V) z x p=dV *=dpq@ ue5!8wI K!0B! LX%.@='a&]n1hoED_C.#%ﰘQHp^ # l1pIe'iJLRR*IJ`B*-ͨ'4G329yB~"NIdhxNr¨;#|>dP0\ϗBl@#'-i1 Đ"li8@%|71*DJ܁Z Bi`C;!%CP64 qrUz)d@A V"e@G` !GNRQAt?ÄT@! ꦴM<0[;ܐִB:N u-lѝ.j]~ „C VuA?p)DB8.ؓz BJ!X  n5M XC }BFQ+ @ɆP`w<8# @L0TKT*R gW1d ηB!| Ǐ7ĉ)D Bs"CXX1>T!r H7!X2A@ pظzhG1P;p` pxn], h̳ @oP5 g0p;/ x2Q)pRghniH  D !jH0aJ ""~`W5SC0 Q 5[FH4 @UP} _֖o t$0 Q TsphupS9: \x6\@ ``y ^!7npfFxvqv^P<  @(gGpi p { BgI{f )Q,D Na ezp=Hw'@  28Xp09[ g}H)Ah`K > *5? 3P /%*w 'd* 6 P >X A)tc؜ֆ| g`FꞸgPa9<O Fu`6P٢cZ.18nF)J )1Rg С` SjO J@rr 6 qs ` wJu 0CC\x^j, I[X:g)!Q*5I4?`جpAj6آ**?|yBJސr"|r2+6~ =3[dT3s zo& e v)v0)q `F(0IWYPD 0pY@ `4c 2+K)  4`p*P(8s29) 'pM f`sDB3,GkSfVf`LqaD L1Q VpD4C`f@p0 +K V `P(;5`&IU x`:p4& n /2 oXP(hBtF,ALN@< 2@0)` t  "G)D~?Q ` +0 r)!<`,, p 65fl!)f5A <@pU@7lUP; U`r0qE, `IL "2\y gRZ)f(9Aİ@߀~Gq"G` 0N@0* 7NV^Ŵx5VRy,w\y"PjzL6,`zL }gDrq0(@09_˲`F756%g@4 aP z0<@g Y\|ٜ1D 6 t@ʬVCpLz,X`kȬ00lĨ7aLa#D(u`H  A@d* \LdSf0 K(N ;Ps?#{SG]G ɠ&5!  @2E+{ X [h`: " s25D*}e@[q؃M<[9KBDRMHJHZ}0ؙ["A@ `12mZBQ"a #1KJp2SPF0 X5^ )mS<|`FA iY  Fx=x!P݊7| KEfhkSh pJc2k Ya@ql 0`CvL`|' ; M5Hţk 5pG0gpG}8g@P 0'Rd1l/}\!5kZ(f$tdZg 5YNQ ZP+ 10@0Z`0APeȖku P1xZ@GHgѠpЇmFPpL`I0 ||@+pP&Z0bN7s惾` p` @K@B0| PjE>` BPX*|d^PEll`42p ` isZ3ƧAJ ke@ |R0   Z@f!T@TBkfjn4  Bˁ8G fDO G0a4p@bk< Fpa0vH,AT G3L%@`!*4Cpzpp`"Bţ"z*?zpL,d!`T^d~e`jngu~y>F_0[ܧqq΀.f _ 0[hm XD g0P`aF2 __ɶAꀀC0#L Bq&,gv9{) l^IpOٵ3Tng k@ fjl_{=Qߴm*M>w2ĀO 03 @d /a;C,0C) ĀB >Dn erIP^Ll Oe8n 4%?KPl2'fIp4 ~,C0q`Z  >;~"I'>;pBC2S  ZB B0u` Lg p`Q@Z  ~,C/p` "04x(m `@~$ Sf;3/$~p"!$'"J1P$^.k%@~03C/HWE"B!B&Pf`&Pfͻ`  $cspi) >V t (PկЯgF ǫ B005  _  /q  .P^` ) W0.0Bم")pp0 /? ֠4d q5 q5   S P`_ 7 0 L b@ / 0ޠ/BB!D&  .P^`]"pAq/"` *  ~RbS0)]`֙G!bG!aN)jZ, YW$ڷMٷ-) @j}"'!A9 g`o@ꩈ/FPV>m/DZ[) pFHC `՚ 0ߠ g@) V`&) #>bDf3Pb`T. )Z0bB.T.) S?:/g"('PJpW>IPUM&p&BB٥UMFP&^Rg-fdX@:R P0 D FAg`JH4 60 ]&4 60 ~RYTg@f /  T 5PZ$%"k6~03f"B0fB0Cp` v1lZ ,BC@`  ~,Cp` tBC`_%Xp/._ J@XKFƠ0 P X0? i 1CP .0Ch4{32WHsgn `ݟ0 -R`o/%=@) f`Te/`) x`/i&@tPD)q ED_X-  N="Na߃7Bk pa ]p\ \` ` `<=xjL *fU *fU $ӡX@ ]Pa @Рf=~40]`lu``!{&}&IP :0 0~p"Cg;%t Ke@ p0 '`!{ oPR]@s ~ fCg N b J `! "`!Hs8RtJ~P fCзRFL&gFB#gF8$g21#v 5/G!1:"aRt@ $ @D  '@''~2C$rB  ,9~ Vyk") 0i51 ޠ3"8 f H ' f ~R))A ` ~Rj$ ?`E ") 0 f0 Rb 0~V "p3Y{F gg '` gg2{ gg gP  ! ]A 0 5! ؠ 5! ") h0Gf9? L#e )!A"8)1@W .0>A`@$ X05?! p @$ @=z=2AhV7Ix&X WX ! O ! @*2"r p Pnfr ʐp`Pr I pP   `C PB0!@ X PP0J~ $! jPP)q p`N2q A)q 0`U 2`!Kupv@SxSpg?njr!ZjU}S1g}fD Jpg@$'3X9 Np2 "z# pjFJ@d`F0GF`?`BN$MJ$g$p `?`BfM`Q $OgV Jpg@r!`p[/'A |!  {F N }gpu9XmS>/(D x(щ ɣ 5c32`qXΘ8⌂;@0+/)-|U@@LЪόΆ :B6T ՅG򐗖I?I cAכE"(r3κ  EH"0 D-3$9j gM-u jEbg@Y0!Y9`cL0#B0YM+8+L|#0 f ,eGoEYzf@5|4b󣓳2z! 4t"Y !O-46RQ(}ZUÁdr&6jnB)[?|V3&($ @r@@,0[  0El0Ka@Hº8`c\oo6 U: R hHlAdlA88/+h$(  @@/*:S2[(@/rfISlAj#4 HR(@ "p(Ň   -k  yl>dV32`sk# &"`@(J@ />qBܰ *@I Pf;2QW\0 ˂P  @8B[@ (   [/j\]i3puk+@]Ѐ 5-f/\W*(P8Px`ѩd!:!8e2P@h_1&+vV0n3@EmqDp1(HL L("@4 &P ~ 0` `3M3$,,eh}K$p p̠QZ?Y@¢B p8?#pV1y`^TG/bTFȺYN.9X(x?H| I" `,@ P tBfxA0lcKX2ƄL$))$ 24Gؠ^ B(1Iˆ 1gYx&TNh`hS81h]B_hhe[(@AƐS@fF`( `c H'@)P KP! 8#C&x@ 'M$U$08ž[<aT`J3N6MLAb;$ $p#~ 7$wl +fz* `L`_" m(` ,1y2,u.݁@Q5F-[2-lf6M(z`b>,.9 f 9*Tfj*#?A *ä)Rԫgy]:` so-G{*@5Kh0jU"W6`75K` @*W&A!)DYZGԒ`ػ+^e5c\H_$V>bbx ZahP@FA +j  y DOc: s@QDx H  [RoftvS۪հMkm6by*CV6B+moFڡ}t>f14MN_HhGCYJнU&5!x&hi00 !^ ~ ڍ'^!;Zxl⺋]. f?bpL.~1=PE0%pV1Ѐb 0i&sWFVS @  A]F5OU"x}U4pQ ^d FA `COMPACT.EXAWt p `4`@H 8aƬQb0@ $CTRĐ'M D 2xqC'7Ĝ9Ǧ(U,2I9RdA @2Qf @ "H4@:#bj+v@#}%7^P"`@%g( 9( v!9p3$g @vl;R (Ĩ(?#$c#a1 GP5͠*33 A F N&ؠM H,M LQ U0n7!>0N ]|p0Xm >OA c0`cr DBX`89 $,a"(ACDKg E#25Q@R8R4D?>x/KE`?PcL5} 3B#`&,[|Az8 QG =@34O~p3c|<kM.ˌK[ @6/@ !6@~0 ` gd $?A.<00@$0 v<͆Ё *hSB( @ Bx $aC& - `c,E E  B@ ?p{K$ "E q@,X з T $@`423x<Ғd`:0pÔTZJD@U%[^2إ8z i\# 5"@A *,"x8`B|@_E !(#AH&l,֤p%|\ @xA@0$ PT@+d @` H@ PCOMPILER.EXC )YM `4 H` PN4P*&V`ȓ&P0)B)OH ₌-bh7nN1M7gʀ`ƍP5j̨gR8И7m!jV:e|cƌ pZ;ð&CoA40 pA CBqǏ!GJQT\6ex Rd*EL#GМ2nT$`C\/4dak(v"! (pDv0ksh}TȓI%& 4!L^p1 (@EDITOR.ENVt uy D@ <&:I4|(&5`~0M2"T8GDFH cLȑaJ $ȤS=@$b\f#4o938a6[!$lĂaG"4"b ,]Ɲ[6oȔd0cƸ)sG1?49Ђ`3aš-5eH7maSF bJFLOAT102.BINi$ # `4  H 70rkn`o Y2Ѐ^:"`&m $lVHGJб%< 5VJHǢ+f!b)$0\t@Baɓ T@P   L8qQ}p8s5 gNDN)pƁ4ct4C~:dPi~!'l8~mGل!<_LȋaD i D=&,o<:\//wǫ'^=sax d2݉_{sv44 X8[mgH tl !,p=E2#DBUv0#z8-x/dc? ̆9|dd(Q2(A.!@@8f 0.B$l @@eO`@`j j^S( @0-P*E" $p 4a.aO$q,*"@@a1p6H" 9{mu@ e+0 C|z :cEv !BDDAԚAOH-({=$$<"(1$s0 2 $р@B{@p$`ĸ~1?plLJ,J˒@,{+L=N iW*`$ <9 @ 9 @ `d c`c0H zA)m@BaB a4^q5 8]fD,~<0 LP~ߣkAx͞!@~3;')aQ$G9r  ,):b%ԤE(Cj.s gStp`PLjLt 7fEt 3xȇ`6 (T1`);0 \a҅f ? ppF'9 Ǚ>)); ) ^X h"1{#XGdGd!:Hb#x>$/4 C"RrHR+]OуbHV cc=CDb 2Zwp!g ]< p!@@[m#r F@kQFսgͶ2/Bd|@Ȱ8P, a\H5PFvP̌'=I `3 IT-O  FAp8Sjd ]po'p@)͕0 ;kC# Hello! This Version of the StarNet BBS was configured just for Current Notes. It is not in the public domain and the staff at Current Notes hopes that you will support it's author Eric Drewry. This program is configured for a single sided disk, BUT it is highly recommended that you place the messages on another disk and re-run the configure program telling it where the messages are. This should also be done for the upload directory, as you want to maximize your space utilization. The program should also work well with a hard disk if you just run the configure program and tell it where things are to be found. Enjoy the program! - Mike Gibbons - - Current Notes - "pAGiabP)ld d@''`@x1 u3 Py\@7Wsi8$q#;K@mT?un/Am@@$a'̂܁N TT+s{ +s{!;;K%"h \b3sd,Ar272VBh"lä@{7 #{~ K!ѱtb63]C081%cTp;`hV*o m$m,B"HJgP"&J$YJf"Jg< Af Rf Gf Vf =f Jg#^B "&J$YJf"Jf&f2B "EHB2 r ggSJ"g fB*`B" #.I+I/ #8//SA?/ / Bg?<JNA Jf.?<?<N>N?|BWN>NXON" ?N?<LNANV/<?NAXO/NXO`B@N^NuNV/Bg/.pl0H/NXO`"?.NTO=@m?.?N`XO0.N^NuNV/?.?. rF?NA\O>J@f(?.NTO=@m?.?. N`XO0. `0H/NXO.N^NuNV/?. /.p=?NAPO.m:0H.mpF?0?N`XO` m n0?NTOH./NXO.N^NuNVH ?.NTO @Cf|9H>9HH*@SnmSGldpQB9/<p ?NA\O>l0H`p ?p?p?NM\Op9H>9HH*@0Gp H: Ef~` n R RF E fn 0`$/. 0.H/?.p??NA /NXOL N^NuNV/. 0.H/?.p@?NA /NXON^NuNVH >.0V@ @bH0@ PN`*pP`&pA`"pC`JGm*y^SGmJfp`JgHL N^NuNVH >.JGm*y^SGmJfp` Jg0. L N^NuNVH >.0V@ @bHH0@* PN*y^HGg Jfp`&R` ^?NTO`~C`~A`~P`pL N^NuNVJl .D36p` .N^Nu.26user.vernew.veruser.datnew.datbCCAP????????????????????????L"20     *   &    " 88*08 , 6&0&2> 0, 0PVkUӣe4qCcEq`}8=hҾ)vUe\GgݯTFӷʎDk];iխcSڿWl)U6 HÄ$ blAĽs1Mqίa?j_ΒEnP'2WvEﶹO^܇KjMpe53q"qyE0qMR¼モ4?FfF-Өll~}vzЕZ&YIӕK?*sfsˏwzA6_7ݲAUY™[.=/p ξoKlʙ_V0HdGXUS\qۗy;[^ u)5ށm6R8m>krmXv0D~ZpDs|w,=[H|#SVI,< il ZBp{c2YH'K[OWGA*– nOM )ӻuBoRwU;PdW"` bNmnKڎt6u5'bk]6Ko ,}]I$ųOI x3jn6^|]3yAY]~JBB8a0xP{ζE:iWG^Nf5nlh<\#莑ә*O##lXcedAr`{( q QNl;nT6r~nll4+:;nN~i>m"_;C ۧ0//5lң#O`EUJa1ۗI+%3)jXCWU%Wfi,ok;wO1oⶠVߞ!C,MPM -w(VGWcc$m}epu$)bvP&Pԏ½߷"y̭}EȪw[W!ɯ.SWuR PԤ#ꁼ^t#L^z#,ۥSßTz@ L=OZK=!*6㦆?0c[@15P3S]U֜ qĹګAJs!]I/Y9l$2Vmtt?e5g熲 #=g&QJN3˫&M8[[=>v/ Az}ryl"&P3XudOr:imnwQPG [. .. SEEK3MS TOSSEEK12MSTOS~SEEK6MS TOS"~EEK DOC&.` RHN N*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN lHhNdX/,?,N2\?<N?<A?<NAXNuNV-|@ n0N^NuNVHl?< Nr\Hz?<&NH\N^NuNuNV?.NT nn0<`?.?<>N4X9@g0<`0<N^NuNV?.?<LNXN^NuNV/ AB&H`0+ |g/ N*X AB"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NhP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN` -@?<?.B?<BNF -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<IN\N^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^Nu)I)J)_NN"l$l/,Nu)I)J)_NA"l$l/,NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NRX0. Sn J@fN^NuNVH0&n $KAN-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NvTJ@f`H| f |o@ H-@/./.?.?<@N| 9@Hg0<`0,n/./<?.?<@NF 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@Hg0<`0,nBl0.L N^NuCB"2"2 2"2"2"22"2"2"22"2x9|@NuSeek rate configurer (c) R.Chafer Disk seek rate now 3ms CON:AUX:PRT: F0ٕ@l2Gni/[p\ a`P<4sPXatȅlb<YW@ `쭬, r4@ǘ8F, LAA`@'` RHN N*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN lHhNbX/,?,N0\?<N?<A?<NAXNuNV-|@ nBPN^NuNVHl?< Nr\Hz?<&NH\N^NuNuNV?.NT nn0<`?.?<>N4X9@g0<`0<N^NuNV?.?<LNXN^NuNV/ AB&H`0+ |g/ N*X AB"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NhP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN` -@?<?.B?<BNF -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<IN\N^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^Nu)I)J)_NN"l$l/,Nu)I)J)_NA"l$l/,NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NRX0. Sn J@fN^NuNVH0&n $KAN-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NvTJ@f`H| f |o@ H-@/./.?.?<@N| 9@Hg0<`0,n/./<?.?<@NF 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@Hg0<`0,nBl0.L N^NuCB"2"2 2"2"2"22"2"2"22"2x9|@NuSeek rate configurer (c) R.Chafer Disk seek rate now 6ms CON:AUX:PRT:  0 |t A R ~SI0|vg0O9` ` @S` ƀ@00@b  yp( p}  h ` RHN N*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN lHhNbX/,?,N0\?<N?<A?<NAXNuNV-|@ nBPN^NuNVHl?< Nr\Hz?<&NH\N^NuNuNV?.NT nn0<`?.?<>N4X9@g0<`0<N^NuNV?.?<LNXN^NuNV/ AB&H`0+ |g/ N*X AB"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NhP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN` -@?<?.B?<BNF -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<IN\N^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^Nu)I)J)_NN"l$l/,Nu)I)J)_NA"l$l/,NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NRX0. Sn J@fN^NuNVH0&n $KAN-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NvTJ@f`H| f |o@ H-@/./.?.?<@N| 9@Hg0<`0,n/./<?.?<@NF 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@Hg0<`0,nBl0.L N^NuCB"2"2 2"2"2"22"2"2"22"2x9|@NuSeek rate configurer (c) R.Chafer Disk seek rate now 6ms CON:AUX:PRT: ֶpOKa0ﰾ9dcPAiC/Jnz[;G2n l&Mwjyp0xv0i` ӡ9LCMEB+ mִ,߭ 䊜Editing UD sections There are 20 UD sections.All options are the same as the message bases except the options that refer to message numbers. Editing other parameters Edit default pathname This is the path where the user.dat,user.ver files should be placed. It should remain in the root directory of any of your drives(ie a:\ b:\) .If you are using the log to disk option the star.log file is created here. Edit mail pathname This is the pathname where the mail is kept.You must create this folder for the BBS to save its mail correctly. Edit outside pathname This is the pathname where your outside games,msh.prg are kept. Also place a copy of arc.ttp there.You must creat this folder and copy these files into it for the BBS to handle the outside games a V option from the UD section properly. Edit textfile pathname This is the pathname that the BBS looks for the menu,welcome,newuser logon and logoff textfiles and graphics files.You must these files to a new folder with that name. Edit BBS name This name will be displayed in the welcome prompt before asking if you have a VT52 terminal or for you to press return in the hayes result code method of baud rate detect. Edit Chat mode engage string This string will be sent to the user and screen when you enter chat mode. Edit return from chat string This string will be displayed when you return the BBS to user control. Edit # of calls to system This allow you to change the total of calls the system thinks it has received. Toggle Baud Rate detection type This allows you to change from the hayes result code method of determining the callers baud rate to the hit return method and visa-versa. If you think you hayes compatable modem is having trouble determining the baud rate change this. Edit system ID string This allows you to change the 2 character string that precedes the u. <.. <SOURCE GFAlSTOSCLMNBASA3D_02 RnREAD_ME NOWf #. m.. mDIAL DIRt;I_O BASwI_O GFA{ I_O H EI_O RSC@I_O RSDGFA USER MAGAZINE CREWE 1800-2100 hrs 0270256429MicroMola London HST (supports GFA0713167402CIX London gfa@cix 0713901244 %LINIC DOCKG(MEGA DOCK$TOS DOCK%+EM DOC@LWGfABASIC::TXz~~Rff~ INFOBOXPAPERLINE1LINE2LINE3LINE4LINE5EXITMASKBUTTONNPRNTSETCURRENT_SETTINGVARBIT NEW_SETTINGXYSET_DMPDAISYMONOCOLOURATARIPEPSONDRAFTNLQCENTRONCRS232CONTINUSSINGLEPRTOKOBJVALRTEMPF_NAMEFNAMENAMELOCATIONCOMMENTNXSIZEX_FILENAME PHONE_NUMBERAVFORM1TREEXYWHRESULTOBJTREE.FIRSTOB.DEPTH.CLIPX.CLIPY.CLIPW.CLIPH.EDITOBJ.X.Y.WIDTH.HEIGHT.TYPE.INDEX.ADDRESS.V1.V2.V3.V4.V5.V6.ENTRIESNEDITDECREMNTINCRMTCANCELSAVEENTRYNONAMELOCATNCOMMENTPHONENOFILEFILENAMEXSIZET_N_TREE_OBJECT_STRING.OB_STATEBCLRBSETDPOKENAMELOCATIONCOMMENT PHONE_NUMBERLOACTIONLOCTIONENTRY_NO RSRC_FREE RSRC_LOAD RSRC_GADDR FORM_CENTER OBJC_DRAWFORM_DOOB_CLR FILL_GCONTROL FILL_GINTINSET_VARSSET_FORM OB_STATEWOB_STATERSC_VARS LOAD_DIAL_DIR ENDSELECT SAVE_DIAL_DIRFROM_DOGTEXTSTEXTOB_STATEBTSTBSETBCLR OB_STATEWAME>*HH !HH !HH !HH !HH FX 7 FiMFTMi_o.rsc FE3 F nRF.R)!@Can't find Resource file|Try and select it with|the fileselector!!OK!Ffi_o.rsc!!F nFF M FF nNF qF F FM FoM!!! F!  MFC EF M!!!! FM!!!!F,FM!&!A FM!'! FM!)! FM!(! FM!*! FM!,! F M!!`!!!! F M! FE3 F M! F M!'! F  EF M!)! F  EFM!(! F  EFM!*! F  E FM!,! F p "F pFr5F F F p<#F p8HF_4F F F p\Z$F%n% F pv%FMFe FMFX #7  F + FC!EF DIALOG TREE "EF Boxed Char ,&EF Formatted Text ,#EF Boxed Char e"'EFe Formatted Text ,"(E F  Formatted Text ,")E@F  Formatted Text ,"*E`F  Formatted Text ,+EF  String e",EF  Formatted Text ,$E F  Button e%E0F  Button e.F +FT r܆dial.dir F  E DIAL DIRF7r!M!dial.dir!|F  EF4PM! l!l!l! lF rrM FM! F  EF  EF  EF  EF4 F rF 8MF F.F +FF7r!M!dial.dir!|FM4PM! l!l!l! lFs EGF NE Fi NE Fi NE Fi NE FiM! F sJ FF8MF.F 4************************************************ * +! F>##@   !3#@   ! F.F + ! ! ! !!! FM(!@!!! FM ! ! !!! F! FsF.F + ! FMH!!!! F!F! FsF.F + !!!! FMX!! !! F! FsF E3 F!E3 FE3@@ FE3 F.F + FM\!!!! F !z FsF.F +FM^!!!! FsF.F +!! FM`!!!! F!F !FsF E4 F.F +!!!! FF!F !F!!F@!F!F.F +!!!!! F!F !F!!F@!F!F !F.F + !! F ##@   !!F .F &! E3#@   F ! E#  #  F ! E  F ! E#   F +0!1!2 F h F. EH F 0E440@1@@ F0!z !HF@2E; @C @B  F.F +0!1! F E B F 0E40@1@@ F$z !40 !u6 !30@  F.F uuNutƀt$tsҀuvZvprrwvwww*wHw\tSHEV8,VT$ $Mʎ!9+?qUM Fmq8a0.Xzk  Rs+r9 gAs%rH;Ԫ|wMhXwHmOLͽEm_tXD [ͼk"M]GAbUVߑ<$M̼:Rp2ǁ㖚ͻ pqTͻy/$&Xd$T k/YG%f*O!25g_ר>*hA߂;*3έ4h\;$X6[2o4 2t.= 0VTۀǘBC|\7VE*7GN nsܱU|8>y] uE# U,q˫ H,FwLJ^Z.H{MdsnZjN0\ühҭ}]da~s@o"xzn=-/;/09/HL?a]A~|3ؼ[ /i_GFA-BASIC3Hbbf @@@@@L  . . 2 B J J " " F F F F F $lMASKNSTARTBUTTONERTEMPNAMELOCATIONCOMMENTN PHONE_NUMBERFNAMETREEN_NAMESNIENTRIESBSTNAMELOCATIONCOMMENT PHONE_NUMBER PHONE_NUMBERENTRY_NOAFORM1XYWHINFOBOXPAPERLINE1LINE2LINE3LINE4LINE5EXITCURRENT_SETTINGSETTING_SET_ NEW_SETTINGVRESULTTREE1DMPDWHLMONOCOLORATARIEPSONDRAFTNLQRS232PARRALCONTINSSHEETDUNPRNTSETDAISYCOLOURATARIPCENTRONCCONTINUSSINGLEPRTOKEDITNAMELOCATNCOMMENTPHONENOFILEFILENAMECANCELSAVEENTRYNODECREMNTINCRMTSET_VARSSET_FORMVARSLOAD_DIR LOAD_DIAL_DIRRSC_VARS SAVE_DIAL_DIRSRESRE6Hd !d !d !d !d F $Fr}F@|i_o.rsc FF >"F1^!@Can't find Resource file|Try and select it with|the fileselector!!OK!F$i_o.rsc!!F > F @| F 8>FF$F$FF~!! F  F 8F С!!!! F!!!!F Fp!! XC F=p! XC Fp! XC Fp! XC Fp! XC Fp! XCF "З!!!!!! FDН! F!9.! ! F 9ap! XXF=L9ap! XXF=L9ap! XXF=L9ap! XXF4ap! XXF 0@F @8"F @0߀F=F$F @h#F @`F=F$F4F@F > F  @ FF$F}F F FF- DIALOG TREE "F  Boxed Char -"!F  Formatted Text -#F  Boxed Char e"F  Formatted Text -"F  Formatted Text -"F  Formatted Text -"F  Formatted Text -F  String e" F  Formatted Text - F  Button e F  Button eF F CTdial.dir F4 DIAL DIRF"$r!M!dial.dir!?F!8FM!ߠlFM!߀lFM!߈lFM!ߠlFCxN F M!F9 FL9 FL9 FL9 FF9 CF 0MFr$FF F$r!M!!?FM!ߠlFM!߀lFM!߈lFM!ߠlFXGFE F E F E F E F M!F D(F 0MFrF 2$oyxdhTq"ҽY>Lӓٺ哲7ݦaHS.$g[V}60`\F v// YB<Ҍz@cLtWqx4)A5M~)V0H [I=l,Y_MdΛޮb5/"B$Lcl,u hu|c,ƾ8Q^fS9:a1b_i 7~AnK_u9v`2#yL|\=>s~_oYݮq&kl-`k~-`fitXQ$]n7zO7}zʒ7z_"5/* resource set indicies for I_O */ #define EDIT 0 /* form/dialog */ #define DECREMNT 1 /* BOXCHAR in tree EDIT */ #define ENTRYNO 2 /* FTEXT in tree EDIT */ #define INCRMT 3 /* BOXCHAR in tree EDIT */ #define NAME 4 /* FTEXT in tree EDIT */ #define LOCATN 5 /* FTEXT in tree EDIT */ #define COMMENT 6 /* FTEXT in tree EDIT */ #define PHONENO 7 /* FTEXT in tree EDIT */ #define FILE 8 /* STRING in tree EDIT */ #define FILENAME 9 /* FTEXT in tree EDIT */ #define CANCEL 10 /* BUTTON in tree EDIT */ #define SAVE 11 /* BUTTON in tree EDIT */ F"0f~X .1d֮?LTDm܇aKmu'R ۓ:˴>\a]ա t ZW~9ȁBK u79];gHE2yHJ@).4{w- N&\|C. vh0mI Ki)H@5:̻&xy! g=yMau )nt0u+=}iaҗ%PiEPdk=s7]wm=37ud$T kΪ?/˔f/:[O\:;_.M&Kg2~[5Z*IP +l(tȓ4$_qĘEANbU6z*c5I%B+&zkottt$tt< @___Edit Directory Entry: ___999____________________Name: ____________________XXXXXXXXXXXXXXXXXXXX________________Location: ________________XXXXXXXXXXXXXXXX_________________Comment: _________________XXXXXXXXXXXXXXXXX__________Phone Number:___-___-____XXXXXXXXXXFilename:___________________.___FFFFFFFFFFFCancel SAVE $(BF[v, AMZ  #@t@  7    f'm own question sets for use with Perfect Match SW, and Guess Again. (It makes a fun way to study information for an upcoming test. Just type in the questions and answers and then play for ha EDITDECREMNTENTRYNOINCRMTNAMELOCATNCOMMENTPHONENOFILE FILENAME CANCEL SAVEts and so on.) @r 9X +@3 .+@ m$H"m`# # # # b+I+ICp"$, n$N(n*-BG&.$(.(gP<f* ~`A4fݒ`ݒ&Rd~gJGffkfB`&`&&`+N ,+n <+L T  T P X E+J hZ+L&LpI0lI$`$ \%LId @IL8 L+H j@ AH `  C+I tC |C,C;i$ &DBm +n$ +( dBe L"m$na$n&n(n"/, N,_J@fGN ;n" g |HNLjNX6DA  A䂠 pARNE~NCpNG m6;hT+ !M ,m LAp;| &m ,Et m DgH >$RB@N" L|:B%AhEQ.?<%NNO/-  0<BBĢ,Xv3} ]`ff"@0OnbB}8d;q-̴y$>"71J*A *O \ K_@G)^xM,^K Oa_yL8KjG #0`@:,W; lY+fJ-l&RGC``$ԯ 0Cd|x!wJ Bڤw["|.n*|p-~## 1`'6D?Y xw`P}`%Y0G` J   AJ}y-cbZ"m$,,>QHx`&# eFܰ5C2H3ptz% 3Z`;E`3Hj@ l!hu%g%@`J.C<9Cga5T 2YO D -A:8Zil& @C|2@8$,#AvFƧaDB gD~sq^k RҞ \p2A&ǧqxe9-s(_#>'6c@|^~tpA(HTg0I7 *~B6ycp~<@{VznV=wyңyuD.#`!]֨l5*Z"ճ-]G"@q=Z[0bRCY/EW=Da#08iZ.Bps)o%8BRs0KNfd%KM2ߖ~c!PaBuxQ%<lpr'"~ ~`Pc$_@ a0 8SpGeg저gypĀmF0|' | !~v&m`m%FwV`hmpb' 'HmpEmaJp ZHFHp%m`]0aB#'|0HG7w͗}} W}R%K}w؈ vjp ` Jp!ex%eQ&upRjl`>kg¸g @kp@,`}7  4@! @0.`oDP(`he Xh g` vPxP<  0k  :``Xb\G@p[ y H~QIp&NH` ¸ D p@b "`=FG CkI؀ E D@Pi@ it F@T `0@OiƠ` ưi6P +I8EH0xÀE `>Pi g~)Rg 0P}wBP8Pp H@O @h `B@@i` t@pSP@p=Ih؎٠X}Yjxɖn x}wtWFhRP[\:t!h`(=Z,EaϠ" uu@׋a  R0 6 *p,A @1p (P@*@ $ZPPviQ*m mm̲m>m>#(>>^plhϸȨ8x"ߨy8BE.k 98 B{Dے/HK*6M˓> D .۔Rٵ_[ٕ_cYk ڶ x|Qv}阐yIə yiۚBpX\YRk՜C`wξ,? lǸ ;Ψiе )o  l  ~ υu lM+Bp͢BɲɵM<` Br6c"ra?a`J7DPDpPǜ Eu-m߲ M> XaN<>`j~Zlm lg ִm۟ʣ\ʂ/pM˂y˹˽<,}XjЏl'Lٜ?, (D` zp`[ y lOO¨D)iE [ JJuɼ9ϋqui0z*ۛp@` 3 ` 0SpQ U?PQ )\!)!)>?0E1 p11Gfwvx hy.0޾F`Pej0 x}bp 0L(p{P>Ln蒑n蒑tѿ5MQ< )@zD0d~DpVD J!~~e*mJpJ@uS܀,ª1\5|ϛ%Ȩ,/HĖjGIʃ>~OLRʄNXLZ<`>ƿf8 then return 1520 TX=XP : TY=YP : M=0 1530 if J=1 then dec TY : M=1 1540 if J=2 then inc TY : M=2 1550 if J=4 then dec TX : M=3 1560 if J=8 then inc TX : M=4 1565 if TX<1 then gosub 2000 : return 1566 if TX>20 then gosub 2100 : return 1567 if TY<1 then gosub 2200 : return 1568 if TY>11 then gosub 2300 : return 1570 if M=0 or MAZE(MAZ,TX,TY)=1 then return 1580 XP=TX : YP=TY 1590 move x 1,MOVX$(M) : move y 1,MOVY$(M) 1600 anim 1,AN$(M) : anim on (1) : move on (1) 1610 if movon(1)<>0 then 1610 1620 move off (1) : anim off (1) 1630 return 2000 rem move to the left 2001 rem **************** 2010 YY=y sprite(1) : TT=SCR(MAZ,M) : if TT=0 then return 2020 reserve as screen 7 2025 for B=20 to 1 step-1 : for C=1 to 11 2030 XX=MAZE(TT,B,C) : screen copy 6,XX*16,10,XX*16+16,26 to 7,0,(C-1)*16 2040 next C 2050 screen copy physic,0,0,304,176 to physic,16,0 2060 screen copy 7,0,0,16,176 to physic,0,0 2070 cls 7 : next B : wait vbl : screen copy physic to back 2080 erase 7 2090 MAZ=TT : sprite 1,304,YY,10 : wait vbl : sprite on (1) : wait vbl : XP=20 2099 gosub 2500 : return Lines 1000 to 1630 is just the routine that moves the man around, which has been renumbered from last month's version. The only changes are: 1565 if TX<1 then gosub 2000 : return 1566 if TX>20 then gosub 2100 : return 1567 if TY<1 then gosub 2200 : return 1568 if TY>11 then gosub 2300 : return 1570 if M=0 or MAZE(MAZ,TX,TY)=1 then return These are just to test the position of the man and jump to the correct scrolling routine if required. Line 1570 now makes sure that the joystick has been moved and the man isn't trying to walk into a wall before allowing the man to move. Back to business, lines 432 to 438 sets up the dummy bank to hold the graphics and copies the sprite images onto it, one next to another. The important bit of work is done in lines 2000 to 2099. This shows how the screen to the left of the current one is scrolled on. Firstly, bank 7 is defined and the two FOR... NEXT loops are set up. Notice that B counts down from 20 to 1. This is because we're drawing the screen from right to left, so that after each column has been drawn, it is scrolled onto the main screen. This gives a fairly quick scrolling technique, without having to resort to deperate measures such as dedicated machine code routines. Line 2030 reads the data from the MAZE array and copies the correct graphic from screen 6 to screen 7. When a whole column has been drawn, (C = 11), line 2050 copies the main display 16 pixels to the right and line 2060 copies the newly drawn column of graphics to the left hand side of the screen. Although the theory seems a little crude, (and even confusing), the whole effect is one of a reasonably quick scroll, especially when all twenty columns have been drawn and scrolled. Notice line 2070, which before the next column is drawn clears bank 7. If this wasn't done, you'd end up with some objects appearing on top of others. Try removing the CLS 7 command from line 2070 in the main program to see the actual effect for yourself. Only one thing remains to be done and that is to copy the physical screen to the background and reposition the man on the screen, at the right hand side. The variable YY was set up at the start of the routine to hold the y-coordinate of the sprite for when we redraw it. Notice there was no need to keep a record of the X-coordinate, because we know it will automatically be changed to the very right most point of the screen. For the time being we'll ignore the GOSUB 2500 instruction. Well, that's how to scroll. I suggest you examine the main program very closely until you get a good idea of EXACTLY what's going on in the scrolling routines. The tricks you'll learn are quite invaluable and can be used in many types of game, not just scrolling mazes. The routines at lines 2100,2200 and 2300 are similar in operation, except these scroll the new screens from the right, above and below. I suggest to take a look at these three, just to make sure you understand how they work. Enough of scrolling, let's get those baddies into the game. You should remember from last month the picture I used to read the maze data from. This also contained a few green dotted lines which show the paths each baddie will be taking. I also mentioned that the rough design of the maze was done first on a large piece of graph paper. It's this graph I've used to work out where each baddie will start and how it will move. It's possible to use an array for moving the baddies, but this would mean having to move each one with a specific command. The time this takes wouldn't be too long, but there are more things we could be doing with the time available. For this reason, and because the paths are quite simple, I decided to go back to the good old MOVE commands. Lines 600 to 650 control the setting up of five arrays: BADS(9) How amny baddies there are on each screen SXBAD(9,4) The starting X coord of each baddie on the screen SYBAD(9,4) The starting Y coord of each baddie on the screen BADDX$(9,4) Command data for the MOVE X command BADDY$(9,4) Command dtat for the MOVE Y command 600 rem set up the baddie movements for each screen 601 rem ******************************************* 610 restore 620 : for A=1 to 9 : read BADS(A) : next A 620 data 4,2,3,3,0,3,2,3,4 630 restore 700 : for A=1 to 9 640 if BADS(A)>0 then for B=1 to BADS(A) : read SXBAD(A,B),BADDX$(A,B) : read SYBAD(A,B),BADDY$(A,B) : next B 650 next A Notice screen 5 has no baddies on it. Lines 900 to 940 show the data for each of the four baddies on screen 9. For a full explanation of the MOVE X and MOVE Y commands see page 82 of the user manual, but a brief note on these follows: Syntax MOVE X sp,"(speed, pixels to move, how many times)" It is always best to have a speed value of 1. The 'how many times' is literally how many times the sprite will move the designated number of pixels. For example: MOVE X 1,"(1,1,100)" - will move sprite 1, 1 pixel to the right a hundred times, giving the appearance of the sprite moving right by 100 pixels. MOVE X 1,"(1,-1,100)" - Exactly the same, except the sprite will move to the left. MOVE X 1,"(1,2,50)" - This will also appear to move 100 pixels to the right, but twice as fast as the example. This is because it's moving two pixels at a time instead of one. I've made use of this last example to have some baddies moving faster than others. 898 rem BADDIE DATA FOR SCREEN NINE 899 rem =========================== 900 data 240,"(1,1,48)(1,0,32)(1,-1,48)(1,0,32)L" 910 data 16,"(1,0,48)(1,1,32)(1,0,48)(1,-1,32)L" 915 data 48,"(1,2,120)(1,0,32)(1,-2,120)(1,0,32)L" 920 data 80,"(1,0,120)(1,2,32)(1,0,120)(1,-2,32)L" 925 data 144,"(1,0,64)(1,0,64)L" 930 data 80,"(1,1,64)(1,-1,64)L" 935 data 192,"(1,0,64)(1,0,64)L" 940 data 144,"(1,-1,64)(1,1,64)L" Each sprites data is split into two lines, the first one controlling the X movement and the second controlling the Y. The data at the beginning of the lines identifies the starting position of the sprite. For example, the data for screen nine indicates: Sprite Starting Starting Number X-Pos Y-Pos 1 240 16 2 48 80 3 144 80 4 192 144 Right, now we know where the baddies will start and where they're going. The last routine for this month is just to put them on the screen and set them moving: 2500 rem put the baddies on the screen and set them moving 2501 rem ************************************************* 2510 sprite off (2) : sprite off (3) : sprite off (4) : sprite off (5) 2520 if MAZ=5 then return 2530 for A=1 to BADS(MAZ) 2540 sprite A+1,SXBAD(MAZ,A),SYBAD(MAZ,A),30 2550 anim A+1,"(28,5)(29,5)(30,5)(31,5)l" 2560 move x A+1,BADDX$(MAZ,A) 2570 move y A+1,BADDY$(MAZ,A) 2580 next A 2590 move on : anim on : return Quite simple really, isn't it? Line 2510 turns off any sprites that shouldn't be there, and line 2520 makes sure that we're not on screen 5. Remember this screen has no baddies. The main loop, (2530 to 2580), put each sprite at its start position, initialises the animation sequence and finally sets up the MOVE commands. Once the loop is finished with, line 2590 sets the movement and animation going and returns to the calling routine. Remember the GOSUB 2500 instructions at the end of the scrolling routines? Well, this routine is also used to put the new baddies on the screen after it has been scrolled. Before I finish, time to iron out the bugs I've found so far. Stop laughing - Bug Hunting is all part and parcel of programming. Obviously, it would be very nice to write bug-free programs first time, but life just isn't that kind. The first one concerns the doors. These are arranged throughout the maze and can only be opened with the right coloured key. On checking the state of the maze I found there were more keys than there should be, and not one door in sight. The error was tracked down to these three lines: 260 if TT=1 then MAZE(A,B,C)=10 : if point(XP,YP-1)=8 then MAZE(A,B,C)=5 280 if TT=3 then MAZE(A,B,C)=9 : if point(XP,YP-1)=8 then MAZE(A,B,C)=3 300 if TT=6 then MAZE(A,B,C)=11 : if point(XP,YP-1)=8 then MAZE(A,B,C)=7 To get them working correctly, change the - signs to +'s. When testing the game I also found that gold pieces were appearing directly under the little man when the screen was scrolled. Since the man hasn't actually moved - just the screen has been scrolled - it follows there should have been gold beneath him BEFORE the scrolling took place, but usually there wasn't. The answer to this was to make sure that gold could not be put at the very edge of a screen: 390 if MAZE(A,B,C)<>0 or (A=STM and B=STX and C=STY) or B=1 or B=20 or C=1 or C=11 then 380 The final bug lies with drawing spaces. Previously I had just ignored any space and just drawn the more important bits, such as walls, gold and keys. The quick definition of a blank sprite, drawn with a colour set to black - (other than zero of course, because colour zero is used purely for the background and doesn't affect the main display one bit) - solved this one. Now to draw a space I just use sprite pattern number 27, which nicely obliterates anything underneath it. This pattern needs including in the PATTS() array, which is achieved by: 420 restore 430 : for A=0 to 13 : read PATTS(A) : next A 430 data 27,2,26,19,18,17,16,21,20,23,22,24,25,1 Don't forget that line 434 needs changing from: 434 for A=1 to 13 : sprite 1,A*16,10,PATTS(A) : wait vbl to: 434 for A=0 to 13 : sprite 1,A*16,10,PATTS(A) : wait vbl That's it folks! The full, so-far-working version of the game can be found on the cover disc. Please examine the code quite carefully to be sure you understand everything that's going on. Next month it's time to get the gold or die. In other words we'll be including the timer, picking up the gold and bumping into baddies and acid pools. ','R' amd '!'Welcome to part 3 of resource programming in GFA Basic. This time I will cover getting information in and out of resources (dialog boxes) using editable fields. You may have noticed, that over the last three issues, the programs all start off the same way, the management of dialog boxes always follows these simple steps: 1) Reserve memory for the file - RESERVE. 2) Free any existing resource memory - ~RSRC_FRE(). 3) Load in the resource file using RSRC_LOAD (you can do error detection (ie. file failed to load)if you want.) 4) Get the object numbers and tree address(es). (For multiple form resources - you need all the trees!) 5) Put the dialog box onto the screen - using OBJC_DRAW. 6) Pass control over to GEM via the FORM_DO command. 7) Find out what objects were selected, and react as required. 8) Remove the resource from memory ~RSRC_FRE(), and relinquish reserved memory. Steps 5,6 and 7 can be repeated as required for your particular program. This Month's Program ==================== This time, the program and resource, demonstrate how to pass information to, and get information back from, editable fields within a FORM. You should have seen this type of input, it is presented by the ST when you want to create a folder, or type in a file name via the file selector. You can put default values into these fields, mask off unwanted entries, and preformat the way the information is presented. If you carefully read the introduction in the first part of this series, you may have noticed that I said that an editable field can't be the last object within a form, otherwise you will crash the ST. So with this in mind, always sort the objects when you create them, and if there is an editable object as the last one, create a dummy IBOX and hide it. This does not apply to our program, as the last object is an EXIT box. The idea of the program, is that it stores phone numbers; you could use this to auto phone a bulletin board, or simply as a phone book. The resource file contains the usual EXIT boxes, and introduces some new objects: the left and right arrows (within a box) is called G_BOXCHAR, the editable field is G_FTEXT. The status of the boxed characters (the left and right arrows) is set as TOUCHEXIT. This is slightly different to the normal DEFAULT/EXIT box. An object with TOUCHEXIT status will send a message via FORM_DO when you click on it (as soon as you press the mouse button), whereas an object which is selectable (like the EXIT box) will only react when the mouse button has been pressed and released. Some of the editable fields have been preformatted, ie. they have a mask. If you type in a name in the file name area, it will put the '.' in for you. So if you type 'ABC' and the press the full stop, the cursor will automatically go to the part where you enter the file's extender. The phone number also, has minus signs in it, you cannot type over them, the AES does the formatting of the text you type in, for you. The program flow looks like this: ______________________ error in loading ?? | Load resource file |------->-----------_______________________ | |Try finding resource | |load ok? || |----------------------<---<-------|ok |failed _________|______________ _______|______ | Is there a data file?| | End program| | then load it. | | | _________|______________ | If data exists - put | | it into resource |-------<-----+ |^ ^ | < | > ______|_________ _________|________|____ | no file name | | edit resource boxes | | || __________^________ | +-->------| clicked on SAVE | | | ____|________________ | | Clicked on Cancel | | | | | | _________|_______ | | EXIT PROGRAM |--------<----------+ You can see from the flow chart, that the program is a continuous loop, waiting for input, if you select the left or right arrows (increase or decrease entry) you go back to the edit mode. If you click on SAVE, but there is no file name specified, then you go back to edit. First set up room for the variables DIM entry_no%(100),name$(100),location$(100) DIM comment$(100),phone_number$(100) next the normal load bit (see steps 1-3 above) RESERVE -732 ~RSRC_FREE() a&=RSRC_LOAD("i_o.rsc") IF a&=0 ALERT 1,"Can't find Resource file|Try and select it with|the fileselector",1,"OK",v| FILESELECT "i_o.rsc","",r$ IF r$<>"" a&=RSRC_LOAD(r$) ELSE END ENDIF ENDIF set up the variables rsc_vars get the address of the structure ~RSRC_GADDR(0,edit|,tree%) try to load the default file for the data @load_dial_dir set number of entries to the start entries%=1 calculate the coordinates for the form ~FORM_CENTER(tree%,x&,y&,w&,h&) now sit in a loop until finished REPEAT put your data onto the form, so you can edit it CHAR{{OB_SPEC(tree%,entryno|)}}=STR$(entries%) CHAR{{OB_SPEC(tree%,name|)}}=name$(entries%) CHAR{{OB_SPEC(tree%,comment|)}}=comment$(entries%) CHAR{{OB_SPEC(tree%,locatn|)}}=location$(entries%) CHAR{{OB_SPEC(tree%,phoneno|)}}=phone_number$(entries%) CHAR{{OB_SPEC(tree%,filename|)}}=fname$ draw the form on screen ~OBJC_DRAW(tree%,0,7,x&,y&,w&,h&) hand over control to the AES, result|=FORM_DO(tree%,0) clear the button that caused the exit from the form OB_STATE(tree%,result|)=BCLR(OB_STATE(tree%,result|),0) get all entries from the form LET name$(entries%)=CHAR{{OB_SPEC(tree%,name|)}} comment$(entries%)=CHAR{{OB_SPEC(tree%,comment|)}} location$(entries%)=CHAR{{OB_SPEC(tree%,locatn|)}} phone_number$(entries%)=CHAR{{OB_SPEC(tree%,phoneno|)}} fname$=CHAR{{OB_SPEC(tree%,filename|)}} did you click on a right/left arrow? SELECT result| CASE decremnt| IF entries%>1 DEC entries% ENDIF CASE incrmt| IF entries%<100 INC entries% ENDIF ENDSELECT did you click on cancel? EXIT IF result|=cancel| keep going until you click on SAVE and you have a file to save to UNTIL result|=save| AND fname$<>"" save the file IF result|=save| @save_dial_dir ENDIF all done ~RSRC_FREE() RESERVE END the resource variables here PROCEDURE rsc_vars LET edit|=0 ! DIALOG TREE LET decremnt|=1 ! Boxed Char LET entryno|=2 ! Formatted Text LET incrmt|=3 ! Boxed Char LET name|=4 ! Formatted Text LET locatn|=5 ! Formatted Text LET comment|=6 ! Formatted Text LET phoneno|=7 ! Formatted Text LET file|=8 ! String LET filename|=9 ! Formatted Text LET cancel|=10 ! Button LET save|=11 ! Button RETURN if a data file exists - load it PROCEDURE load_dial_dir IF EXIST("DIAL.DIR")<>0 fname$="DIAL DIR" OPEN "r",#1,"dial.dir",63 n%=1 FIELD #1,20 AS name$ FIELD #1,16 AS location$ FIELD #1,17 AS comment$ FIELD #1,10 AS n$ WHILE NOT EOF(#1) GET #1,n% LET name$(n%)=TRIM$(name$) location$(n%)=TRIM$(location$) comment$(n%)=TRIM$(comment$) phone_number$(n%)=TRIM$(n$) INC n% WEND CLOSE #1 ENDIF RETURN save your file PROCEDURE save_dial_dir OPEN "r",#1,fname$,63 FIELD #1,20 AS name$ FIELD #1,16 AS location$ FIELD #1,17 AS comment$ FIELD #1,10 AS n$ FOR n%=1 TO entries% LSET name$=name$(n%) LSET location$=location$(n%) LSET comment$=comment$(n%) LSET n$=phone_number$(n%) PUT #1,n% NEXT n% CLOSE #1 RETURN I have used a random access file, you could use any type you wish. If you would like more information on resource programming in GFA Basic, then I would reccomend two books. For version 2 users - Advanced Programming in GFA Basic. For V3 users - Software Development in GFA Basic. Both available from GFA Data Media (UK). John Peters z)4>ʸ{'Zgò 򑪘5W\eb +];dF c:65sŖ `G3n@3B{2m4IE>'S[\8 tyfkpuBʕ^rϚxњ[W JI߾xf|ÂJ3}C!2-4 ֒Ct:T-N цړ$+WrJgJZ7iui` ]tP.Bs)nHY)^n|S" }jB\vk-si5) ӣ{+BN0{(o ]#>4`iFlummoxed by files? Getting worked up over windows? Tied up by text? Mathew Lodge and his contributors can help you out. Covered this week are disk File Allocation Tables and machine code multiplication. Simple GEM ========== Dave Wade from the University of Salford has a few good suggestions for fledgeling GEM programmers: "Just a tip for readers who want to write GEM programs. I have now read many articles on how to do this, and lots of series, and most seem to start at the wrong end of the process. They all start with 'How to open a window', 'How to use the AES' etc. I am producing a desk accessory which has a fairly simple task. It copies a disk file of registrations to/from a MIDI device. After reading the guff I finally decided just to use alert boxes and the file selector. This had produced a fairly nice piece of code which didn't need too much inside knowledge of GEM. More generally, when debugging I found alert boxes really useful, and I now just insert a call to form_alert wherever I would have used printf in the past. If I need to output variables I just use sprintf first. If anyone else wants to start producing GEM based applications, might I recommend this route to start with. Then, when you get going, you can graduate to windows and menus later on." Accessory Anguish ================= The first of two Swedish correspondents this month is Martin Hagelin from the Swedish Royal Insitute of Technology. He's fed up of opening windows on the desktop in order to run programs on his hard disk. He's tried a few menuing programs, but they don't provide the file management routines (copying, deletion etc.) that the Desktop does. "I thought: Why not write a menu system that was controlled from an accessory? First I tried using shel_write {covered in the clinic last month - ML}. Nothing happened. In the documentation I've got it says that the program will be run after the current application is terminated, but the accessory application never terminates. Then I tried to start another application inside the accessory with appl_init, the shel_write and appl_exit, but nothing happened. Pexec() worked, starting a program, but then after terminating and going back to the desktop, everything got weird - the desktop didn't update and menus disappeared etc. And now I wonder: Is there a way to start a program from an accessory, and if so, how do I do it?" A tricky problem with no obvious solution, though Martin could try one of the Desktop replacement programs such as NeoDesk 3 or GFA Hotwire. GDOS problems ============= Someone a who has got further into the innards of GEM is Daniel Stewart of Potter's Bar. He's being having problems with GDOS programs. "I have recently purchased the G+PLUS replacement for Atari GDOS, and I'm very pleased with the speed improvements that it gives me with MicroSoft Write and EasyDraw. I've also been writing some small C programs of my own that use fonts, and I've mastered the subtle differences between workstations and virtual workstations. However, I have been unable to get any fonts to print out using the FX80.SYS driver supplied with Write. In fact, I don't get anything out at all - how do I print out a page? My second problem is with metafiles. First of all, I can only seem to create metafiles with the name GEMFILE.GEM, and they're always empty. I have the metafile driver installed as device 31, but I can't seem to create anything that I can load into EasyDraw." What is Daniel doing wrong? Answers please to the address at the foot of the column. FAT and frantic =============== In the December clinic I kicked off with Richard Wheeldon's query about the File Allocation Table (FAT) used by GEMDOS to keep track of files. Richard wanted to know how to read the entries in the table, and a rather formal M. Lloyd of Stepney, London comes to his aid: "Each FAT entry points to one data cluster (one cluster = two disk sectors) with standard formatting. Floppy disks have FAT entries that are twelve-bits in size. This limits a disk to four megabytes in size, so hard disks come with a driver allowing access to a sixteen bit (word sized) FAT entry. Regrettably, TOS versions before 1.4 only allow 32768 sectors to be accessed (16 megabytes per drive), due to a sign extension bug in the GEMDOS code. Because of this mistake, hard disk manufacturers use various schemes to get around this limitation (e.g. non-standard sector sizes), and hacking hard disks with your own code is a recipe for disaster. The FAT entry layout is complicated by the rather strange Intel format used (to maintain compatibility with PC disks). If a, b and c are three consecutive bytes from the FAT table, then the first cluster number is given by ((b AND $0F) * 256) + a And if you thought that was bad, the second entry number is given by ((c / 16) * 256) + (((c * 16) AND $F0) OR (b / 16)) Having converted the FAT entry into a number, you now have to relate them to data clusters on the disk. The first few sectors on a disk are reserved for the boot sector, the two FAT tables and the root directory. The cluster number is given by the following (again, rather complicated) formula: Cluster = ((sector - (RES + (NFATS*SPF) + (NDIRS*32)/BPS))/2)+2 Where: RES = No. of reserved sectors NFATS = Number of FAT tables SPF = Sectors per FAT NDIRS = Number of root directory sectors BPS = Bytes Per Sector All the above data is available from the disk's boot sector." Timer trouble ============= Next up is Fredrik Kilander from Stockholm, Sweden, who is having trouble with the hardware timers in the ST: "Is there a clean and Officially Approved way of restoring the timer data registers in the MFP 68901 to either the values they were initialised with before my program touched them, or their initial reset values? I am working on a program (real time audio pitch converter) in which I need two timers. The documentation I have describes the MFP's timers like this: Timer A: Applications and end users Timer B: Horizontal blank counter Timer C: System clock (200Hz) Timer D: RS232 baud rate generator Timer A is, of course, available. I hope that timer D can be restored by reading and restoring the RS232 configuration via TOS. Timer B is an enigma. Does it count pulses or does it generate them? If it generates them, would using timer B cause problems (like frying the monitor)? Timer C uses 200Hz and I guess this is the same for all STs - it could be restored by simply setting it to that frequency. The simple way out is to do it like a game: you can't exit unless the computer is reset, but I'd rather be able to use and restore the MFP registers at will, without horrible sound effects." That's All, Folks ================= Keep the letters coming - especially the solutions and comments on other people's problems and ideas, but don't forget that the clinic depends on your problems too! Remember to include your full name (or title, if preferred), and give your phone number if possible. If you have a listing longer than about 25 lines then please include it on a disk - I don't have time to type long listings in. Putting the text of your letter on disk is doubly helpful - First Word or First Word Plus format if possible, but straight ASCII is fine. Whilst on the subject of file formats, I need to know what you've sent me - I get several discs each month with tokenised BASIC programs and no letter explaining how to run them! Also note that I can't decipher tokenised Fast Basic .BSC files - please send an ASCII version. If you are sending a complete program, then I also like to see it running before putting it into the column, so please include a double- clickable version of your program if at all possible. If you want the disk and/or listing back, also include a stamped addressed envelope. No SAE, no disk. Mathew Lodge "Programmer's Clinic" "Maen Melin" Holmes Chapel Road Lach Dennis Northwich Cheshire CW9 7SZ BC}?:GkT ----------------------------------------------------- In this first part of a two part series Paul Overaa looks at the fascinating world of the Abstract Data Type (ADT) and explains the practical benefits... ----------------------------------------------------- Abstraction refers to the process whereby details at some particular level are discarded to help reveal the more important features of whatever is being dealt with. As communicators we abstract continuously... in everyday conversation, when engaging in technical discussions, and when dealing with complex ideas and notions. Functions are, in the world of the C programmer, abstractions of a slightly different kind. A function allows us to label complex sets of operations using just a name and a few parameters. Better than that; by providing some details about the effect produced by a function it becomes possible to regard it as a black box type building block which can be used without worrying about how it actually works. Such abstractions have a great many advantages... by creating functions which reflect the inherent structure of a problem being solved a C programmer can tackle the problem-solving situation at a much higher level than would otherwise be possible. The same principles apply to data items as well. Character variables and floating point numbers are two C data types which provide similar 'abstraction orientated' benefits. At the processor level all such data items consist of one or more bytes but C allows us to work with more 'humanly recognizable' objects. For many built-in data types C allows a number of associated, well defined, operations. Integers can, for example, be added, subtracted and multiplied. As well as a selection of basic data types most high-level languages usually provide additional data item facilities. In C, structures and arrays allow the programmer to group data items together in some way which is deemed to be useful. The declaration... float some_array[200]; for instance, allows us to store two hundred floating point numbers and refer to any one of them via an index. Again there are a number of operations, addition, multiplication, subtraction etc., which can be performed on such a set of numbers. Additional functions can be added to these 'operation sets'. A programmer might, for example, write an Initialize() function to set the elements of an array to unity or some other user defined initial value. All this is fine as far as things go... C's basic data type facilities are as good, if not better, than many other general high-level languages. The trouble is however that nowadays our computing solutions have become extremely sophisticated. More and more we turn to algorithms which are based on data structure facilities which general languages such as C simply do not support... stacks, queues, priority queues, trees, graphs and so on. For a number of reasons it's actually not very practical to try to build generalized complex data structures into a language like C - usually there is no single efficient method for doing this because different implementations need to be used for different problems. Fortunately we can define the characteristics of such complex data structures without worrying about the implementation issues at all. This pathway is now well established and leads us into the fascinating world of the Abstract Data Structure or ADT. The philosophy underlying the ADT is basically simple: By defining the important, ie useful, properties of an abstract data structure, and defining which operations will be allowed, we can build a rigorous ADT description. When translated to real code, ie when implemented, this 'blueprint' becomes a 'data structure' building block which can be used to solve problems. The benefit of the ADT orientated approach is that it allows the programmer to create and use lists, stacks, trees etc., almost as easily as they would use integers, floating point numbers and strings. ADTs then, or rather the real-life implementations of ADTs, are extremely useful tools for simplifying your programming. In most cases where a programmer choses to use an ADT approach it will be up to them to provide a suitable implementation and this has to be done in terms of the real data structures that a chosen language supports. Once the basic properties of a given ADT are understood writing the corresponding C code, at least for the simpler ADTs, should not prove unduly difficult. An Example ---------- By way of an example let's take a fairly simple ADT type, the queue, and examine some implementation-orientated ideas. A queue is a set of objects logically arranged in a First-In-First-Out (FIFO)order. The type of operations which can be usefully associated with queue structures are well known... we are going to need some means of defining and initializing a queue, and standardized ways of adding items to, and retrieving items from, the queue in the proper FIFO order. Before embarking on some hurried static, fixed space, approach or writing code that may need to use conditional compilation to handle different data type objects it is worth spending some time thinking about the type of facilities which would be useful. Within a single program we may want several queues handling several different types of objects. We may also want to have different types of queues in existence at different times. There are two other general issues to consider as well: Firstly, it would be useful if we could create a queue module that can be used in any number of different programs without being re-compiled. Secondly, it is important that we aim to create a module which hides as many of the implementation details from the user as possible. We ought in fact be aiming to produce a module that is so transparent that we could rearrange the internal workings of any underlying arrangements without it affecting the applications program at all. The only thing that we would not be able to change is the ADT user-interface, ie the function call specifications which the applications program uses. If for instance we opted for routines based on an static array queue implementation, and then at a later stage wanted to swap to a linked list dynamic memory allocation form, then we should be able to achieve this change without it affecting any of the programs using the ADT (other than the fact that the new queue ADT module would have to be linked in place of the earlier one). In the following example I've actually opted for a list based approach using calloc()/free() calls to provide dynamic memory allocation for the items being stored on the ADT queue. The only limitation on queue size with this approach will be the amount of available system memory. I am not going to say to much about linked lists (sometimes called chains) because they are widely used and understood by most programmers right from their early programming days. Basically the idea is this... each list item will contain some data and a pointer to another similar item. This in turn will contain another data item and a pointer field which is used to identify the next item (if there is one). Conventions, such as using a special 'header node' and setting the last pointer in a chain to NULL, help identify the beginnings and endings of such chains. Chains which are linked by one pointer per item can of course be searched in one direction only. To be able to traverse such lists in two directions (ie backwards and forwards) we need two pointers and that is why these arrangements are normally called 'doubly-linked lists. If all of this is new to you then get hold of an introductory programming textbook - most include good descriptions of the advantages of such arrangements. The routines which I've written for this article are based on singly-linked lists. Within the queue module the routines are based on two types of structures. A queue descriptor structure contains pointers to the first and last items of a linked list of queue items (NULL if queue is empty), and a value representing the size of the objects being placed on the queue... struct QueueDescriptor { struct QueueItem *FirstItem; struct QueueItem *LastItem; UBYTE ItemSize; }; Also defined is a queue item structure which contains a 'next item in the queue list' pointer, and a reference to the first byte of some unspecified data item... struct QueueItem { struct QueueItem *NextItem; UBYTE Data[1]; /* actually user defined amount of data */ }; You will, incidentally, find quite a few C textbooks which provide ADT implementations where these types of 'underlying structure' definitions, due to their presence in header files etc., are visible to the applications program using the ADT. Equally common is the policy of using conditional compilation to characterize the objects being placed in the queue. I personally think, from the point of view of transparency, that both of these techniques are unwise and have adopted a policy of using ANSI C's generic (void *) pointer as an integral part of my ADT implementations. Because C is unable to dynamically determine variable type I have opted for passing object size, using the sizeof() function, coupled with byte-by-byte (essentially typeless) data transfer based on 'call by reference' parameter passing of the queue objects. This approach does of course mean that the queue ADT routines access the calling program's variables directly but this has not proved to be a problem to date. The basic idea then is to create a generally useful 'queue module' which can be precompiled and just linked to any applications program which needs to use a queue structure. Obviously the calling program must know the format of the function calls (which are the interface to the module), but that is all it needs to know. As far as the queue ADT user-interface for the example code is concerned, five access routines are available... s=CreateQueue(t) This initializes a queue suitable for storing items of type t specified by the applications program and returns a pointer s to the queue's descriptor. e=AddToQueue(q,x) This stores item x on queue q and returns an error flag e that is TRUE if an error has occured. e=RemoveFromQueue(q,x) This retrieves an item from queue q and places it in variable x. Errors are signified by the returned error flag e being TRUE. KillQueue(q) This unloads and then removes the queue q and it's definition ceases to be valid. No return value. f=QueueEmpty(q) This tests queue q to see if it is empty and returns a flag f as TRUE if there are no items in the queue. These calls are actually macros designed to create a slightly more friendly interface to the user. You can get further details from the header and source code listings which follow... /* ======================================================================= */ /* Source: Queue ADT header */ /* Programmer: Paul Overaa */ /* OriginalDate: 21st Jan 91 */ /* Modifications: */ /* ----------------------------------------------------------------------- */ typedef void QUEUE; /* These macros are used to create a slightly more friendly interface to the user. They just remove the need for explicit sizeof(), casting and address taking operations in the applications code... */ #define CreateQueue(t) CreateQ(sizeof(t)) #define AddToQueue(s,x) AddToQ(s,(UBYTE *)&(x)) #define RemoveFromQueue(s,x) RemoveFromQ(s,(UBYTE *)&(x)) #define KillQueue(s) KillQ(s) #define QueueEmpty(s) QEmpty(s) /* These are the prototypes for the underlying queue access routines which do the real work... */ QUEUE *CreateQ(ULONG unit_size); void KillQ(QUEUE *descriptor_p); BOOL AddToQ(QUEUE *descriptor_p, UBYTE *data_item); BOOL RemoveFromQ(QUEUE *descriptor_p, UBYTE *data_item); BOOL QEmpty(QUEUE *descriptor_p); /* ----------------------------------------------------------------------- */ /* ======================================================================= */ /* SourceCode: Queue ADT routines */ /* Programmer: Paul Overaa */ /* OriginalDate: 21st Jan 91 */ /* Modifications: */ /* ----------------------------------------------------------------------- */ /* Notes: These routines allow a program to use a true dynamic queue data structure without knowing anything about how it's done. */ /* ----------------------------------------------------------------------- */ #include #include struct QueueItem { struct QueueItem *NextItem; UBYTE Data[1]; /* actually user defined amount of data */ }; struct QueueDescriptor { struct QueueItem *FirstItem; struct QueueItem *LastItem; UBYTE ItemSize; }; /* ----------------------------------------------------------------------- */ QUEUE *CreateQ(ULONG unit_size) { struct QueueDescriptor *queue_descriptor_p; if (queue_descriptor_p=(struct QueueDescriptor *) calloc(1,sizeof(struct QueueDescriptor))) { queue_descriptor_p->ItemSize=unit_size; } return((QUEUE *)queue_descriptor_p); } /* ----------------------------------------------------------------------- */ void KillQ(QUEUE *descriptor_p) { UBYTE *dead_block_p; struct QueueDescriptor *queue_descriptor_p; queue_descriptor_p=(struct QueueDescriptor *)descriptor_p; while (queue_descriptor_p->FirstItem) { dead_block_p=(UBYTE *)queue_descriptor_p->FirstItem; queue_descriptor_p->FirstItem=queue_descriptor_p->FirstItem->NextItem; free(dead_block_p); } free(queue_descriptor_p); } /* ----------------------------------------------------------------------- */ BOOL AddToQ(QUEUE *descriptor_p, UBYTE *data_item) { BOOL error_flag=TRUE; COUNT i; struct QueueItem *new_item_p; struct QueueDescriptor *queue_descriptor_p; queue_descriptor_p=(struct QueueDescriptor *)descriptor_p; if (new_item_p=(struct QueueItem *) calloc(1, sizeof(struct QueueItem)-1+queue_descriptor_p->ItemSize)) { if(queue_descriptor_p->FirstItem) { queue_descriptor_p->LastItem->NextItem=new_item_p; queue_descriptor_p->LastItem=new_item_p; } else { queue_descriptor_p->FirstItem=new_item_p; queue_descriptor_p->LastItem=new_item_p; } for (i=0;iItemSize;i++) {new_item_p->Data[i]=*data_item++;} error_flag=FALSE; } return(error_flag); } /* ----------------------------------------------------------------------- */ BOOL RemoveFromQ(QUEUE *descriptor_p, UBYTE *data_item) { BOOL error_flag=TRUE; COUNT i; UBYTE *dead_block_p; struct QueueDescriptor *queue_descriptor_p; queue_descriptor_p=(struct QueueDescriptor *)descriptor_p; if (queue_descriptor_p->FirstItem) { for (i=0; iItemSize; i++) { *data_item++=queue_descriptor_p->FirstItem->Data[i]; } dead_block_p=(UBYTE *)queue_descriptor_p->FirstItem; queue_descriptor_p->FirstItem=queue_descriptor_p->FirstItem->NextItem; if(queue_descriptor_p->FirstItem==NULL) queue_descriptor_p->LastItem=NULL; free(dead_block_p); error_flag=FALSE; } return(error_flag); } /* ----------------------------------------------------------------------- */ BOOL QEmpty(QUEUE *descriptor_p) { BOOL empty_flag=TRUE; struct QueueDescriptor *queue_descriptor_p; queue_descriptor_p=(struct QueueDescriptor *)descriptor_p; if (queue_descriptor_p->FirstItem) {empty_flag=FALSE;} return(empty_flag); } /* ----------------------------------------------------------------------- */ The above routines have been written according to the basic jobs they have to perform and no particular trouble has been taken to maximize their efficiency. You will see that in most routines I have used a local variable to copy and re-cast the (void *) descriptor pointer parameter as a QueueDescriptor pointer. Here I just felt that, because it avoided, continual re-casting in order to use the structure definitions this 'inefficiency' just made the code that much easier to read. It is worthwhile reiterating the reason for choosing to create routines which worked with generic (void *) pointers instead of opting for using QueueDescriptor pointers directly. The problem, as mentioned earlier, is that with this latter arrangement the QueueItem and QueueDescriptor tags would be visible in the header file used by the applications program. A change in the underlying queue implementation mechanism would, in all probability, affect these definitions and that would mean that applications programs using the routines would themselves have to be recompiled if the queue ADT implementation mechanism was changed. In the arrangement I've opted for the change could be kept totally transparent. Incorporating some newly designed queue ADT would just involve linking the new ADT module to the existing, already compiled, main applications code section. Next Month ---------- In the second (and final) instalment we'll look at another useful data structure... the Priority Queue. In these arrangements items can be added to a queue in any order but can be removed in either ascending or descending order of the values they represent. You can therefore create queues from which it is possible to continually retrieve the largest or smallest items remaining on the queue. We'll also finish off by giving some examples of the routines in use. to be continued... PAO HYC &03p;ю2P00&[6jF Va8ᨆbћf`w>Ld &a̡# !oȌ8D7mrh%䙇zן}ѡ 5QF`3oo`n(H%mTƅa(eAljQljn"i"pQ'bhٔE qa^=DnUW] XXa!%3՗0$cOFyb_/>S^ 'B 2zFQƜnt L8a `ǡmh(("(iRJahQ}!IP0qCYLnxEc>WrBiJqed!5Z'%etEL$*(zLsy#bh-JJbp"Gu!T}=ua{@jƜD>4 D# (/3&M0VE7@ ~g Osk d q1Σ@fq}8S4 X@@p 1$ Aum6i(m#w͋7602ܗ1рڛ@NC ,@?޼;N8#S :Q4gxp+a# 9ؐԨL. D01iXAT?g  !M?*MȟP#O 4^!  ݎS8 1" $k`-B?αi #A6}pc'@ΠƋ$j"E!C>20@{kdވ<[>`@q @0'?^nD9 A{=@a@6LrLf p=9 X`4@&7Jp-K5P/J:6,5d!PB( My,Nh`c$*@`qF0 yB<'ԉAM@?34x'IO6535^p<'̡pL p@pq h>Eր%h 2(ljO"~l QL` ֱ\'kvtˆJbp1!Ѕeپ lhGعl,oX;v1`=o=ݞ#ٮ.bKkƖWF] ]ɶa'pOc\nw]BMb{^ҕm{;W{d\^Ԩ7} {-s6 f`A$'K~&3d MrR܇ ""v31m}HQ31$"kQ¸Qnp\-cՇ3P2so6i*P ч*ȼifMf3`*9΄04gmW^:"I,Aĸ A aB豻@fr%F3;Ae#O[=զ*$Xm 孓B40@@q@YP^& +ɶrwH!TH'6If 05F0lR.Fa9HaB ZFfgj@ 5KhQD%@D  GÆ!q/\ǎ#@ 6˖ ӤFq֧_t pg_VBh}xa//tҩ}zZ~rp>!@@>ş y?aVgz7s`B71_BqVځ3%1`acB#B0ޘP`bB#x"L~\6XG |SDfxv#Y79n#׍iR <1VW@M @(|0PlY;3C`?#E Y h&e&M^(訇Oϰ&{ԙdPDmas x~vf&x{innԋ/Z`ύzL `%Qw?dlifbPz CR݂h4vuhB}]f*3p<&73o8Mmsop#lS~izCvdZ6 )uZ٦GXn<Р$ TrgΩ]1zEZle\*˕S<~zyR˻G(uAQćG?/hw} W~ W@T(KB|ѕEk'= _xGWxGM|2?HaD2aCӞg&^ rkqCPҢJϔVh&/ze?pCn~ ̄ ([PQt ` P8 pL~SK4RG."* DPu&T G}S RrzuAG,4!K Rpz( "x NuztABآ53jT#Ԫ^5[BWֱխYRAkʕv-m^׿bEbԧS}ŰUV`+R?V@,vں:LBP* MUSIC101.BINt  `4 H@ 4EdU607P@:"iRgN1ssM8Zm KA8a;p )ЮG#@1kS`O3E -H 'R" @8$ ,|` #p@j@T@C5@ *` "dP0 , ,D"Cq&8OG|8Q$p"a3ƒD@mh84}!J9QCJLpL ǸhIӏ74$ SI1@lr<$) p D?"`Pf#PaA !}Ī*jI 4! g@ @NΨv,a6`2@( d@wAJD`P`( e@8L\0@( ed|/}O|AP;H\<2PA@@T6K(8"X  p,9H G;Dm$ 0 Kjk+xNfN3p~+3úا?|[? P~+ "@PHx4`Atp(Q ;1m94G'M |n=3mK*g@$?R 9%p?͒ 90>/#l A u)؁0 zɞ `<dP=\]@Ha@J~P/~v~mfPH?Q=΀P6a;$ BFfG$*1 ď!zB8<,oP)w)xBxB!Bt"C PfE9(z`KM3=N3#2 `3hA4H8 YA "$ _h,VV@*|H%J5|`P,1}1An2@!YHLq&4}` h~` "s@osaxP&Հo Pˡ`HP43a>Пa7@XOJ D ZƐ4P #@D.\D EĀV̩8_ȢjWlR?A`HD>|$JɭpZহ~J4|5B~5LKX~cď:q'͉ `.G!CM `@CL2L!H‡-MsA!yV7A@ 0AM>\D ΅PlMUH%Q''r7C:Ju!K}xWw'Tu8lט@xה xV;G%y`frrmX!IVMԃI"SP=G]&$"Vc`VU@\`U$S7BA5}*.cIFTYd/Z)QZZi) iz) VCFb?wfl VfTfe;IeQ'jnv9b]w}f)M bG.Zy_;Xcj|_vi+m6zmWS;ް1vij-s:y VF}Z ZmVVc!&UBkuElRy:#i] 35psw[.VKny_Jln Ʋmםm| W ̢\BC8&2=̀̐f|8\ە10W͒k‚G7WxMʺ,@Aճak-[I7h -o(d:. l7m# ܢEJ&p2)e@@"8pz(OJ.&&P{ŗNB!!}! %X$>Nijg׎]l7<Л~@uӧc? >KJJ$prt耂sؘPocsuaNY@ F0$aA ''U # Ɂ#D)(pPZòHUzv!eAnnR@I pH :X[!IȈ$FQ#'&!$`JNÕ?rQPƴ&jXD- L;~!"]0/ Di¡uy\=Įt%P%RZAQA*c KuTegdLhiKRAh@Qd%1M9dDH3YRF\!Yidbes| 0Qh 7 e;TܧFTY0- q2K$yJd>!A@idH5F45MDSNj^<'Z8L4WLԛy2e(M}&\+U8rS /řU.%GSqֺ.yϩG4kNʷ|&- _ TęjJgRCFOoz ~TW @ 5S}X$!׋a?ȱh P"B@1}p8v7obwtp90 @~ h # Ȁ0ׂwzh 8'8~G5BG&7h?}}ه4(86le'yZcp[y8w*9IhUx]S&p#@tHW{(888w X z&,|Ch|EG~H@o"w'Uxv8y&eR:"PyBuE)pqL |S ~`藕uvTa !@!ip#0+ppu C kzY+.P!ѕ * `հUg`m "@`UP & Z W 6 7"P*X)9f99J!@ٜ1tmAYA ٙ !EcnVsDC`@ٝi#0)Y :W p }p ]` #%dU%Zn`ݠ* P[0P`6Mp ; ]@ ?a&fP"=`3 @TJq Z@`R NS=MP&RjU ELaaڧd*%iZ`)fq#m}Ep @t: P[5  %w7F48"@ 7]"j *` ` U@תaVW"yǫ"@?p뚮ZǪ:*ƠךRC00@G 9${ J` @< $<ت&u; e42$ 7{~ 0  C[\I@qOp7p )p?p !  ^K7Y7yXj okw}J7``{y!+ { ? ۹$vB$w C  [ ۻyp1 2+ k0pۻ$X 921p`kl{ Ntp'9r , \QsA[P)=J7|=ìAkсzI =O <~@T|wqwwqu2$zb#<g nÀq<DZ!m I>< ] "ʰ'IQ@˶ˮɾ2 w&NMŮ!0#@֌|p,3ByOwOȏ@˛ ЊϥxWA  ,! ˗wt}r - ~"@%}҈0*ӌ?~o4=(ʛӀˉE'9[D $c `Iԧ0rRq`Ր [՜b} e}"l- sq=a `x= {҉2=`؈} ْXp! p ڂ@ڦ ڢT] ="`۸ L& M @- ʭ(܈ &0-ޭi o]qޱ =X- -]͍` 0A@N p#^q * - 25~u:N X؎} B q E~h3;$u:N(PIC.PI38 t *B} "P@ @@7 4rɒTB$-!iص K6!e@Lx:@P  @pTE)*,䀠4)b!ia..ڽ=s6d<EV.bHBZX1 Z@5U! Z`LT.OI.Y_H l眀6QRѦxk \lUjg[D,!n{T'7 ~#PSXd$SQ)0$R-Exą$D(ܵ,E؅t8Y^@@klݷag cYO14.Wc Hf A0"| hIq5)@U]oEfIdZD k]Q@щDcHITՂ j"}&%ie(piRhc?*z#u[M㣦"`uI=g\ {* S"7l>@Xޙo\+O~U=5V /͛1dZ b'u9 .(Y|?{+hrZ( U.`n5R躵l\q)ebfSP>^_1aFSmRA/d *Rn=vO g[7{f8-Uf O\dc}\G7leAhYTX _5Fr^弝JG}RX襃X TvXe!Iuv یv OII) ==Y( !=%= Mq R2LͿ}H_Y_2];`k@ (ȇ!IE@L79pfNkHBQ IŅ @ !7;pF0~L`x596I7*`- J@!ZbHB`vxE@(6REp33IL6c,xCDm=^"$LL6ɞPbhc'lC$*g)1I0+ح'pf"L!"=sˠl#.y̞H9J`HӹGu %X@iXt;Ȇktqf7 M\ʫ&<)ϐ m< @zX(ZN7(6oni)JӢ 2Q.}\01vԥIH4ZjxRX/c9͞L?@{QyԐV`=OV*p1 +%;7 F 48@KY]yIVJ\) W r0hnc;4La*Wk!aW2`},GBPֲ14xT/.m%֒6)eR85#HS9MM-Ip2➊Hr]ςV_[ΎQn$ $ʞҟb2C;@$ɀJoK8Ȁ~*OLbJL NefW| 8}WB:o^=D*~}[rhҞG9EBKDH()'Q8Yr$2)˧=M@'f8a%ɠd*5П=v7 * `h?L  }O2Ћ 9 Aq Ź  * *^j f1-pZ2$ I]'9sXa$sfs$̉ShO$?>0e'GRWTdz60ro?`x(^= 57 ~ Ӧm@<p\.,/z#` FwP`>m!GHC)B͙ cAoeq~9?~P럯#v֥O}xX#٫at_Ǐ9؇7[ !wzTGu?Pamhl  $lx} 8 ḧ́Uhz!vWǀlw`q4 ؂M=`pӂ>m@= NX  X> W\Nk q)0e~lPum mf a l1픙K `rٜٙmӀٗ=xp-ְٛ=M۶٘l܁0Hٛ`їa ?  ҽ~֝`])ހ y`؂wK} ԂMx0-8 Pg hxyl2pӗqՐp1 >I+1.>i1-RUN__205.BIN2'^" `4H 2 4aN""** pp p lk!HVrH$I'Sl%14 AMQ(裢 hPQOEsZH6e 'Sd 1w)P$B8pE2'Glɓ C I)}3,$!7PBr @H 3 l7<:qB`!3:8sy$@^}v-16a[ds@8 ,@3?:a,glw^&DP<s H @&C(@6`c?(nh@!B@0E"58I3bHQ" p| a! I@ N$ЇHb(D1 M[y/$:(07:ƀ$/ ? #|@옠D5e5eJz3IxR !@Z!6F,e@@"q `-6&d$<@% %BcL.(Q</ cHJ)SPA8)sNi\R 7:S1 s) P ,BQ^ILp@ `i41@(<0  r 0<P-$Ge2e=Ffҳ,|^ =fv0B` ?y>Y`(#NxbIϺ p% xv= PVb&:"M<~,7'‡O6 @,;`c<8J `)@6B0>a,X4rE2#>>18p Î=D`,À300\ bPEB(8@/ pl Ebљ,PcD6<ЃhDM/ܳy  4J5tL&":@:`Bd?G7bz=!:)P4R>$ 0PHA A jH u\i @4   3!r97):Lp?0P @` `?(@g@4 )14@ Ё(l`:pSPRIT101.BIN!&t oX9? `4CHm 9i!E D @'R@ ^2ІpTKIij)%3 b` OF t`J&$8Đ20rC@OpFT|=AYW ?jf ~p!b jElCPD"(LzҨI>Hh<@e0'E4w 5 B `т\> F.cECNN֠N91d SG a  a@q`1 ԑFI/.RGujA/)"?~O (HuhD>&!*0F(` ʩbȱ1" 1mbDkp@!˨{C>ΌD4x@.1p20EBdE2a_8Q :AB 1P18B !ğ:S#x<>H=qELQq*4r ͯD? 'h/eS736(MܜA3 3`@BlB{/T<@vh ;n.<6.'C8Aᚳ!׭: p*nÉ嶫8"2"G(B,zPM0"@#B"5>:?),37 ! ڠE@X ?1_ .&1C,,7G1Xe#@Q`XC 0H2PLIahT>< 40H6:apG 4! 0~PB`:"pf ʆ(zB`u5AJ#RI Acbt%, K 86X"im"t*AA$f :țxpe6$qAǘA0 ]P "np |` 9NA;预QtXz:<Pc 3Ȁd 5/8] u+:pA5P`*plCM(<@Rc3 m *+2@ 0`=ET`6xis]cEoSUcoK`}n!{Bc ~0px1[nX>!kرYC"Db5ha {mjl7 :6w^cDH(8 DzAP3v Lƒ,#<(AwL0>ޡKaC``d# 5Xz δs$;`qhN`86,!c8@jgLu LktpjNa r)~#foHh]op-TmjpX;hxtwa`'f0 vB`WfP vJ,f` vRCA?icYdW<EF?C@ @r(|,0ߢ bk(# B@ v(A` FܴQ6 qy@cp{G-(D0PB,֜"Sb` 4H5@Mԁ QC",3S`8N`E"{cP8` 9f .b0 c E 1 m P hOJbpvvA $$fJ 6 @ 3@ C * xbbPm &8% X0H$$Hdh$A1 ~D| 175 CAr(\w 3E"@* ]DiB@ em`mcGJ qSFҠ Ն%8$` egXvBJ uXm>6hΠ nCpJgH 2pc@1@#| Gvfhv v@#i@2(V zl ۨ( ,B(drYder"tdP *fs"CE$e6.sӏ<栏sEa/]~`/eF$}G1@N ww`\]  Y׏Zc i t@` &1u0" "I$dJISD@V Bly m"D?@@Py 4k6 Q ËB CoNSAk ` 96 X萘 8P60L~#I: 6j 02pd`li @R-56 @DK}BG R@@ f  f 0Wh>sX q`dIvImJL0|$2n5PCB`` K3c/6԰4c/$4p$2P% 0 L B@#F C@H B" 6@V` 8P@ JQ7Li*q Pp0wYvX)%)T"~GIЙ@| @< M@AHg6@ *\m&GA6 L5$A5 $NC igF @1( N"u"C f{1c Q 1ZRyBpC2@.#x4.> z@ ` e`32 K e hs0c@-Kp$̆7%p 2r30XGZPK?k=  HC" 2qfN&˝g(&g pEyS-&5:R p+!Q-|K(vKj%200nkxi#f@&3z1j a 8|'04B1FG\ Q(6 hc(GiBbZ`!B 2ftvp"zCi mK)O <\L Q T2lbCp&Qd NHt4@H1`d0*id` i D0OP ?R4f/Pc0P4 p p  P$:U|Y$_)Vw$d À @ @ Dѝ P@W'EJτjFp77 3~0bT$8 B)W, ^gL2_5L:< A~ nkJCء {>$0Wڊ0]f0b.@ꦎB@R#ώhn~~~m? /F"u P'@*@g`( @ qr)30  @yp?^`K7\O@ B *V `f//!xl6A Ж@VF0'_@0$w?) ,`N` sД-%4('$2*QBcBZpـ( ДG*X@qB? Сԛsڔu˭%4(^BcBu0Ҡ  z #q RC) @J`f ^1 :4݀q :@,`AkD$dx@oX' .{g!& |g|ȗ6|7w ַ7t㗃އ}8.އv6gu|VCK@=-(" Uu DG 2->44 cA`l$$YI_@yy|=bv#Xf#@ ` !x6E 4zz ,1QI }TJ۠lRe 60" RKK: $LUi A`kO|MEP40E qӖ@eQO\F d6OPNܺ 8@Q k4ۀ x)fآ PĽt0AD d%4(`u0Puw)&Y&`2 НK* K0|SiDДu^pYC(o wd K0|8#I_M9 @mi D@0րf 8?@NXkC   iz  xg 2@01C P M 0P 2@1GlGg݀ DxPC"C QP?^ARPd DR +g`xb`>?aʃ >H1B>p.М-`&b>kS-;lxeB#"C(;_04`bՠ})xT :ImR`BV(`C @@:0 ' cqR %B2DA@J F | ?`C,A06Cũ,a,d7À "$!,&/J",R BD[HThC[LHAʍ9:NM0_)!?DT9В*_/d_-&_VeYc&ZBdxL,1@,6Q rE(`@MIJTqr C ^e D:HHx !.$1i`$ `8Ĥ@p FzWpacFcGλ;W@ppEr;︐.P?WpWCWp%IρdG_kBAЏ( 8D@90՚CPQ"w0y7 @;aP 7mX,`ޠslD0`Fh`0Gr>Ap<{FsnCHG<$gA  "<g`@7HP!ZD:2 @ p0 3 bTUHD\̠Ea3x"p< Ep PG3@ A `PP(2&(PG8A& * 5,3q$A A ʐ Ġ-.`iP (b 3x@0Bx@i@` HOOg Ձ3T n3?qb2h% dxbH Jp֠@40jKE@* 8HkS`* "㒂P('!p c!rk]׽a`-E, C[5 =4ߤgH@ Dt PP5< G@h!\A!Id FRR@ j [DXP p m@,ײyx13Ñ2p/@^f` )9D2Ic lzd:K D A0dDP?  @6SY`BXjb(%10lI0x0 `A2`۰!C#,>+tcG(Pa $y+p`gxԯp)QP@P0h1ƠARC ! j`,Aκ,,gc:ϸP5̌WS@ BK{kqpx@}PeJ3/Fp mR(.* GLΐ3-A Zc'|nT :8B4$`dq' 8`bH` !DrE46d@hh`,YB DT@ <_8 ct,Rchw#IRj! 10БP3}1: $H8`e,(B1Z@[J),H,\D L@ 2(  qw `wJo{@6젃j+T 22  t@eK/rWŬYȓ RTy쾁;Edʐ x(No6AO{IrTe^o[ /eQ BudO hd,Sbŀe8S~TnHK>GJK6I3(cbЁ_e1NiT\']z%`1hI$o!dAG,0rQ ᆙh1Oey#0*W:jH@AiŕWlaRq$T^I0Q$TPQS0:2 h%Ζ$Gz-“>nugz- eAtYH|eYoLD8xiI=I G_0ho;eVtWgu<]vi `&}:;s0 Bqe(Qz4`uqO=THAEW?$7Odb U B]T[L,ܰ"빎]|{eGu(Mk.GHC"2$pEX\t$&+AN 7U*/2F8blԵ.ȕv2pl$,RL0L"]bLCDƦSX@ӟ("K#5"~VfMh"\r1. J.1Ÿ+Z )vv @ԥ.% {@8;!Xb"JS!'ėy<~p PB~4BЂN5 ]@ =pppAaDY -ESKТS d@b05.U&  k نض/iFupoFTדN %]F)S l+%[|\>40"Ѓվ("Y ,=YovPPSfRR+v 6e>@QD5h={MQD0\m)&s o2ba(ax@$=(Ft0i@8eJt`7|B\bc|ȧ|̷w2QW}0 U?s68~Q~N|XNG c" 0wd,NA%B' Neb0 fK(kCVFdW:ndRW/e@SHtM(#&ogi!|B:`k#F/cCc6Gynt "[&/BitV:0@fqsISO\@VA ĀY22fS@.spW4E)u0pK:7d@ lmov 0Iel(W6Y o䝽;<%0EGU#Yx-OU59&W[)z!920y.y4<#0<a@V"扞#N z005U:ܕdEs5Bbgt0#"TWfey:ZaLsp=VMj0z|I vMUb&ٖؖFZJWy` ml005VYpRVBɨKJWsB4p`g@ %=7sw8!)7RH x({D%j}sN};هƘYckx&iҌ&`8!w! N@Q$Q$*@05:%)ЩwMF{DefR`:CmV_Pԩ|J``qPiP{:u;͙v%n@805;ni%W[걇)ro$k(KgZj)[JNA8kQ |A<='7B7L#>ZP&Sڮ8@V A-$z}j BN`jRԯ dd@@瘎bHj_Ç 4` 3gInY@2,?4>t w|v7d@WQToTY1 >cZl̺k"&gS| 8wh@)\m^Ǘ|ˇO|+ْn} unnа9rck͒4ШK3)UxаfH[c{[1)ⲧz+RN0X[J V[.P˖ڧV>sw` FIDtgTX˙uQ]2z@:סE=z hJM nݍᤫaDC+mPb8;tP0#I!)#%Ћ!,I}]d' ڣ;i~ZҀ0䠬' rI tP)poIM!@̲|z-# 0Ќ2 K[CT] Z4ƪs,0@Uָ:pa&3Moqae[TpUq)ٸ񼓘 {w]`(.3u~զiN`^*`_ bcp_nPr£B` Kn}2 ÌPlp_T}G }}M3)t!K0S`d =$HXc -B&6ӳF?} PQ")R) &I].pfmύYեh`d?t?.x*rpEa4&p0q| !>Ѽi+M/vY`@M@obsN@ /DQ#Ig ك/mE t!*i 3-D9<0?OD0aDoFlt! O?_RoUW[@m&`)It`p9n vz}cmse D DܺN_t ?$/ ׉}e@p@T(M=rȕ :6k҄4!p@Iv:ܻU`p~]@( 0 070 `π  Ȁc}vI0@Ť!ڡŤ!WÇ%D f5?9 } zR@N1sqq+u\!)oIqn%R0R" 2'x}ܙi@E^Nr :PC,^_@=^3"ȜN|y=_)Naw!FhA-E]cYc6捨vO\ ,PsQ5S` DR0ycoz @ `#0;5S?2P*\0.vк:;ci*BˀC*`TCJ2h5p.D.*2י!505?aP_zOO"Qz_!0̀/*2י!5`2V?V`cDRNZ5bMa:xzHs 3"z|S8pK| .o7҇08w9KEo .m?a"rP)}˚{WvOD;5u9`* Zr!Z2@0 `1:5ɩJ 07F"Մ  R_PcYTvR`H!A,=p _PcY0Kx` Ցz'*!-1:jGO@RJ,=$juvOD #<,w!EppOR`Hk'@ `rooT wyڿwzՊJtaRs> rojA_ px٘Voio#t?/0>a r*ojS`"m;tCP3H@ @G LC#0q)E&I@BȒ'cB_H$! $6 ՑGFuH P䔙3D7y@)c޸M2SEM.B*`>LtRI<t%`TϩVBՑ"~ Q$L[eܢV]B+zNd &nݻ`>-KL!}&'* <>`:<cwܨ+"6X1ƏzHO@AEO8M!\ Q".wP(OTAu>@!N/P% )`L@bL$pVWMVlLAW}ŀ"ٕ,N@)\syYA%K)Ogr`Pb7~ Xӛ$0xD8hN\8a(D@b$.6h$NXLA<)yJ&jS:vЎSUlȖAGp 9 J9%@Q(T`$dDT:e/OLO9ER{W:Q;񪛤~ (@K8:"`7IRJ3 P ,@uy^~GF0 QUNx.ODPGˡB86 >3(EB(@IQFd@DsFa)uz諺5%ϮRAEHPC(@.91y$*$8*P:V)@#  Xe]:E2MIZWWBQ (F a OH<*2^q4EQ(rǐDࢳ; o-mAGd#Pd?$@yȰΜxy:&7)S4ޘ7-a`C@G;ztnn"e4u @%@S*LwK^3&=5P(Rpŗj֌:k sB@$lT8)B*l봚K6 *0 i(N,HahmT$ъ&``P0 -m u 87( `6jQZ4pQg UVD}jRzTr.dX9(T! ( !#$ :AB< 1%KIY&vK ) =򀐼0_  \g,R%L;ʱ DmA dt; *g vU/HAC "@EQxLôv]=y+f>օ Pkm[4( ɟ[:BuQ])GjV  ,؄ `!]roַu \T´! /JU.at \-gp8]dA^.B`@A Z';[`Wn0T E  pYT&La NB]PtB(A`l_.0w>x&/&LN}؛WӴ^ 0!,_!W2a /+VDQ)6yW Jx ?% CA@ ~u9?%O @ xG! 4a1|r3X>F>?!Fs$$ {qF2.!7rd1rOvrPx Pm# vP#{!%%1sd`# 9BS>@"$h${D @ %qk6r%3C`*<(/_hFn@$FF8 (T ( o$a(8${$ ` SqrF 7jSYa{l1tDyHNJEHGGAH d!iB6CdJs08BPxJψAuFXFK E]E HrDmPsc0F{XXpE`4a{7,bAEu06pc Ne0177Ih@GEepX @@ 6pqib pQ7ugrpbD_!8.@ua 26 {1 7y2]TvϨ1 14um11DZјlP1P7ica!BSCl PZ^CW tH7>7i>? `CMv'2`m W0  ?ɚtpd iF)|CRu `odyfimG NQ 330F<q 36 q)9cze,b : z:p99SQq 3 @93FQ9=3ģF& F3#zzFʡ9 9'Z9Yc3 @I{Jq 1sS4NӥYR3 330lo:y75qur Lʨ*yG J1Ө jJZj o$ -yɨ{ ` B~s {94P6p80=QpEPkYpV]S@FOJL'ZC`BM.sp@|%xw (ЫaDz7zdaW/d3o%Яi@~I!~W~:+zK~\#VIP%gWeg1<԰# 4KU0Yze1?{NQQS;U;'IKkNce+{N IPJ+2FATd1f1KlXk# `ppnpdtuch)x+qnONqb8. ԇXfxUps!Jc>qE;0&y@t9ِLB TEƲ  ^F g/ s/tP^ Yً ۆ1h>E YaaiHgkos @ ؀!sm#p  p>Gx_vqĆZdmoq"@ux+KkdH(X wkB+ۖN—Vep;`W<Q+`Ȑ`ľ^m%|mqp1 \ hle`@t$y6.Fc ŗKBp6<:8|;>l1'G[ĜrI;4 6w97>tu$tDWHGmtLIAAP\1Q3Te1(P WDL`7 0E9ky`.'pDj?~GC#2a#1%]1̀Ŗbgkǻ=tеa(mB# 1]3-3sIA[AMB<-m1qVD,m],vk]pO6{SsFwi'uEr-yv?+a. Ӧe4}ּbZ,mB +-~m xխ;`=6ٖ؆;b&㓧5`NAvxzwMЎz~]w^'630>HWuT{ѢK4n!7PCPnÞ+}xx Ԗ~~ /ENf~\g~O# /56/$}AF` oZAF̀ B0umZkaMCgm7iHFG6SRZ|C NpyS}a^af(pX.<pEe. rk.j_bf1zRa &F1> 6)P<ܐ1lvX#Plmq N@j;qB((QE6lP1j8cH "T!Ds\hpNDeʈq"`"\ZuVIMѓA" D-K2 5,H%"`@`Qq ǍUDNJ3ybɊW4]y1Ο=6}yul4 -l͜sf޼u+6>l@b7I u\F`Tn]޷gW}z~F|W yz*uIF y}e0Fi0@Fd2 ? T*LC4&]T x,X)ccX]G5VY %P%5EySJkBgRE[GRJSN:YTvZ9WX%BTYW\ U] eYd4em `΅@mMJ{!`5Xirfkqvꩤ+c jBlwq*b6۱6FbV̍ t ' uG j|}w5_ ȭ~2Aޚmv!" G'*0 Wb3Br)p$2W`DV,+ӵRE:r'2I@@F $ל2T,K~4(3Bm4JH?V<6 HU6py/Џ~kAPTnÝx]ސw<^iF5z?AP@}x P$AzB.ﺷ.|걻 <|<#OYo=o>P頞.@ N?A2/ b?#/ ALЀ C0_=AZ @S.kLf`(0G D O (@C @00@0@Lb4@P"j?G2@Xr>2,j]Z>5m 6ZvֳmhE;ZҖ9d\ _ 7[dI6Hmj{T5qx7Z t;\JVv,fKK 6yЍ~ټAw{^GxC`gMI,_9Յs_sGc7M/4b (‚p'$hGB /P"(U$0G ~Mb(@!I34)ARBA"Ł`4=,bH00ZQl1쐘L =IRS$ȲEmlJթiUڵ1rl4$ӶU*Εt ,c8cޒ%%AxXR\a1L,3`:uĦ5IOqsl@RbKKrr$_a,cX2Hӏ.f;s@adt&]<QL# rv8v~+bESҍβ1flHmSբMc =plf0b ek^¥klde Rb_,veA`ՌHUH8w4p(h6=|pX.qQ|,# '6cX:L7""Bmd080I2s0e.$呌9e5՜6q&z̛AyUV MC#4vtmHS왾-̴ԠݎR?]~5jZݙX7Ҵ]6?l`Ffmtwln@`n˫=zx\ꉚ"EUFi$xD| g[<Ž8_G䕫<(O'u堃?ccUKwᣮW}W:=u{=cvdve7iiwvwwgwvw|(wy6x"\yglxlЖnymymAz6mͶnzE 7`'pg1s` 1U2>&8P?smQ["%1f2vQ#T8tVYXXdVi&chj0UKW]h w(y(sj}Xnq8uX *)'&`x'p؉  0  p#p%PQPV`&Tlo6Go$"71z&ge{Ȉ\`cbH1fUȆ88$kvhi(x}Ž莏HX)؊hhHxŸ،B%`ϘoT1T/#S{ݨhH|8^X?6SXx86Ȇxy=نr83X)ِXɊpM (98&4RE L 07B)THG`2 $Aј'3(@`ACЙY!G HP\v2IA47f7<ds%`,0*( '0?;I?#%y((`ٛ)iә yp4Y G9ZX[ġ/$BR$B9$Ia!ZME;#\ 0`@%F&$*+ ( +v=#$I?0>7 qr[b`````BJFJjP  O{:B2 o##/:Z\^ڡ;3^:4n?C=?t*+#3z=)-J֩%@JzAzɨyj:8Xc?{JƧRTC:DV,dD#`@^@pE"_t7GOٙi2& GM?)^a9j㘘ę Aə К<4JC#*$ɛYI܉ʜ + ˰9i@󩣍ڟ:9⨠ dJ:єp BC&HVH-*#T58B֣GcA:EzISVSZWæ bz=hj1kʠm*h:D`mO6+Lzm,+4jzکkn]*c@D^:J~P߉ʫ nPTTH#0" 272N?˼=$`V{+˼K+pі0-́p 2`+s;e~8;!~[ȋ,30Lf\+c",xHFG7U0fptk+" F#`2QC?<>l@C\+ B?DK\OP\A?9X[Z_\ 4S|Qh\GF2 Av<&Lq5A:@QH z\WȂ_Gq j (+q~șqdaȈɊ\&ȁ>X a+aF+{(-x GW"|s pa i8At;,PWJmI، 2 vv>@ (0^IHC4?AL48` ȃ`UX?qn R n. cС u >(@ ̵L ɻ^:9 BBEu@`+*+2`g1@odZ6!z,`,P\㶌a;->( \1046M)[MZX?ˆ*&h`ɔ2ʓ}Yȱ̠"k -I]-ڧMک>$ n~{d25 `"M8 k&r?)37lrGfP,ՅH=/]߮:t At' 9"\)-8KGF?p 0zz?é%Ƿ?z ũ"}lz<R@ Θ` ̭1NaPk2٭tTq2+3MaZA^fJd$$ej$P%I|R"92eФOϡ5eSfLa? M&F~Rd C%.mڔiIF$P&S!{5`ܮ{e]7,tѭwz~׌ I &p}匯c 8Ԋ'vm㷳Hw6#ݍB(X [h)`=kq( DA%C\B@5d/tx؂!0AvhL>(mfY"Ctw8!D!>(Jh^gDPGB?RB|6!9";B C$x58v: :( 0 0w!)c2%7"t8C&$ Ѓ d;Xm%H @Dd.x`Q5vmD0P œh 4p e/1Dt w#(B"HHKvl2n#FJj pP!9  q?bnp&6" A8A",)ІJBQWFM( wD L#(AD"шD+`"XWf:g$8AT".M&4Ea 3A0'LPGXB&#=@Ll U"&L PXK l7X! BOt$H! D a(C$>aaEkIL@ # Kd0p. t@9@2kP `;Wj h _` "d-u x1 ` ` HpP!H$ H` m ɢV0 + ` sbtBG0 y0 `03P]L=kp 0}u5 n@Y@o@{E ppb G ; 0 p 2#Pp;k  0 Z `U$UoG ַ0zP0 @ X P0P`0W000sp p \k 1'P p jKE p C!01OX 'PX0 0Au WF0pv` ! P #0YPU)K0 @rinDh`u  `Dpr `(pR=)p ` Nq`@{@^P 9 @005 HX @ X0%BЃ  { p yF ]c P "qx~  `  'p/X' ` ` 7VT| ð Pwp`%Ѳ 1@~ p zQPSgh` p sa q7lHp 0Sf9,  @drJ0~   B sf ` @ 2!0f0(pW @ _C?! exZE{" j p p pZ@9@ p PaVCOop< @ @7 5X  0 h` P @  @PFpqW0p ˀR*  _ ʠ 9ZP,F00eY;s0\Pye   g 0 0 T0'`@4C   z@JpOsS p 0v 2  0eB!` 0gba`q Y # ։ B0?@H0@pShwR T@IdoP <@ `!c,'0o P ~y}0OpS]dp I@2p حP 'p =w 0 0 IT0  n + P  ,cR00j p OGg\pc 0 p Ā  v0@+,u ZuiXcpbPc X &1 @ !{DL 3W 2~_oWPMp P  *˸ q0=pl@0\t/ja0m:0A" p plb@ 'y@(Pf2! mf~KfR9 0p y( dK\0?pxgG q@tO0xgp -q ЃF0g o.0 bRB}p 9  v c#`q0PS@p j~`W0I=W H x@ Y.BbI!gz #OYlb P N L@:[pY`Y0 g^A Σ@ P p W\0GIbtk瘇uP] +0 gp``'S S@k+_2 ~ VZ!Vt"A @  @cC[CpZ rwoB-eF@ #!qQ!S_pN!RR 0[*R{E*ےp`q^jpnthAvl;#es@ dM'Qs:3CS%|#2'|7WZ"A1ލ݇_`g5mF]n91|p5xyq,3?s>c^n&eYC-C8D,"!]D173s7-2~M*0<-Ń;7=SD#;&d~3-3w-52*S<#6C*}#i5d=!ٽ81#23!S2r`B;LmM!3:'#5q:-TDރ2ece\_z_-3-Tۡ{P0w+]vPF5wcSsLd ts0 R.L+pKRd8&EiP P RpLw `+P P2Cdahb\N!w`CP})_-n4{ JAdn_cp &t@2tbbt5&au`Φ!uZx@q5C0RS%y;NpA!a'φ8&+5Fd?For63lfeG;l0Jqph0gdPkopR2uA @ &0rwP^v} UXP\j0t$`4 | ;}{ LW@H/fP\m] CP 05#go J7ޫx A a c p _p5gFjğ  (Җ 'FuޚO+ | \0HJPV\{0 a P*W,qC | @0rn)gRUv~j@ ^b- |f=x0.U { w i0'azJ0j`v_ 2  `-'3;ʆu0r0JGL0 @ Ê7jC  } zY0 0h\? S0M`Qh0c1+ t` '6BlxM @'GSPSZPm H~#J`K1:8^qXt0IW`dp``IQ`{sՖ  6aBCG @ bp E@kXF%<`g o2+zP FDd Pl H`v@c<0Y`ZqL2A 'b ׷Քn݃xV˭ ] @m,H@r_0is"ЄI|`r!&Zo l_Bqg b`T(? )%~/xBr dpyGwTAd@Q: 0˯`&QvA%u0 s  ``WkD%UZp ` 'PxAl52]` D{0Dv9 dspt o ^p1[ ( Ϗ  ppE ]W Mt*B}׎0  xt^` S`D@iH`l u?pro2@zE 2# d"P  ]'{@c@gPkV oI 2jU&|-w0 cPfn9LpgctwСB 0 buPy f 2qg@q0Lu`JPrlguvo #BvVy -MдpC0߼f \eV&+ 2BMq$$q#% `2SUhZakrv @@#$TdQypـHLyLpgH2id@!R0¹eX@ 3 P~us۞ yDx NzI0nb`]bD, '`sRyf3b } @lXp|Qm@jp-eR"at2᧎@3#&k g k ] s MP%;g{PEop p E!q^dgs';@bS>;z DLTpE,T4jzH2MS(FURO"Eb#K(aj(@I I>i\)CG7s4G*MjIMFI:4ѡAlȒ@DfO>e|dJ2k'РD]dSR#JY@<-CE(]4('Nd B2zL f6xȑE2iS! 3!Qi"3@2P+XA 9mԸϡGmQ@M%](#|Q5 @oQf,fg'A4"NH$d xJp8b&'tJ{_g!Yao؁~#1 &m9rc%IZr"H"hH!PbG bt1Y+Ɓz"$2&P#dRH2!8RM0B !bp^b4cdqmA1 Hb#T"X]!""Db G{Gb_k1GKzQgEM9I$9 }҈MRɒ@-b4E{|xхz!~ R#!S"X* Q^,BEF%h lEyvKGZ3JHB (0?bȜ(mC 6.A@ @J"f DC@GB+A JxFHx8`0@2 yb6xF xCd(I  7C<Ȑ d#!&`qGb@==at`B9(G ~ME@N ~P. ${x` >\x&p(TDfA&Btx.Q 1%a_Cegf쐈! !ƈ8l |x"9  O lFT{`_m~X:*XC"`C؁$9X}ؠ!$HE!QSYM!)<!DyĤE8zC 8D f"/_C$A|NCa<ܭ7xX_!L@ ␆6A dCR!4^! MHNs%1GHe|؂c ^ ~3pA%x\ P,PN$ƈHd@+R1VbP-T 6`A$p!+|Q")f ^t) Z Mpb#+Z ],(EmHa +` )! 7"(P'D! J ԍոaI#FXb+RR L%Na @o B#؁'a9ta(\*R7wP &@T . Kؤ8?a U'>A O`9TGvD*.A @`D D4D4! Qd"P+N 'D'bq-UP@>a˧ j"`)<2mh!8@t?J(JNDMAg%R Ta<N H!Cd)La5hC@#m֟&N&Bከ"@\mvw a8*1NI$h'CIDےh.aL`Kl4A M-fA Ie ^3a'4Yb "A7 V{%OCCb¨ pp0 K|,  `kHl8D@!ܶ w5@  SPpJ'op 4 k1.2Vj 6 ' &H # 8 P p C&Ŗh60 ,p @ vL]@gG @nh` `)g Fjp/lWp p l$X&h p w 5{`B,#>p p .j@v6; Pe R_`0i p}masM5^@|0 xp,]/0pop Q ` 0Rg0ep ;  n0 \ J4a(  p PJ@Fo!M``s0 p0 ~l 0f$0 6P {6)f` @ Wp:d!=0#L`@ + fBoԕ $ p VLVr0GYnP ZX kyBFr!@ ` (Vu`]Ҳ Y \C,G @ Tc p%' z 9 @ Ց' q G:F #!@v,o`pctaaXv0Fp 7  vc '~gwf U@x,?0nb`ւ zas P$G9-?fMnAV_P 6 ]10#>@A0`0k |=M;6Q h 8JjI 2 ` p DW t%@,# y'`Q Pf@{ |`@ D"'A#gr  p Pul@] s`(@p:P#+.]Uu` pzrGC:(xp 9Pj ` r}a R`qH3`@08G0m*## %k@%c$ A i~j@ @K4p0RdTE2 6q nH}u P'Cj6Vj ` 0x0 tZ'P8O`[ ׶ Aib "# PPf0 @jШ詝ࣛ ^)[+p1P@W`zA oWiI ` @oJВl`@ kP0 rh QF@40KpU`[` 69Vj2P mg $g5X<I!AHpYkX 1 r np{;@& i pnj9CPJh2N X"jFTx#P 7>Ѡ ,`cu e0vp@9 >@@DM`- >E*qh B#3j4&xK6qj7vAQC`ITLZPlAx56 P265}r4Fe*`92Epi`b2b g`sq`wP3qm;6*|4-CbD0[X$cDLAStPnWynjl^2"'450^jz4'EX.t@ē1Xu0qԌepcaPZ0Ŋt`, rQ]`̋0$B$S d$eMtg s`_-\ Re[ui`>~c‰p˒ V ib4@`[ oƣY R `jnT8q4w#XGV`aN^U6-fNg0i &拻b3A Z0^0c`P0MZ7g0iQ+yb 'x ݦ`{qUP 60BQ@L 9av ,'-H/ e<裠= 9 }G0\hO+8@M?C` } PY¢蛲Z8w&D5pLaPCV `H[T"Iv3 @ } G &xmA ` Mob(#YOFp c{fPOj{eQ#u`!c J @: P qqo , 7Tg`T`7"8.fPM-jtmT@s`Dp X j y Q Jp&8P_O@T 2USSt*q &c ` )xP h8pVpr;wPVt4 pn ( n\ `C`!\.S #l bV d_|VO _LP8`7pR_(f0d]X0 @  ? %H hM `z_1ls<Z` Uq*  Z'7P8,Pc@.~6Drb_\ `( Y  N f;PPE6oP Pv OShb7Zn j p}N6?0P= μP 2z@`Q$j jm `S# ;aV to^WR `  I? Jp31dLbvx,[0 `  hPD+409PS P } p `  4q>;z @ 1JpBP5BpKB[X;GD@ ,` @ : N@ SXPn²&pm1 ` @P`2C@b-I*I 5lW00 =FFpGXP@>_ @*|`ŚU&:r +_\"%754 B R'P(uҥOZuJQ6X -XlE =$ErT!E7}ĩ$=b"*,Wᒄ#Qpb&-i(K9*hR%MJTIRVxS2chc~D#jwD0`9-x bHC65ω9T'<Ef0D >!iC/! n`A8įBGxDvzU3B_Cvc9 fH؁{ CbX!'5(D#/ |X;sȇA!(D h$E"D" H!AѝC 9ܡkʃᔂH% r'B"$6{!.FOr$@xȗ?$/$XD! QABHe!I>~ dF!C ClID!Q<$]P舅-Cq=41D Q} "CD5A!W󥋸C"фfBC^v)})89,,(q-*U  EMdg HM@$p y3qs0 :O  P30bJ;0Z@bwKOlcs QuFPP" * 0%;F`-8riV *xd}ypʶ}pЁ.B y 0% p C@C@fQbu`nscp^0` NSΓ y .Kq3bP0+O0pPf.Q!9fP%%@z1,S kTJ&f xG] z_|r GHA?x=*S ٣KIU+D0c Ep~h?B gJP gtf$AcW [`tzptpj0rM` jOr " G=JPEePw0֔lPF%d .@(ִk t 'Vgh5~j\Z [O D5 g`xќBUñlpk`}` xmc`|`| "7ה[ e8zQBk W@^Yp @ x`eGnP#rp%ց=Ԧ" <ljq\0ȃgTupTB+f'i s6!9|IPt&}p)jh{`i{@ qz*C t !SF[1b v`hP{)a`a9 ) Ҥ؃?IY@`gp0|f8Bf(TTtB!ZwQu!GB>_X|@~`w+pmʓk*L^&fd@ey^rpNukhqPD^󹟹tf/"أ6GrzX0p@h@Atm@:8uQrN/T&Ԥb36 ֑FI`\0l At`mLVE෪t`rDx. g+^ rU ӍtGd j,#pZ2ud+:8%-oZ@O x;r `^`~{a lR`&' \Vȝ` A b Z`P'` bpCj@PR9@ `A /|2 z@h L @|n@KNq ʠ MzX@%>R@r.@p c`!fS \L@x ' P t* Fa @ tn;BB֔T (w&h' Yg Wp^{ To0xnSʓ +@ޡiwp}pT" vyP^Z-1P@ idp? g}QgT 02e@l dzBg`fc)30&G 9 p0,g&Z9+ t csi}SPOpj Ёh0b(['6p omeDn ` 44 <k @b l fpCJXDj` @dP6@ Ȁp VRp` @ ݫT`tD @ lj@`H@ f j9l@Xހ `x: `n;T@ Nb~ ` h tN`Rր wdx<@ Nxd RBXp@ Ѐ nRpn`!Ѐ DXp @ rR@d ^5JXt ޞ`T@  RV@x Z bv 9T.F ~ p``:@ʀ xhK |{jd/ 0ު!HlP fP@ ෡ R` z \`h>` @ jR`` lh@` ` Ϣhu$T@ mnf@ gjF|  GN `i1`1vh> Pи\ p Mn$<`d Px` h fTj` `npn0$C pGj>Z nT~kN ^pz- v0pp BJ`| 㡯$X `nR n` Ohb, tuV b p^`߈ vu N ~>J^ p\`Z0"th ކ^P p\`Vvnf#^`C sF`Tnfl*  $ann*0. @ .m Fh+] D Jta F=*kp L j m*kn og@|f؁mSWb4,d MR @pP@+dMV@΃/r ;jj`A T0+<`ބMX`9hC`ۄ MZ`9:}p n ` D%Z`6z N~@ QHک=|Ѣ 7 0j0]HѢ r !C }^ xrUEYdO DkZE;$`Нíd3Iaz+C n`EL;Jf-2f\ pz0Z&#w' `F B\@ #@|@H `j \@ zxx<7n`X~ zzblT!zb upeW/ת]|NOW/Dת]t`v^@D Zj|Nx W `v .`GK,D^jjV x W! `, v7V! E:v7V[! p E:vpڣR! +3vpڛTGt% 6j8cIu& vI*|@@X)nu rиzD )+޸qz$K۸~phr&IA ;Ļ=W* vgӼtpzrqf9w&kvh+ m3)%L*IA ]bCy Zzr@H(`ofPy Zz6"v+hVZz)BfL}i)Q sG Z 'u` ̀ z s9zP{{ME`z rE 0qy`s@ 0"poQ{p ins+0fZ- а t09e#UqH5, c0 P u0C`  W"S)c@cF { yP rf{ s+Rp k{ Apx}C` uВJ[ P ]^ ڠ j @{p ~Cp k` - ` ʰUwm0 @0U " C Y P  S7 4qO }` fp?pp cTg` @pk w00&;V~Y nr Z 0A6 P / f@ ƠP dPA ` \TXv` I `^ +lP9 ` x;l` g  Q  ( ;r\/00P-P s1 gy k@f@Wq gPt vpA@@`!r 0 e) b7GŐ ]`P ip ư Fp 9)p |F` /0 xqp lp @ P? z @؀ 3Y {) UPw Gb BNw ?` - Z T f  p %V)0 ` P`A@ P p7 vP x G&0p @5PU e` $ 0C0` T <@P'=Q ' uuP X v@ ͐ r l )'9 0v255'0b-r0ΔA ZM#b-1rI M)…!DR "fmnrm;'V@Vƒ>'rǕ:u@%LDe Egk':B=j;Zj 9V":{L"5#KEmIX0CEZl剂提#Jֲ?V,Q!тX}*% M t^H0bM0MpI&lA_J8K>S(kprJ3) tS!t,(WB"r@J^ &1y#8CvP;<xR/@`m:P!4 JxBoP 062 T L"@ 0pD'%,1(+J @(B"l = \ b!6|+(J l CF5$0*Ht 8P+V! D GL?!l MD[C#aX ?Ȃ'6@ NP q*,! d.RQXT8 A<| +H:.!g:P=Hk<H х1t2nC4 cA!.!X4Q<ȡ.!rV>Д _|"w >B[C3fQ F>p@4@(E3"00t`F t$P"D8+q&qT t$4X#> `` iXD8F|!0p#!^lb UPB1Lb`1X@  BE!v9b8!FA3pD1Y(Q L18D"ȐHЇ0@ 5 Aan3>AYCsD C! +`#" Kb+g@8BgI@atC"1 4D 5Q?b Fnzآ(*1a6 BlaH+np wHA%ā )(DS|< gdB 2B)q3]`D8Tq>A XA D J,\I! B@ppVI#6vFDp"|A `. Q gX7b2 8!"4D!`I!|A F|"A ?hd(]cR#}PD|18!Zq- 3B'Oh"( / OZ%j0" 0?B!H1ΤJ vBL›0 #ԡZ,q _aSȂ!T, x34#L#pЊR|@D*P*8Odn0-`0a`` S<[C!Va 0akЃ-:Aa p"^mcf($ jD8ʐ!@X&4ԡP#lu! sQ @i@CÙPNPCq/^耉< Ѕ%Hu  Z r`K Pv0:Q`sp p\p xP k P O"P ` u`P jp(p{P T4p ` { \ !e ) Ea@)P`  t}ipN @ p l 3X @( ĀP M0N My p&|kp~`f 0#`YP a;`-. ` G| ip C " P td@ Pjz ~p ` ] C`0 P HpPP ؀ W\ l606 x@ Ƞ r`v1z( PE30P p Xt@~tp w @&P WGp >G b t  p d |m0hEca@ ~p Yslq} l{k  `s sp mp& } PNpSЇ^g p& n 0 dp p`S 3gp\L9u@lJ U0D 0 J `e 0 }P y~[\FV@ @ ɀ P@r`mD*> t [p xspy0q@ PO@nl`DXk$|`m bPS0@ egP pXbP лj@ }@[;p  j0= `7#1 QPevqP p5`+Pc0 Avp)meL~0!{P0sPEU0j`/@ d q  e@ A0q Pq0 gb6\g2g}Plh0Mdp P Po@IE g0 A`f8 r ` Fm=_ń@f0 v` 2 g`  J o U J[0h@ S Jr |V P`ZR0چphp l W@r 0A H@4M Jk P_5t ]Plv p`h g Q|Pn`4ǔz{0 os@ p@@ bP Mh[]{ t hP[ kpH| cP Z\0 r@ҋp{ xw+i0 Drp @aD0` XbAK1P4Ux0 p PTqw`3jՍ tpp >% pi,||ipߤ _{& }X mpG j`9@ 4[z`d ` f`P{pih?UP } g mNvpnЁoegod` uҖ@ [ ( ZYvpaqP { YWM @ ~@l)R ~TCPvL s} |@pZPPm  N~ ]P; }j``M^yp}@ /Q@k p&m`` `zd`amz `5bypDrPAqV0 pBp _V@ Wy` zv |0 LPk F` ð o \Gh gB wxhK pa@o0|06op__` ʇ:rx` @aCq} @ z@aPેTYd` g, p59v>Pp&` 0|Ŝ`U i|P@n@?7> G@D0ܕ 6R` ɀc/(yH/  P y\fp&{@@  t0 k9, ~0 urj v   z`p;@O P P)voKPl0 gbruj\Km0 i9uzp&kPg{Pwc M`@ ` @h@p v\gn p m@gc`Nc uP  iF  xx` s | r0-vp z 0v k= ݑ0 k0`~ O@@lG g2dXyp g@n WMupfj ףP Xt@VwP~jgq|P + P0`  NE g sr PTppw`k' rX `X{0|&0pfPpsygdp[ikP֏P @oWPeh ٘ 0YZ=Tpj d TX@J|pn`|@v/ n yp&C  `Z i0~ilؾ tPP pq#[^@w PEu`isyp&IwpnPnd@0 nJ p^ x`bqu`ppYpg yqx@u~pЩ` 0~\\o`{ @Zpcqd xH ofsL {f|Toy `cixpG pVWrz@N_&` vv?`OhP p M~z)l҃p&ea0@q fz b? P [p@d0 ]nbdž yT0 Y髗 fppgY @p z[0z07-7Ģ@mmyZv~˭ bkp lx t `@~nXbsY 'NiDD0Wq ?:QӨRC$CL?rSKtb HzD 28J2:i E؁cF!LY(8hR ={c(zt7z&M2w -BґF$tϠ?4dH&@sЉ+g 7v3)cʗ=p Mr<)$)"uʓU?uQ~VG"UH!tTH'laH,B}dW2" 2 AF bp*h!jRG2#qt)8bola(A"\[iF F(Rx&GG! .ڑe1%PGrH* baGG"{!pb%BGwLlA *AH(fG!i"qq$ !|*@Ap`W'H"iH"2!q%RT'QGuLbG,Bh|("0 #sRrf8durJ&RŁ|L" pAFYAH#W#rGn!ya'bqam\!$hG#rHG#YoEK,wG }Q(0bC !0R!zz4Bg< u̡F˞񄸉݇BydtǢrIbis1G"!.y iIt"Hm q|8 "hH!ֱ!Hdv%`hb#JAh|=/h!pDK ^ SaC`m]BxD0pD!21CV C !Hx}7X! pں`BN $<!Ɂz<k@Ep@ł^@680b}&;} :0D̤E7 qDu?H(B  n;oUb{ D!!@ p"0Bxn5;CdyKTT"1`",xĿ Pب7=Si`34H#అ1."ED5t@C ,z.҇e5R#\Ҧ>bvPay` K0h0Q/j(Z Bu_ȝ@; y&2@A@n0D%'Q=J}@Ţ J(Q[`2$! @5y p7-={h R 5v`pľ;a1|8 |L@  - XP;Z8*2x쐈OPZ2\ e؃ *a,Mp>C֠Hm9:! DL$,/B;y:yå iDd1p&!,ԡ u" +xM,BobS)x#rJ*\n @ ~! |x#P%th !EhІ@z2\!مpɱ9 1, e(ic LPu@̀dBDpMBy!B 7k H bCO8$a$ >E/ 22a#hp$XAz@a/i(!NG(3k[Ql^ D\% 8["h G|[2]K{HD'./ <J! &! u*Tq>lh ^ŷKp&'tjܠ5$%.!(^'B@fQ{lYD#7` \#.qSbC@ Nt zۆEΌ/cKAM@4J `"0A<Y yA! r $"gJ<"h9V0p"|AsK jtYIb7m"D±,*5P @ym UXyG7'"pG@*/hV, \@ AGpaco,1qW>5j0P GЧ5'0R59^#pobY0MVqxHRǦsP%N $cק@h 0 l0giFvHLX>| VUmP@` 2c ]s>ޥh>!wZ|\'v oWP qS 2≾=n0^PEuWda pPtzh"/2}/RByz7WA5;6`%#(OYG{ .1)kdP:P rspHbɶWd yZщ/>oppl93Uc#*e%n%p_Dyjc@Cpu10T/$"sr  !L¨YmvF;]ZU4}WsM ^i( t@h`U2@`)ZtyI{`gVr6S5E#Њ7j}}$ф as'!{0-r/s#;d61pxG5-!Yj9)59aƣPs:n0 +Fq01f,;toI{KV-R ]Crk0|/Y3u¢y(!Qj vj6j`0 70o AI@ `4}Gz"@K|r0@ ЇP+$l S$y)s`F &D3 `NtPFjs>{ Eh-Ts?u> QL3B%o#8)ciAAd5f Q1^χes` "T! }?)bk }VssW0xwХ*4E"Ow@g \Zl?+PbP~`hf* 6k ;^}=d>?h` z9~0bCY@Dg2:k?ho1CV<_W9 `K["q 9de>LC~JBfzpJPȓ4dWkclZjZM&Ar \!3 xZ,TA9hQLxjZvpE)2yw@8{B>Q"ňgtd?EH"8 Go u6>R/ĺY&+EsU%'jeExy E`[DQ `,] {P*|YX~P2a0.BjWmMS/,rvb{KQy3{hХ-H|X@}Ѫ)"`0,aovT naO `{00ll O P d)twutUz3d'AS|5#Eaq#Qd1@TgrĚh wT{~xًčXuS`UsJr)׈l`*Qr07Hd4lS0[9sx`Los‡pZZgS+y`R^l3(2d3r:,ct@w^ZTl5)Cc+~ `vf6$V5 ?:bdWA%)&l҃C8"j@C$bAU;2]RHǹB3rG };}0ˢ A+1csքONAzP~`j0TSp{ŇN $Wa_hu@F1h}0ϷasrnRKe  }کڦڪګ۰=ۯ]ۮ}۲m۹۴ۺۻ=ܿ]ܾ}mp0ey2Dg ~de9p`P@0 pP}pPPPw >^.0 ?0& ?*8" ~`P$N?0VDN%ZW}s^wC$>? 0 0 + N&."n&~WB?@|( .!0*0~"-?u~<<ÐKYp)4ݞ)~o" *  .ڲ.v*Nnp7` aذ0`@  <^ 3`9  } {p6ͭWnI>  ?_pr>kdV0.4n8?yDNG&RN,ZݞD Wn$D~0 $W _潟"~&< 8ĞW뮿$ n -nď8/.@>ɏ!~͏x$8 /Xp0pY s?s?s? ೀsO,?s5b%?nf s?>s?s?˾00/N0_?W?VN?0 9>|0V~~? pnO0O?0 < 4_Np_%O ~7>p  ~,p!~p~s0[@[s~/|[~>7p!70  .~>0`0&Ȑp0`00~P ~9! 0>  ?0s7nA>.!@p P040 n`goD~ N핞^> > N&.@>V p     `0Oݫ 33>` d   ̰̀`g  ݍݍ   0O  ݢ<R0>` d(  ; !n  " , ,ɀ  &0 ݫ ɇ<ڈ0># &@68 8 0   $.L ]߯0O!< &@6I Zp4 a`9Ct'p@p * ^0ð* H0 ^ * p`xg`QiPA@I^AjAA - B-ZB@-B-B -C=4C=C =C =D@$DI I I 4+6 $p`ALx!Ç #b 8i@Y,28@P}1‘@#LRCbXyi\%bIf336pU_eݝKئ*gf.d6(p圌y) s*2樏 EjRJ**Fbq*2G~i߱_(89}ei_= DݸBHlq6f$<[HJ|UqAcEy@]d6]aj}Eh0l]cUlcڞf(lqB? 3 Zl \Y`rAP֐|P@( #1CA m0@"0n8 ?1G 8m" 灌"x>z0>99#3 {:齳1DO<|KGpL0|   vA  >mV*  PHy@#A($!13֑ (x@ЂNM`;8AFF|@ h;- (@U?QUDQ 2h9o"X _@& B1KT GLcT@ZA4cEB8rg5o>?x0n0r/m?h`\bx(": FQ Ν#-GAu(^Sp ~>c|8ӗ0c|7T \u_2?/xGwL\ZOld>4kb)&jtz|fQOs Gfw;~b-0 MXqq@9PU^52{Yȇ=aWᚷHVp8q 췿?xH̸ˁr36`|8 !@p01|Mbxf7`H@2pH A>(`.|#D Qe/8D"WVel]E,"h$) DQd%-LdB&9IO"(HR@B* U@`4h*fKNsӞ5G-RԦN5WVծ5g-Zֶ5]]0LnT1b Fe;[nv-jSζm{涸#;OT@ĩBоpz ۉBiS~5m[j;A΍mҽ+p8m >1\!q~G+󓟌3Bt ġwnS|PȪR8˅koy˹nלW~ӠXZ8}2һ)=KHU(Ի"1p_j?J} n@_;M +RqΧ(u4i҉]_PŷJTxGt\_^r=+Г~҃f}@KRğk@[{GH${_E 1[ >f~$5o X+2s3&H^0'/!ss73E,}{ s}o׷؁ "$8&X(x*,. o1H6X8x:<>؃@BD8FXHxJLN؄5x*TTxǁV\^`ȅSXT_Xp a HnqU` ԇgi P0PpP~X#Xx]o؉9&3 @Pl *x < j3@6)xpx PGm0-ף>@`|#P9{"@x{8D x Y?0f63 qؑlӏhG؎9u249UĀ p=UPA PטPic HD]Y|C@U@U`GY[DY{sEYC)MYioY6Y]9@* JH0BFD  @O Hɚ:`  D D E@GN@G I@G F )f IGO Fdhr$ EEMٞ扜ɜF)tFPd١ թПɡɡ: 2 * )#CN)p#  Q Q ߀ _݀a` zzݰ] PTjTL@v0Opdsp p?p? - ypqs Q SX0[>egH_jp l` 6p^L#mFe,s6=g:@ghaFWINDO102.BIN*q1 `4H J7d(@%s@ %Kp+iEH`/+z@HRT'$a/C)\N8HDa%z/;xM/]qj %M)yKZ dQ i0ڱ ;@A Ty2˟'k<3$I_@ˣ].eUn֬J&лtoԜ_qe+oX0Vޕf; @(R/`g03 1s 2( 38 4H3 5Xs 6h 7x 88ƌCN2Lh3M:c:dΈx8<30sd1CO2Lh3L> c>ϑ̳?YI)0P 20:0| DFI,@ hBH艍Hh@I*gWB )~N" `[ . !A믐, Bf 2a ?XApGaH ԊC@M!H.P<f ƻ##:gȼ Jߘ J Xb/pH.#$#!8#X<@Pgxp@H½u@+PoN4uh#084BvZ1'wBtfu͝!#q~ u`@DC`80E0 NXB: /̜P;cppt:?N6Փ":*E! 0E0XBD?@@|!q  4+?`L ')A?`?٠ qU_Y}[@@5_( D"ZD@״A`` !ZmN#5a\pԤ `Ru#f9 v2f 1]W-5L{0dB@`MR52Q@us';2fRd1#IF0d` Вp`3 P=D8@ 2jF^F!`J`#0 I9}p e1F0q"B 0d s! "t B `C4(x0#E @Ž A:PP|OQ̴@: CbiN&Ҏ@)5@ `m0: kT1UJO11@$bP0K"xSm E4, Ba$H3& L,#6(W)__ЬaF,(8) xo,դ3'icO9F9Ik($Hj, py`#KQke'# PP.0]| <̨,P, )H0 f1D48}kc SEJY KU`fIR(BmPA7yXM12K| 2 >,` |/@o5Y=d ^ 6u 26sҷAcf>@ 9lI1Ȕi`"@ vZbcHP(Mnze,4y2Ͳ ֬J!lLN4(C 4.wcAPpά@$to<(Q  M0 (7@ BEC0J8jP=r$iQ# N ۘ 8@|7R͆"y 9<`jo>{L7PP ` @>esz;,Ȳ3hj`wJGu 65cHZW\7®u`?It.@hluN!Hc-AZT@N1R@퇙&L@H($\ \a aTs:w`DϞ@|p #d68,!q80"`Q`#M (8R0a@Y `.0B QsrJ03B0.hJ`` ]ai60ozPg;zd` J P*rs(k`/ 9;X7A8E ^D"#Cy?6?pocbLq"X`z69 TCH9'wPsR7եX BdUPsw'5`z$y6rUuXPՊ3 W}JG(/Q7p2Xpp2Npp2D8uxsJ'Z.0Tx2$@ 0BL'ՃCf'uʥ W B6 Iu m S`50E`0KpR'P 1}ЌeX @I@Te@PTTf.0 S8d Ҁ Q .(8"O(,)z0  :dB UGC䰔Me:%`c>'H ' )#)F3 u< F  D @p :pIN 5` u@ W0V`"Ux `.Rx /m0n8\Pf /l# DuwJI!Y#YB@8  )u 0! D,o0(~9(~~:'0Mqt>  džQ/G S&7]$ ;IK0KD1jН "ʓ%H 0b 00əu%Rx<`fե.j-!.`"` "p ?\``S W7`HLPm4 4H@ H* l! @FZ*x?fGd~w`q!cڎk6kEg{V=`Y`B1G D@=t\cɅl(j 6A|0"ծt sa-HXHʮ'8_  KQkP4NQQ j>K4S 9Ѭcʥ60t|в2KN4.AeT84EOGGE Yy iFGJN <U4A8@28 ڡ$jS@)[ ` ?8hkn>GZJ:4 _GMJ0,z "zo +#03u UZ]8p*}Q CZ(қPpNZ( Ͳ:[>G< m>0^Z+h ,{m6 A`,׾z HBGKGP@CPtX0g9`@Z p P=~(g]^+ ^ՕPoP0s\\G 'fa(+,D J® `۵we]Q91`P;͒@fQ2 !EwXYbC@f~E˝;sɚ oNY4;ɕeذȨ;A˕ &*H3,l AL0`5dž ȋZL?p̕  s MB(#zkk@6|j8&D0Aq<5un(d mLT(OqZ2&\EH؃(g0IC02%3e#!D%lזlS(FwH@  i*S{R=0D+@,9cBteƠmM,cl `sY'[]PtȠ@Fذ`'lڕlLހ^Vt t 3 @i NU-\F'J.PPչb-;@ D/YfgKF1O f`54( @f`" t`  `'XmZ}6Ag`ggK me@"' Y gx-АxDf9:]7U(%)`0eh>A6pRݮ`Y q͂6LS>qi%\Pڕ]@@ĝ4-։M _Y Y& +~-q ؒ`C1gXبP^ 92)09:&)A)[)a ){g!M fHtU?^ۅZ26؛ޟ!h浭EЇ}ls. .G` $ƅA.p`@W@WPU7^%_Ђ6y@H_"Ճ 9Ǟ0++怤-P=0z0vT& {`s,aٟ̫,n@ '~O6^e.lI,WV=@c{, _&d`Sm"dp`YYy9(F'u< #YF-8qv#\p2jd(t(rLFJ$ PMZn,p^# | *ފZq1oL_Aj42*' c. MG`BS͋'* P:Fp2. U VkjҰ Q`܀Zb -pc'U0 Pe@  h Y Xz8 *JF ] ^HjYYR@E@?82peiPJ0 0`   h;"e ] ^  h; e v0߯o0;N TZj oEGepeiJ0 0`^   k4e@  k4e>$p y3qs0 :O  P30bJ;0Z@bwKOlcs QuFPP" * 0%;F`-8riV *xd}ypʶ}pЁ.B y 0% p C@C@fQbu`nscp^0` NSΓ y .Kq3bP0+O0pPf.Q!9fP%%@z1,S kTJ&f xG] z_|r GHA?x=*S ٣KIU+D0c Ep~h?B gJP gtf$AcW [`tzptpj0rM` jOr " G=JPEePw0֔lPF%d .@(ִk t 'Vgh. i.. S (j1SUZUKI TOS1t| #I4g (̴%A=]@ Z#0 i`L  @ @JT !R':aV0% miE,Pzْ \܀>m_8RL 9eGJ'*R@?YNjH:=cu44@"00AS]*!@ T-LAt#jlfdrJV5SrZe"18HC߻FL KJT.@@Ф%%3hdX0"@F!@ z8b:"#hCU x1 eY% ~"qCI@D`@z;<@V@ JT@!%"jiKs*AXdκ:>(D.I`tu0Ӭ)ݨAN[c)^a0j `p"n ™Wx%2oL = ISHGICMD<I$69W!>YcF' ih0 > >F# !!! !<^"G%f/Mf=G<::G aG mA"0?p0?0G/)*%0 ӄE~ U0HcP% A@#p_ `6FС@b T(@zD ~Ǝ`p_ԏ "\p !  zFC /sN %/T@@+@@@WK=PSzA G] 8 0a(X ࿢ ph>!;@0_1s^_Lꀧ0ibH,Oi.8T <=>$r(uU_F`` P 0zAPC@`$dD pF<s$`6G}Zx8LE\ %Q A%8P=(j&:+G>  )q:\F[@4sP:F8 xl`(w7Po4J)pI@SЁCAC8I0>D> `M6JA`$%ûy#@saxZEE^(}EL@W$`R7Z#@ll؍  3@!@6a`&pnmvD 7bP mNP݁C tFtb`@E $פ 7W6^8(5CT<5+@Փp( j |hvj.50`PDTF.T>`@ `@L/bU sE+ K`Ǜ /.` ɔuhT X` `JؐD) =DK\ (#`k h|k~(@ TK!IY< 5)!Ha,a`x }.p} SHq?Y3$AY-#@&j&{h8HT)``M^.(M #P?>3<+ u7],a S(KB0X";D_dzouNK5^TAP))2gQUj` B%4(^khP˃` Je4^iQp! H EREAh֊4]<3/P5Bdj  KOG09wzaV#)**a=8Xܸja)b+P4xP +ˆj^^O4P5h) +MNkC$}`pt_/Ep",yrZ(*.%Z'cbl 9^T^?8 ^_h^Z+Qy 8c[ tMòv>D>0Y@J Jr+`SB14QîƠ*R8WÚSca״M# B)\,P3늟eUF~z࡯\sV8 \µ S5끮kF< yyp HG<k 5яN\F=0@w![)+QQ 3_u eMM O^H5>€ط]ܴޏy`,`*^x,>^kc PؤkӚc#<=Ep 5 JW Z Y@\3(z&%{%q94dЍ"pSGT)wp6,6TvB;hK@Jf aF4[|6hr 7,n hOGb6)*bL@SЏTzmN偯B<5ۂ5x?zkЩBdעU (G&Zj&,Dc)@KƮ .Gf<(V 5 xe>ҽH9@ ( шiPBҢzMb@J^ aK54]!d~D(D% K LgVV?GC01Ċ}Y#RaicVT)Q $]X Mj\Ԕ;Ddh`݆"NR]C 4GF <5(X},CN 4^F |( I@4vN::R")(*Q$qnhQ0//Իlga%+pAԽsB ܽЩj0¼Re3(^l-PQ Xf*eY-LK})@)P0\iQ}Ң88l@v9pXrG.PK:ߠx8rB̌ZE$& WO@;)4S'ePbRE !A1) /χBd0]A/rp("(*bb.5W7D]m`(،Lás^q1B26@mp-Y=598ěfIPNѡ(f%kgAMȀ pb*xz2% JVK#R`~(pP#RP0bp2૒ "cp AIR&)S r89e{u7d$bO*P](xYe T+r-0 *(`*j@;ZEdZoT@::^O$dx9zC60qz #.?@Xf:_V_bD\^H^//LI>VDH<`GFX@xT>!:/iT0BP1:|`YFE"'M(}UU31VZ=]AAV>PI`*D>dxR@0zd)Âmȴ X r` ,L4i@KB`m֌Q֎h{%h %Mr!0F2DLsdCM&E8=wLշo@jZ"#6c~0#h"$H$jFd45+E*p DTb1_Q1|:1No<'b)Dq@5T$` y@HASC2tw;'G Ğ {_@F&5@K,Akv5/q'(r200aFYV0d.MہTE4RSM X݁T*:Ӂ>!q _QTR(Pis PRt``&PO>0" */`M} Q>8TTFFTTE^p fil l nrp |,mV)ЀĂ<΋B. 0' P@1A`$@"A(@&AMAdG⠀L>0`? ]S$À ؀-`#R_`*L#Ѽ ` w@ Af ")r(2U_F'@G 1-~ .SP10>  O|xOJx }< //; [Q?5GCL @@#\LTP` $HDH@_/+ۃA '֝׀ Q(cLh@5Q !٤@FZ:NȚrzHzzLL| |4XYڬ=ׂPXxĨy3 Q^ Ʌ=` ~ hH0 j(ϟQ;*G3(27`P$TS4oP4#/mɀX1KӜ>**+WZ9je7`@ ~[7+6[!*h5 %TOĂ)Ra`@"Lb_`@N@ P)%Єd|~TCf;wH48߁% h, v.mm0mz1(z4Eڦ,Prɜj谩z/: !Ɇx f𹀀:0p"lbmVl8WZ*sZ:)8ɁC2RB9@ 6`$"AnB`(ifha҇ [&sfzT@ ?::FMTTQqÑ O  ("STu4ڙ_j9P 5 S 03@ C;}=?{pw[IDM-45+ Z M(^cX 9"8t@*NH0 EU( N#8D!BĂ]-)Ԟ_犭bJ`@<5!x!TB.L3]I|HjAS C22;hV[fB( ⷪ Rd U)T&`X Є!"(;DAÅ =ؖB)t<*<laF R@@TT0-^Q@8: zh@QBT!&\CtFRBdHI$K TMLQc0b # \@<'@?`t 28-}XQe Qe 0pqhSO:@*5!@.`QY!̪tk  @P @D 6h -L@ ax G0(xH T"QPe@D| P+AQ,@x mP(2 @&F ((+TJ (x p+)S@0` R%X)@  GV "$ b!p4p@E  "  n"A9Q"/>@Er^ipJ;S h|?cG(""&f|h) ic !pD h[/. yW" \ ȮyWa +#~aQE+TNC ?E E/PE   | (P>|@F``@`@`@``@```@|@ >|(0?C00c00?c00?0?c0>| >(|P1@AЁAAA(P>|@>   ( ( ( @ >|(P>`AF``A````A`A`>| >(|P@ 00?00?0?0?000?P>|@>| qЁЁЁ >|(P>|@ H H  HH| >(|P@BF$````B(`B(`B(``B`|@>| 0(0?C0?c00c00?c00? >|(P>|@б  Ё  >(|P@> `  hh h @>| (`P>4`CF8`C8``C8````C8 >|(P>|@?0000?00?0?0?>0|P@>| Ё>| (P>|@с >|(P>|    | >(|P@DH````DL`DL`DL``D`|@>| 0(&( "cP@A>| (@uOt}OɔOUTT00A&+p DTH x80 < x $ @P<dp8T|Th0D #x|pthl`dX\PTJNDF>@8:24,.&( $O!!'{@ 龐Hg\<XSP\ `L 1*abP~B @ Y-P(^XB(TJPAD` 4@h&AT @ h44mi84hz4 h"DT$ 4I@hKUX7<   0(@8PH`XphxxX ~ҡ. :W >B@ (`%P@Pp@H?4?h @ Hh  7o  A=CBf p_QAM<_5 p" 5N< pqJ^EV@X`Z:3 5p@#X,J}16!Ty` i&g ncL@@Z&8D< ".\#D@MЁc55g^`Ch0c_@Wf`'Vx2AрDH"x)DuN СkC(ֈSM (~<8@mA@Yv  / G`J wG~qMt~(̰@i_ϡ>zU,i>h ܈I7pL ~H hӺ>@EI@Ow( <<̠ 4T@]HdD2-5_ X(4?c%J3IrxAx RhICt% ./b\!iIЉ?x,|qIG~`Ht~:@RfoBA"*u2_ _)-}Dt~ ܀`0Zz tj (< "p @x@!0t`$'D zB+B)C.@kQ`Z A0 Fx$x`-!_ B[{`@B4T*^6GwpLgn [``;XGa BK@, |$ PTX낀 Q ANzᄧ)x"p3VAR (r B 0 4 A7p$j@HX:N(/Vc]b3 fS o8m* iE-,XWAp !Lg%[`un;[mA?I3c!UAzPEB BEO! DAvNM@AB8кp0%,@$r !rGo@AYu` G=Rb0$X5b (GW$$?V=8"t*3 =B*z?b` . )@ (7Fr1y6ցHuח 7!.:" CS19k0~G3)  d ΎD4h}3^2: WӪSE /fJ" g\ fA?_$uN o7 o7 o7 7o o7 o7 0(HV-Y-Qm9|E}G x7P0kN8%Ł]CZ Om#`H!BPЄ hH  =P ` s00 2I8D{55&˙ar]7`|砏:~!*€'Z? _DBB:OHU"  uI
HZrH|,ʔ͸Xu3)3%#-X6jԘ L} +-b+4 2+fUסGXbX" j"Pp45}.ꤲ8 phЇ@{7C`@C" `5Y`p a;0Az̀T ǖyQ( QܮhÃh+vLlhH 3`eB` 8Pf(+ mRϐM@مRdH2c`h (Beg-a57WR@5rـs  ~I;ERc`'5@^DY"̮ zoo(|Hv&H$@I @g0P-Pl-HP@`@VTd@U@4*4`@ȳE" gf /*)D(1)dB鐌)`Zh@ 46=͒ `${$ 8\PP^!ئ-¢-!0&px >\FԼktFK|l+\tLP D0 4SI# @8Pr3fFyAIѠ0 1Z H~( b "dH( $ $d3b/Z!7j .i;aA) "ukbF;C"8BjFDnE@?  /YK  YK|!֋`i!ىFxR+L!QQp@'x*R7JPx ͈hgH3@`@ f QC6lQA7`Ku]cVT``IBx(^ |@D3oaa^ tQppi " (:&,W@ta`P (V -6P? Z1(`P8hFl ^fh`3X0a}H!TT06xP@@Hz@<<#xЊ, `.`$xB\|W- ^jnAxbbb~bR}33 .'bB6!ۙ`HgK`Sӄ Zk aTGF D``F T`FdT3 Z4_0K"KH*Eut-AT$aA ),&9@.S&0/IdHńM!ڙ1)VxH X8`xPZP& Zsٗ`9*WCk4ݡA M_CSdшq0" 'ck@BB pVd́ W iׇԀ A0@ `%JR@AA* !cL "h"h hl8h "< ( ((L .\ hÀL h@ b`PR2B$`@E8PM@8a "5ף0302*x+x*jD+k8 aac: tg܆D ܂ ht'@JRVZƀ% T/aM a^d,XxPɁ6R?V8Wp崁P t= 9r:@9Fh`@9H|Q@U:Lr(9@P^_ %V@ FdV&8}W54A:@ `) ) `AɕJ BC47 hv\'4 &Qa EBٶ,ہtߋЁa3!""$"!!A"BrDC`E&g0@!u{;k9 |7A@WxKR>=XM( PAIA< aK( RP""- 49`"P)PN )ЁA TYc=0`cRt  5VP%pb@7,Zt H70x {Z~uP S7^Q%  ~`Q RoL@ >p.K _`@@SrT US=Ёoy:,#^5P`Gb@y`t k 4lPP#4!h '"%$(( *\*@),t/.-03 71P584;h698?:=< b#B:4+E]"VNBgbpbb’BB܂BբBB C80(cAXQCI#aycqiÙÑÉáùñ٣CC#Cd>$.$&]D5LdD{dSjdbDqĈdDĬ$Єdפ$e=2+E_8MFezeSgatn%śEE%%ŮEͅe@4xèdˆ@X˨Ƽ lt thϴX<לxԴP$}?pLBFMgtR5j9hЏ$͢` ًRNSe;NKM*rfSѰ,7Ar^2$H45л!hϳ@==f9gv_fWee9V}"L hqX[1\!Kp~axf`Fx& ( @ݟ˟ϟw}ip[bMT>E.6& ߞž̞ozXdAM*6C#úcs#îSӧ#ӥC#cSsccsSc#Cq{C}svyrStm`i#ksdcf_RZ]CUXc@SsLNsFIc1DCuuuuQsu0tttEgst$sss =^rrӓϒϓˌˑˎˏˈˍϊˋӄωۆۇ߅ |+}~?{3x[yOzwwgtuvspqrol/no[hCmjskdifg+eegcG`ab_\/^ ^wXO]Z[XYcW7TUVSPkR?SLQ/NOM_NKHkJ3JDISGGEFG@DBCGAA?<[>>8={;/;9:4[9G67560;4;2312,?0O./ -.(g-+'+O)*()$})?&y@] g;91\O56jCѢcɛQ s1c b˖v}+ġjUv!#>/.+.'.3.?.;.7>C.ONK>GnS^_[~Wcokg.tnNxn>έ>n^î^>~n^O_o./&"?+8O3oAL?IER^[oWdOo}houq?zϢ_?/_O?/И E" Zj*jXTyZyvAcG* (d`lhМa`@ a#!!( rOE m$L2222;]8>PcdB3,&wu$}"@`Q4YF>aV>?>Ab:gG81Ig7`@=Gt|:ѹ3~4@p O+ái\`$ТhШ`X| i HHZQ pai@<l,Ԟi LHP@0O$`~C K`W4>aȹE`G4@@)q7 C]cgy|  8l8؂vTJ|S@N< @0-/9, KNLe P!nDDxtH0H#rX0 4p 3€q.ρ(y<"Juפ[70(< |DtJHqk?" D* hF !8 C"жACee @ - y@=ĝ0ʊ5,AK?i8K` ?|< ?> H>0 >HϤ0:p $OPh;@, >D=!ELLW)C _T1@ LI-,( ˳>-M(("'Ο?0~(6Wä`~ K}|76o¼+DRJۦ|2/.G`IC ` <0?x>?w 0G<?> ?hp__‚@. T=& pFc*I$oPQ\86Vz`EA8$pz0!y`S|ǁV){}ހ@>!?CKÁa| < }}80[0v  R၃-L`S >mIUV}v -j g9][> CkX?߆u0-hBוGxDmP3KP `A ?IxcQ h$I21GtV`}=RI>=}08*rÚE_JvS?K &/RM5#?G? >P|-?cj 08M<C|-Pp9_ZmS}@mWMD@Hч? .*E]{Ee }vۣ L~]AJ2t܌*S}Ux8f@||z-qpo?Ax@8j1Q\@ ?~g P?O})@`80 ~?/ ADC} $g|b_ (fLO`~" *W}>P8 uG0!ʂ?E6A0@X)a 4 i ~ ;4`r00(X,q<F `€`XL \킁` d =``# `  xT  3`g.`7wOp~.\@g`5 >,`CG DF7|??P& h= 0E)?NcN\ ?(ρ~ Q:g`B eZ_ I @ QS('$(S4:"%0 <_ 2 eM&\yaED5< 7ikF 8|`}+Z@? )  /)Fd @@J1ڃ G=@@H?/B`ʎ Qx8@e=  `>l HV(ix00(PaP$p@ ' T <~A>An?z YX81/> >Jʺ~i ,}*?3 E`>5OhXP<G`#~GvyTp<; G2yO%0P(W,|@8(P JM ~ Q냃^FF}}p<4Þ0P@ajB0!5! _O 1@Zz_H Xo`L`U'vo 0 8p :  ف?PRE^`tq A KD8,@ >.0>>GP?L?"= xpH/4 0NH?xpA8E3H0p@`@"P@d``E_CGVx$ҁQQ (B87o Q*0h  F-[Š? > @>@@`@&σ`*o7 7o oߢU < pA(< `=G`q R =`z8?l? #X!P=|[~yl 3``:_0#03z"#0 ΐ?? @胡n7 ^U<q ° #:O =dx`@f`@Gt AbR/O1EI<QA@`~KT$&YЙ@<;L tAG_DsRt,k585}"FO[ē {]0C趨 1 ?A`>): f')9)7"E0F-@~ + SL #~00@#Wf}pEx깷P|W W`r@=FԌP^PMyQ@=]OwPW '`6 `QKmG@8pׁ@}8p?``@@À.݁=Qq>;x@~D0 G@z>|pG'FwGBԏB)+dұ+C(:BQ G/@*q3j頦?,1`Pď1rT@>k@@jTnA C :)~ T 0_@0uPN䟁~(p(Xg ?:0| L9:g <I40\ ?)zT*^( z?!GЁ&z<0X>0Xz@$???@ |#O@ˠ8 p\ !a@1?=Ё Pa3`n00Ō1x'   ~8 N,588;`, ۬@I 3h& (( Lp(@wگsh;}0 T@A*Bs`  A5WD``Nh@s@ Ld9:i?<7'Ё\vn0#v!:A` /In' B\Ne%ʑ) @wr&$u @,#B8#| ޠtB! ?J&s2 zP%_NGdҿrvM&JQ E"1%@&”R`a|`>5 2CP+PP + P)8x ?J%Q @$ 2HJ/"!|?wˀ"{p0N 0L .'ji֥^< H:rpN0'*[7ݾn ;Cr9Pt@`f@)D\BC 88@%o~ 4`~8_F`YQ@t@>rbh p Bd\ ʼ x hO> @Z8TG^p R>}861Jj } 8J χ>@-GDCA{ϐ8gHpNE.X ++ZZ0p(J@ J7%'`T❢ή*?lڀ8@&P `@ l` (Z]0h+]} .q&6x1&]`J'C@ZueP\G@@Sy" <>4>mY{<nmUJ? (k:t*׏??p"EAt?EG8ăv#<XR"E5/5> |_)Ak4AG@9HP`UP!$0a]ݙx :z=48_ivǗ ;o 0"r4xu_@x~G <J:7DX{7he8L 衞I8 /H,x,yǨ2@ s8dTS <0W[0:5 2`]588C*@?%b5H] P_->_G3Ul}^5 p\@&5p8@ | F \x0ӁtP:>@GC :0scoC\f3P3CȒ%5ҨIq[o@Q@uO`!pnжs%>W4O{|8 >/:p $~I G0,p0g:c0Ӡ2|?Y0V| @:89,wb]&8PQpQL (LN` AA:0 @pF@J@q>:E#@@r0ТM_ U̼ A p<   >J N\Q$t~t"1.#I~`Pҿ>u@]@t`@ [GR!@;j`0p(Ϫy8A#_q87P0h t=iD? B4GFtO@|`@t< ?"AЗ@ G@ p`@u*mWpz %P07p7lk`$A b'c 2ph`'(>#gpa|@DgP' Q|E' @. >% +EO|k@  & L`@ۀ >p eU %|@`$(PV#xXpHh;%`@w@O& 08#c`:?u&饀$0&OK(00%EHaD`% l@~@| :!hfO N80lH$ 8QUЁ()  PB p,zV)BPR=Fp5/j'@)<4AP>N | `@'P`@P ``o|B00(Moxhh< O@<@N~~:tq ". H$ Nr |88'`N P "| ;  8~ p@@tg 1&Y 𒏌P~: xJA|u_E `P'  y@ r =<|"8;P' X #/m  lPx!:0 ' H OA:8ӂ@X8 *y'@G*Y$<6-Pg: ?N^P@8#p 8' @|6c"s txGN??>i@?pXtx'GAFG #'"'bcO9 Nh$Lx4 /HA:A \& @ K(0(ê`lt*O# *m - ЭЭмм.M// ?<?<JNA ?<Hm?<=NAP3 mHy /<?9 ?<?NA |f9 <f9 g Hy <g /<`/<?9 ?<?NA |f09 X3 09 X3 09 X3  9 XH@X#  9 g 9 XH@X# Hy ?< NA\ yA gLHyl?< NA\?<NAT|`o| 3 |Ag|Yg|Ng|Qg` 9 g^ 9 gR 9 gF 9 g:Hy?< NA\?<Hy ?<`J gaT?9 ?<>NAX09 y f 9 $ f`|Hy`Hy?< NA\``Hy?< NA\`Hy?< NA\?<?9 /9 ?<BNA Jj?9 ?<>NAXHy?< NA\?<NAJ fJ g(a*J@f y B#  Nu0n"09 ܰy l09y*o09y*o8Ry(09(y,f3.*`p29(`S@3*Jy>opr 3(`S@3*By>By `(N\>|g&02y 0Ry 09 ްy(mJy np`By 09 @29(SAA3 <9 :9(0@H|B@>0gpF@pF<|m@2h@PFQE0E"< 0@AA2`@09(y 0`JL N^NuNVH&|T(|ق3 ,p29,`3.Jng23 ,p29,`3.N\<y,gp`x3 (By>pr 3(`S@3*<<`0FBP02FSFJFl3N:>|gJng0H>Nl`0H>N>*|`޼|f8<<` 0FBPSFJFl3>3N<|g8ym<`0F0F<|l0H4@>Jng%@>Nlb`%@>N>b<90y.l0F002F0R@3:N<0|nJL8N^Nu (Yes/No/Quit/All) ^ CRC error ^ len error - cannot extract, old compression - extracting @AAā@ A΁@ ˁ @ AAځ@߁@AՁ@AAЁ@01A32@67@54A<=@?>A:;A98@()@+*A./A-,@$%A'&@"#@! A`aAcb@fg@edAlm@onAjkAih@xy@{zA~A}|@tuAwv@rs@qpAPQ@SRAVWAUT@\]A_^@Z[@YXAHIAKJ@NO@MLADE@GFABCAA@@?J     "*                  B & *Fsers ID number for your system. Edit new user starting points This allows you to determine how many points a new user will start off with. Toggle system log This allows you to send the feedback and system caller messages to either the disk or printer. Edit news pathname This is the pathname where the news is kept.You must create this folder for the BBS to save its news correctly. Ending config.tos Make sure you save the configuration with the B command before exiting the program. Starv91.tos This file is the main program it should be placed in a folder on any drive,in the same folder should be star.con.Run the BBS by opening this file from the desktop. Star.con This file holds the sytem configuration data, it should be placed in the same folder as starv91.tos. This folder should also contain config.tos. User.ver and User.dat These files hold your user information, they should be placed in the root directory (the drive entered in config.tos as default path). If for some reason the system cannot find these files, a message will be sent to the screen telling you where it is trying to find them. Msh.prg This file executes the online games and arc.ttp. It should be placed in the folder entered in config.tos as the outside path. NOTE: This program will bomb if executed from the desktop. Arc.ttp This file is not supplied, it is an archive utility in the public domain available on most BBS's. This file should be placed in the outside path. Text (.txt) EXAMPLES: welcome.txt newuser.txt logon.txt logoff.txt menu1.txt . . . menu9.txt These files should be placed in the folder entered in config.tos as the path for text files. Modemcom.txt This file should be placed in the folder entered in config.tos as the path for text files. This file contains the command string to be sent to the modem to enable auto answer and change the result codes to extended numerical results. You can change this command string with the standard editors to suit your own modem. Userconv.tos This file is used to convert a userlog(the user.dat and user.ver files) from versions lower than .09 to the new format.It will 2 new files with the .ver and .dat extensions.Place userconv.tos in the same folder as user.dat and user.ver and run userconv.tos.Scratch user.dat and user.ver and rename the new files to user.ver and user.dat. Setting the time You can set the time from Control.ACC. First time logon You enter the BBS in local mode by pressing F1. Your first prompt is a press return prompt.If you press return at the prompt the file welcome.txt will be read,although if you enter an 'a' then press return that file will be aborted.You will then be prompted for your user ID.As you have not been on before enter 'NEW'.The NEWUSER file will then be read.You will then be asked information about yourself. When you have completed the new user information you will be brought back to the prompt for your user ID. You can enter the ID number or your handle here. You will then be prompted for your password. This completes the logon procedure. Raising your access: To raise your access you can either use F3 (this enters system maintenance without modem I/O turned off), or F5 (this enters system maintenance with modem I/O turned off). Once you are in SM you will get a prompt showing the active drive and path name. To edit your user account type "user", you can now enter 'C' to edit current user or enter the users handle or ID#. You will then be prompted for what access level you wish, enter 15 which is sysop level. To return to type exit, and then you will be returned to the main menu. Adding outside programs: Copy the program and all files associated with it to the folder named in config.tos as the outside path. Log on to the BBS and from the main menu enter'P'and'A',you will then be prompted for the title name of the program, followed by the file name, any parameters to be passed to the file, access level,and whether the file needs I/O redirection. Now the addition of the outside program should be complete.Outside programs should provide their own carrier detect. Adding News: Follow the same procedure as adding outside programs except for the copying, and entering 'N' instead of 'P',you will then be put into the editor to enter your news. Adding General Files: Follow the same procedure as adding outside programs except for entering 'G' instead of 'P', and the files should be copied to the folder entered in config.tos as the folder for text files. Adding Program to the UD Section: Copy the files into the folder entered in config.tos as the folder for the UD section you want to add the program to. Log on to the BBS enter UD at the main prompt, type the number of the UD section you want to add the file to, type 'A', you will then be prompted for the file name. After you have entered the file name the BBS will find the file on the disk ,display the file size and prompt you for a description. Editing Text Files: Log on to the BBS, enter SM at the main prompt, enter 'edit' . You will then be prompted for the file name. The file will then be loaded into the editor, press return once, you can now use the editors commands to edit the file. Possible Problems: I have had a number of calls from people with the problem of the BBS going into a loop of sending the modem command string. If you are having this problem you should check the switch setting of your modem. Most Hayes Compatible modems have switches that control weither the modem will respond to carrier detect,if this swich is set to force carrier detect high the BBS will asways see a carrier and never get to the waiting for call screen.There is also another switch that controls weither the modem will respond to terminal ready if this switch is set to force terminal ready high the modem will not hang up when terminal ready is brought low by the BBS. STar-Net Docs ------------- First The files config.tos, star.con must be in the same folder. for editing the configuration,it is not needed for normal operation of the program so it can be copied there whenever needed.Starv91.tos can be kept in any folder except a root directory,the file star.con should be kept in the same folder. Run config.tos, to edit the system configuration.You can edit the messages base access levels,message base name and the folder you want the messages kept in, also the number of messages you want to be the maximum messages in that base (the messages will auto delete the low message when this number is exceded). You can enter a user as a sub-op to the message base here as well. A sub-op has sysop abilities on his base alone. Do this for the UD section as well.Editing access levels: here you can set the call time limit and the limit for calls per day, idle timeout,and that access level's ability to enter System Maint.(the dos and user editing area),news maint. (the ability to add edit or delete news files), Outside maint (the ability to add edit or delete the outside games section, the access levels ability to send E-Mail,Play Outside games, and read the user list. In the edit other parameters you can change the enter and exit from chat strings, change the baud detect routine from hayes compatible result codes to the hit return method. You can also change the system log output from printer to a disk file, here you enter the default path, the path for mail, outside (this path is where you keep msh.prg, all your outside games, arc.ttp, and any files associated with the outside games). You enter the text path here (this is where you keep the menus), you can edit the number of calls to the system. You can change the system ID string which is the 2 characters in front of the users ID no. that creates there ID ( currently set at SN you can make it ST or any other 2 letter combo that goes with your BBS theme). You also enter the new users starting points(this will be incorporated in future outside games). I am updating the program daily at this point. Registered sysops may call the BBS at scheduled hours and download the updates or can send $10.00 to cover the disk and shipping and I will send the latest update. To become registered send $20.00 and you can download the update or send $30.00 and I will send you the latest version. Access levels for UD sections and message bases range from 0 to 15 to make a section inaccessable enter a 16 for the access level. The files user.dat and user.ver should be kept in the folder that you entered in the configuration program as the default path. The Hayes baud rate detect routine currently uses the numeric result code so if you are using the Avetec 1200 you will have to use the non Hayes hit return method for detection. Function keys commands when a user is on line while you are in local mode are as follows: F1 shows you the stats of the user on line, F3 brings you to system maint. (this is the first step to raising your own access level)with this entry into system maint. the user will be able to see and perform available funtions in system maint. as well. F4 toggles input,output to the modem on and off, so you can do things while users on line and hide your actions. F5 brings you directly into system maint. with modem input output disabled. F10 is the engage and disengage chat.F2 will disable the status window for user online information so you can have a full screen in local mode. F1 in chat mode will allow you to add time to the current user. All menus, the welcome.txt, logon.txt, logoff.txt, and all files for the general files area are to be kept in the folder entered for text path.The file newuser.txt has been added it is a welcome message for new users and should be kept in the same folder. Outside function: In order for the outside function and the View arc file function to work you must have the file msh.prg in the directory entered as your outside path. You must have ARC.TTP in the outside folder as well. Note: Programs run from outside should no longer need to provide there own carrier detect! Pausing and aborting: You can pause and abort all file reads and system messages with the command below. The Control S pause, Control Q resume and control C abort. The userlog record size has been expanded to hold more information if you are running a lower version than .09 you must run userconv.tos in the same folder as the files user.ver and user.dat,it will generate 2 new files called new.ver and new.dat.Those files are replacements for user.dat and user.ver rename them as such and discard the old files(or keep themon a seperate disk until you have tested ver .09 just to be safe) the RN command has been added to the message bases this will read new messages (skipping messages read with this version any messages read before this version were not stored in the users record).A BBS list updateable by validated users has been added. modemcom.txt Keep in same folder as logon.txt.This file holds the commands to alter your modems setup.The old commands built into the program are now in this file. System Variables ---------------- When reading a file if these strings are in the file they will be replaced with their respected variables. Command string Output result -------------------------------------------------------------------------- ~v0 The Current Number of calls to the BBS. ~v1 The Handle of the Current user ~v2 Users last call date ~v3 Users last call time ~v4 Last callers handle ~v5 Current users real name ~v6 Users Telephone number ~v7 Users Download byte count ~v8 Users Upload byte count ~v9 Number of calls user has made ~va (note lower case) Current time ~vb Current date ~vc A prompt to press return The file logon.txt has an example of how to use the system variables in a message. Other notes ----------- Entering a 'a' at the ENTER RETURN prompt will abort the reading of welcome.txt.When reading messages the C for continue is no longer needed pressing return will read the next message. Deleting a user: To delete a user go to system maint. and type deuser, you will then be prompted for the user name of the user you wish to delete or you can use the edit user function and choose the delete option. Reading the Log: To read the system log if it is on disk type log, the file will then be displayed on your screen, when the file is finished reading you will be prompted for whether you wish to delete the file or not. Entering a y will delete the file otherwise it defaults to no. Editing a text file: You can edit a text file with a program such as first word, or from the BBS with the command edit from the system maint. area. The file should be under 200 lines long if editing from the BBS. Do not enter an editor command(i.e. .l .s ect.)on the first line. If you wish to view the current file hit return first then you can use any editor commands. The UD file descriptions: These files are normal text files and can be edited as above.In order to add a file description use the A command from the UD section menu Eric Drewry 15 Greenlawn Ave. South Grafton Ma. 01560 617-839-5810 online 8pm-9am otherwise call voice. in the users record).A BBS list updateable by validated users has been added. modemcom.txt TETRIS for the Atari ST (monochrome only) DESCRIPTION Tetris is a game involving dropping shapes. While a shape drops, the player can move it to the left, right, and turn it (anti-clockwise). If a shape can't drop any further, it will be fixed and a new shape will enter the playing field. If the entrance of a new shape is blocked the game is over. When one or more rows of the playing field are entirely filled, they will be removed and higher rows will shift downward thus effectively gaining room for more shapes to enter the playing field. The level will change depending on the number of rows the player has removed (level = rows/10 -1). Tetris always displays the next shape to come in the small window next to the playing field. SHAPES The shapes are each build up of four elements (squares). For each new shape Tetris will choose randomly out of one of these seven shapes: ** **** * *** *** ** ** ** *** * * ** ** SETTINGS Before starting a new game, the player can affect any of the following settings (default in brackets): Level (0) Any number between 0-9. The level determines the speed by which the shapes drop. Advanced (off) The dropping speed will be multiplied by 2 for each level. Rows (0) Tetris will randomly occupy the indicated number of rows. PLAYING MODES There are three different modes to play Tetris: PLAY Play a normal game of Tetris. HELP For each new shape Tetris will give his best guess where to place it. ROBOT Tetris will play the game himself. In the latter two cases the high score will not be effected. KEY BINDINGS Move the shape left (also h key) Move the shape right (also l key) Turn the shape (also k key) Drop the shape <1-9> Change the current level (upward only) Pause the game Quit the current game SCORE The player gets points for every shape positioned on the playing field. The number of points depend on the current level, and the height where the shape is positioned. Extra points can be obtained by dropping the shape (HELP key) or playing in advanced mode (see SETTINGS). BUGS The ROBOT mode doesn't consider the next shape in his choice for the most efficient position of the current shape. The robot plays quit well however (I measured an average of 12500 points over 40 games, with a maximum of 42598!). AUTHOR Jan van dervH< BA Rz&N xHO $ @By =O $ r=!Bx(Eۄ0=  tg@N '^I9:n`P'9;!x5A: |r,@HN j0P`'u@B8ӂ@s@NZZ,"H 0H:tŚ}9r[ J h˔ 退 @'@tB/T@Qnc ?@zp$P#" O@| jQ N Ҁΐ^&=BB:$ D$@@e"E:$q >Á56XZ ? t9 @~:0x!k #`K4?P `HS|#J_ 0%cQ B`@c0N raw$ 'W84~`P ǿ4ЀHA)|N) P@083pG*&<GJ*^7< 9>6>w сx @ Aс=h `7:C8/:3000؀AzP`E Vy- |">V_@a'0x_ | L>p y`tG0f/1&?Kc}~^ō=x~t#UwÇ4?lBcXP d @/8 t t!:h0Epp`}?σd 1IW@<|h谗E,0؀b\X,Y@/adں AmXp׀ -`:?tp-P5=|8Ysg_4Ђ].j|?;L9|1_F]YC Dᘾ# 铀^'D/8_@ޢ^_D/a}~`Ob1~8<=ǃ@@o4A@`k4L (< ho1} /o _@ hm7 Ѕ|ooD'OG iXЁ i i9@4q #݁`N0x$O0 -p ?h#G#ɼӌi =CÐQA]ȀH=S3C-Ӝ$`AX 5"T0ɜSA5 қ`ulcDf(*ݳPiXz0i eHuuu_uڹa [>xQ$`NP?u2Le Bp9>'@OyW :>oOx|<>Ow/h>; f?:'+!gʀl6wJa> O!߂/Dh B820N|pQ< w*t` *0 a+8 u#JxHg:w_`00wf:o3No+?tt> ~>N"ـ&01$N3q/N'0k= X\ ׺ gb` A^>5|Y9Ø;Q '`p0  ,`hL<{xSGϐF?fĸs!}i?, ~&pR@4 >>pX9S8d|Ͼ1'(| wtc8=p0PL$DNA/=)Q#X N@J<;Ayf'G0(N*a:|u@p}upc.O%+yxb߁ P|Œgp'btU5@bI^sPU ?0N@N]K`p4~ОA>@tC0 Њ'F~0_6;lK:!JpB7X;F{SVt ("J_`\!*Q @ht!f B 4?b@L,=H7J?~`8~ 08?WAecl`@0N%0#) jC@!S'ǁ2F0;4p,l;'0߿ rNܐ`@'.%`@'w:1p.p}H0)q3T0f6hv7z@@ $ L@'GTk p,P$@N3'UzGߧeF B;7^| K TO0<~es'' D({h<6OH_ %!<'GρP8 ~8` q(D^H;& ?N)!'A<*pf(?x;X4NL!|`' B=/^2tK 8:EPuy>xN  ԜNA1$} GOz{ p I|E"?~G#>p8:<<';N2 T?1)T ;|<`H *Ip N )m @'V?u]|{`LFu0o9 `NJ5oP(&L, i[xІ?~*|:\0s B~h4ǔ<FO>?yV8yp\@< t Pso@#vly](N,_YAe#0SFcR,^9h'0`'@ SP*|_: @vZx.@TLJNCNTN@+pP# h'@ 1+E   Ὴ'ExaAk'؟D, >|H 0Ox5Mb*Out<=NWؠ` AWT'E7 P# UTApX@|,~1VuRP_p ~RdFԌ cl>Au@0hA)ap-@v@:?|7x~ >  ^BO'NO!S-p< (p'}7:gār. !UTUx?6qI,N($M(*|Ng`J_0 :dJ?'`'U`[w 1uUU |TU0?|zH5p8{x6?? _x=̠S ~~g<V ߟ#"  !?\sj\s `(_5Y>;4xP*'U 7;҂GU<\txAW| |<#45NFJ?*F?O,mpW p Te cX3ڥV!i!{#@_ s vz`}i>ܕ!;)@3|~ `>ՙt7yK@'zN}1tOǃ8'?+K&zB)L CE-lK jp S,ҰuA ]ȉlF5jbW),I @2sjgR2ܠYYU@d\HXxw#' ?͂t~Ox'<8 .@v }qRŅZ'ix(x#pS !8Ly^O,?0`_r7GzdYG |a 00Ñg`4/$<o Oi|vx^y?|PuzB#ǺAGAC wxcAp*qpww?0NcH0T5ڡ-NL`Eׁ~jh-WK0,`p@1 U  +z {`H]M`oKx:`*0 {s>-^`0p8c! u`?Nq'T|`@-~{p Ǿ ?@79*4'kor \` Xꬼ BP9'*^[=4/t 0ߡ_8pAϜSpYbA/hC##!Ѓ<ɿzϝ<A z8ke_Ăy5!#?PZ[ @h~ +HǿGOL@G@Nwq(?ι;~ &PX4\ @T!z3.53=cpPhb`! R1@H=~T@EA3," a M'@< r5\F8taRz@H̠N'Gx- =J 3X䑀? E@8}n=A\?{ϛ"Z@(N  4*/}߄0p p6cS)MQ)7 gg/)zhMR|<8XQ@$~8'E,Q! 3 ~Ӏ\3į h.e$_q2sWg( 9(-G3z0\3;H}u y! @ $o$pmk(6x}&n 'JxMH$<e@QOO |xD?>z@q?09z@ @, &Dဘ{H!>' !S4xM!J/h @k >a'|ᆀ@H|ONB|mhl@9o@2> "Ȁb8A`%@ ?sA<8' Pa?{N0wƃ%Sp; @`8 0p ?33wN Tq0=ω$|D=Ax@ 'pNBP8%ꀿ,0s`!N 'c0'pT\p8?;4 'GOx|x. vXx]Ÿץ@!*,<L}X f$ N4h`O+?p<( I:0|10 NAP`'@N[!fd8'z@dF?@菃zbd#>I: M*^%T q! Ih0pSB P!h|' RAD П8twp%"' , @D~d t~`,!+,( '>G4"Ӂ.W)O$ =, ǁu*0Q N;#r#| |!B/D ء> Â@?x>WN"|BP< 苣O'@kW,W'gNB &YQ''Tt ``ExP^I?'< %!A<߭ʏ–)151$i"9D7? FJ K%S?`c>|3:}f0(d@p9@#$< Y:N DRp@"& 9G<'cuLl8,AН@XPsP~O@ 2xP) 'Ht^`:5)!::,*u~Œ34<QN?xiO  n|0'+g,:?~, eOqx?%:G vMB9߂JBuB/, IGu??` `\yKfb?D:  ?'H8?v0 a ?P0~(NO>p;{ tH7o8'$;X^OyNN`'T~w _vkQL9NH ӳ@O1H"2yA$Bv`'?/hZ]b'D>}{`/_犏K'GOO<{ N'R|`@: H:0 ::O )9ઌ H'(0w.Gh)  B1ѝQv =V v(S1'n XVgS0}8 ǐy:E~)O`_>qF?=`:+0,Sya| 9M_ StK 'D?x'6R/Itc0W+A,- `FzaN (M8yg'CB-qj@\   q"GDQjoV`[hFED~`R0  p,.%d+GrI7,>0@'?M~>A+'!205tXx3B&h\N`ATS p>#'5⇤ IDA:uq<~6D N8:Fv>aCO.,01<@ɂs<, N'XDz`P%6G^IJc|Cb*C3~;aEt``/ pZW8 ѡ *i,"~Ј_" F P '|5 yہcw + r<A\  iHXz=LJ0 X4/z'iL~aug$2'p<C0& H?Gl>@xgh ?#q'7]P}/6bsf py_ g.3/Tࡨ7Qu%FFa;h@@?C?eImutOE, s~".̣_<gAz@ |d:t{> T%';5@~=t?eҐ`̇@?WNAxNN`?x> '|'E`Ar0=1!@P@p't:tA@: C#oQ!A0@z։$M*Lٜ'ÆG 0'IȪOOHxLS$=9 :'䚣o0^O–"8<_5##J0N p-n8`"$mb_~;&9(z⮪ X$  jR'C^l;`}Q} u'pr3EeJ%Z`^(Ʒt[!Z9 3ÿbPgAUKYW,&(`oD-](``'u71$w ]Apw s>5s hNm(Um|0 j $?퀍 AGeMP0w|< x;T~ǀ "h%}o{0O>1OO`ቕ! y 3x~pUNrh@ 3N9 0=Շs{E: HؒAP4ҝHF NIx`fA+@By8NE 0k;4{ԟ@b kP@"| -`h@,؁.?`X)m6  O??Àx-{ Y6? `+8%H\\~@$GYp c~'V$o Wt 'w=?g< _'<(N\\\>00  GLCN8.HN.<H p@ㇰN+" : >t7':N @R@$7$'A4@aԇ D :H# }>&N|2A 0p@0o:8|AG>(:N80X P&?JADC|U5c\'a {"0p(KA \0`XLwW``'FZ B(#3 L0[x0 7th Kx4P-l 0?v9 f Z%O& ѥ|kh>& #:0 :H)pT)Gs3XNӀXHb4S  G fo($B(H! 00WA,Jq?]f_|Ma@MU%h  8r- <:F4 -RdX @,?0ttN 6|P 'L 0ER%xG3,0Dᰁ5 3cVI`aP?0#~ tWG whu":`3H80 x$ O :|`P /c`Q%>U|0#W=~VhzL*GR>6'Nm`E9y@.%E =SLHSI8@ (M? a<ҩ0}C JJE`@ꧫ`Ρ:_)!S:|XAG`r"(m CTx@-B+ PPoEp<' 'L_N8_p'x^'@pNU@87 a9"h Н&tOpv?arr+h:at{ Kq|PW9ާ'@P8٨( Hcy:/~ce'>3"R8aP'%B8ꇟS x`@$߂t| hD>:`  Ӹl@tvO~ 9!֧< zpt#pЍ"=?J +?p%f`] QP'@d?^a}U9t1F"[%8+ <'M`4S<O4' :T'q#^,F V& `S0(~``gciN?:}ܥ wǰ?~nL*ϴkmQpy8 Qօw ?m}A3F04SxO&"* # GN3#A۰@(]53sg?:xP9.Fp3 ?opN9M\` _C/PY>xBdeL)lUzHvY?2(u$p⿌|kqX!J8'`cw>O1H: >=YotX=w8$i˔Fxn:V`B?0-j1@;o4wAF%`U" xEO|`_T'7 ~Po!'? x mN-+pXq-Gp <{^3B#'i'@Q<8Cl0N`[+#O AgG7`n`1|׀p Q!1ـ@ 8T?rkL6':;[us D9:nqu r]٣T$w;}W#'! ~XPp+ln ͼ!Sr} U0<.XB4֝'Oe ` _NV~ uP@(+ftCޖO?a V Pu"[P;Eiè`0h x`]EAu̹lPt~;3@i { 8!, G&iƃd+ c69&gPSO-<Pw#2b\'˓ivL( "6cD |6W/ `1 P$hwyIs3{ܨsN5'x'KM~p4| \~?%w[l~ l9mG#l[<~#k?Zl|%~Y \~@%'Qct {~ρ@@$n@l0a," ?88;> /O x€Tw >W',ၬ@O÷yj `"OA3toC_',E:XFO{~ w4*MWϻpvg"u_ߏ'ows/n2~?UA`XyTLNG nDžU@ z`0W(! ZǂKC@p-?of>ODDHZ8Q_H`O8A<' (-]x Lf,?L (2#tD?u|x HGi 0X-@?1h%Nj$0ES=t(`K`O1B44UF$xV @+ *Ot@8NuAN5) D > @>/yH@ʐxRp%p D<#'I` N. _0jU@ 4 0 B#MA%dQ|a' D #R@=:#!+hNR8$xWH}K PO $ JyUAGtOK`'H?va1F`:>mtv'G~` , ,r`0 :N[:?(p :p[;Gtp`p0+h  8 > ނ7`Q9Q|F*?8NOKvլ^ 4 (rП<~`'G4 !`V>?|:h7:O/, >`'t$``pDF:a@'0\Bu@*/Wj uɑR@D~`'=3p m()'1BlH |A` zbzA Bx.c>8D#4"|=P'{V1EDo:'c 0 |z@>wp` x\=~ S8"A}c哔@` iB|PC@}̯Y(BhѝLO0P`Bz:p0T>,1’00OgPFb)~cb>ৌ>F '9/ p!тJn7tCb' `pWuomFJCF*El'MJ@꺧*a !ٸ ܁L $uTapqmM ,ɆL 2+#|6^q"4R``BvGUT(΀HEs%P&L)`T (,Bd!.!$g?9#`iyЌ`]PK-Ea8*دB'60(= ~'EqFI\ZA˧X0L"4˦4A`e>PAS[([rAp0`; z= v0P:`\z o4m)A򀄎Y@u_N3P@p ߂Vt~_[[:@  Av c~sC'+8{" Cb%w.@#.<S0pA:H !±9jC+2`RvU5|3Q0|1'@~:XAf1 dGl = > _Rs ;V|`@wEep@\y 8ՠQGް '`:( "pHڰ8P# $ PXe4Xb NEgZ!p 8AՂh?<IE\$8 +- 9`7_%C*@' ax>A08y-~>OAs$@Aǁ=cmyς@vGtd\\ DbPP' 4~ sNNrzr? ;Dj> I |@A7ȟGl | Px41DH 81 fB*|LPN?s"t~PGJ8$M&*H_ybX`\RwN9O ǁ>|2O2=?|'O +y^ wPQ@H@8`#D,|)P]者ד!.ف! !'*|yWp~ߎlt#>wۣ#p,'$o޻~ vApԃ~N/xMn'6p_7@\ub۵oe( ݾ=gv+ ;?o8] B~J  9,m:uT ~^G_B ۝=ux )NVT'NiН*N@Gq Fi_8eoB'N\BB'xnmPN[{m_vgK!P .ov'u 4x "G>=8x o~x ǻ_z۟7 {'ooڷ﷯mP {j$"6~ ~hO=ZO Gs N@'B!l/mA;CaA; +ك|x ͽO`ߠ:@WmA@'}VHln |o}Fv`a ;SWN qAI]+d'`P ϻo p^0pF:[,@@xK%Н  >@ a ߜh A`]P z]#_`@Pn?m?0_NP)O0"(%{PFA*zGNt`P'/Gt (N:a@t6?֗( a 1)hÇ >u/F42Pǁ@]b_W8^< $"IQrN@*pcx< !b;Ϣ:C X $$!DO5A{xnlA +<9;pM~:D{^}#xd'ejfx  ـ{P=\~oׁ>3#`j0PM]`Om]b,N'NGMX0長`' Z(uM7HX>g>9@C0O /P|qz~=LjD:€3MIR 2A'MЀ0 CY}a;WU p B ejOWWEU n|S|$PEN.9{e^:U@J}Ť"SUOƄ'I%$HC9+]z} 'X #p><5 ~"Pt>.0KUyÅ |('p;U4_#/ '$WO@N<HO-yY(: (~û6zi?'?='x  ^~IPQB$~ ߾F_`F?X2T\];! Lz  GBr?ΔF* :@0lpL(lƴ(Oj ڠ J | Mv  $ T(HJ$¥ RvOïZPԡ:7FE k!A?$BvW~u~NH*B?2a2-IޢXw/ H.AQT`'Rr:Xx~М ORD1=7Ӵ[Qp 0DFO B$`! @N'xwx0$ThBt|xX'W Oqp)0BLи&  i! ]n F $)_* $o]dpy8hL?Q5x p>t'RGHpE`':|AG'F= >z@leLK;  @!:?0dR5OD`!A:6t8'Ao p'92}p%v yO]Q0'Hu>( UO ⥀k:D r ٠¼H@Qzu?\< :Oϩi@XuOPDb@NLnJnp1(z[*42x ߰_\d#=! V~aQ. ~_ f`0ʺ<4OwLSvCb`e y |SDAŁ^Fa >@8$cqH3oP:D`fmQ(}A@Io'a')Y0P>\(>KF#?~ =Q=u`Vhyϭ+;?q(Р'Iy~7{Ow@,v|#@!߆>y՟~ qu}:A@|A H<0181I1c!34= uc<@'o uHBy#dquzGp6vKDp((o%?>Eg1tAg:AtB8p*@(O=юɁ)gO'RlenIGB~^U@qǁZ1G Z:!ݐ<a>-k@E$H?\!s yO|Hc+x~ A: AzI@T?SΣ߄5py%XP : OH Z#J-qP>X'TFNR- $ xY,e ++lۑMu IFU}|SD)_ ( ZׄBv( jT+*^pV?? V2UZ= δ`Cp `~XDM2 DڛI}T/Bܟ ~n_ ~ '@kp '#k0Pa5(^T@xJd(OE( 5J+ f4 [ëڃ;x XcĐ:Ô4H i"j>h/ fD8]MO1( X_#BwP'@$L PUxU BP b냇Puo@NzxHʜQd耨p`MpJ<.,tW' "Y Mа=pm_HN߁0v[Y'm)UJn<"\#:78?&vj+((@X8xaZ)$ f@*T^'/Z-PtCV;ƮO0 `-H hNY8pQ=WU;p#"IzF'pHN:kQyct|MBK󫻫@- j[NJ?h|@p ǂV{5U D0 q:0un'@TJDE0#tE>+ B~*0"<?_ @]]WQA%P! OGi J+1@ =_'@=@zb𴪀B ʫ*j~ F Ն wX('+ Db<@p>7A !"b!V"_tpū /U[l An?Ox0˨X`O#p '\;s ;`8, [0 ;ʨ k[?(j0 xrRpN2p8E6@(P Fp@ PNܞX~NebJ=M?vHtx&x'_oR̰  hB?*/fhx_8'ZO4  T'F/| ?!;(PAJ@@~/7€v>VȭDԵ 'X1ǂS[~R (4bu CNkQ@N]0(;EE!:DŽ8?v%6ߕ*XPP!'T~$ ~'(]wƱŪ RNQ D Y@?T'cE=5 t {zӔ ;+Uw{_wtGz! S~UUWO?χt>ݕoyBk㡝v<<ý zo]Ɣ Steen, Amsterdam. -=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=- Jan van der Steen, CWI the Netherlands jansteen@cwi.nl (or uunet!mcvax!jansteen) -=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=- fA+"Q8Nwc=ݎ k > 񯂀] 'WTϮq=I  u:'R;u}\D6J?°'Rjp``@O@y# 'P? (ON@&:0>=<Wa;3)( ғTA<:q)d)@yOR=!0 |D@< ' A|c g8N 'vϼIPQBrU&: y@'k>o(ڄ P(( : 0?h1Qa~ @EBmx9Bp~0(Mu f@2]e@'@B$x:(?+08? &:>'>pPy=NƋe NН@o (N/p_UA>FM>'d'PnCtb 4}? ?9~n q^R?ØA'u@OAVC(A:T}@GOT@Cp"S2L'Za` vC&m$`d}x2c ( :{v9}@% }d /y>h'GN'$ p8yA- |dzU M *00 @"@A=5YO|Xo)=VT x I񷿼 ~@" 4!=nvݴN'Z(N:aU( Єm(^`@'J wP @IW>}>+U_t|`B~ <R+L  p8)^@pO U_> q/*>Q=޾?'t:y(xtU*/~Ư'pA{`:E,# dK N +(&ta'G?'GN߁| !\  P@,n"5yx[a ^O92AF$t ܇vZ> ><S[]#-= A?@H :C0|(x 89paB7~٘|C`R'4*M> Oz=Oˁ@O„- 1 sʪ>(w/| 2 Hn8o ]e !# ]x/`IGx< tuO%pQXGXq[% ( $r@ *3d  SB2eNANwNĬ}'u)S2>}@O9{{#phZ" *W7`p/x'W9ލ߯$NtpSN%t_ؗ_ WTK\ ^Z=ΐ> T]WMXOܡ8F9'`<*1@N >$W 8 @XS8PSp'pe?ς$ً?`}Q}U@NP>"@l } v@'Gk`O?PK0PON`Ot'G"@~' ?n ~POGtAr= ~@'F`nw cPvQ97@xN'[ NN1@?OoRGAa:t6NY?A;s@I I"_ƌn Y'^Н ^( NPuvݾ:B "B~'XBt_~)kr~ > $+#s!''Y@]8 Op`PT: o=-IN7!0O N_`o|d'?|@I!5~|([v")B $/s0OBàhNx'7;F? 0x'W'D\%@a:oַ?> |2 qt &8 6' ߾2=O΄tn+'D|~C|GA~ oߣI#N?` 3> U u P߆y?8N`&Ӿ< { sh'ByPjO}> |!=x1W.Ģ e^>xD1BYhO3?  z~/?7C78 ^=~gE&> &g lB>|vu|}0O|:E0o%)&=p?E_wocuwl' p1([0z{h0 %0xx{W??E6 9o |FD"E•U@8'3O` hP W31x+ `8R*|ON=AD)0*Pr ( z{n ҜuR;}m=@NRKG>鞬8kjx/KOӞy 3.߯A01A`]ByO*_rLp?pw{ `BqV7п[R*vV~`@;k7@2L{ W Xv~L GMsh.s蟃:C38T0':sUd Ԏ ۸|A=O_ڟ^x(]?p gGM$,8@>,OB HD5~ߘ5ޟzq0 , 8 '(RZ$ @uuO_v:'ʼ@` =z=ix#ƞ?h N|p=unҀ;:?N܅]Dg ꟡xӁ|v#0)eÊOH/"( Y~} m ( hs N6v@w ty@ B~tvA t|; l`Q=DT~`@'Bu?3z0@@:Q'@zN"oyi#'p'Itnz>< b::yC q!m:F'K'} T'oG8`::Q=?? @y@2ż ': O0%GJ zH1?́{ V lPOG>]gϘe":*? . 'z7'L;x1mւ?*S#HE? 5L ~OO( ?@d`l &'~O~`> ~ ONN@ >;+P @ ~`}?6ǔO@D༿W: OJD૿ǀ !#4p&7'JޠT mڋx`PtՊx'ta (/C/p"#  'J½)(8?a|i@CUNs@ 0??!2n|EEH`?τA:X , 8byH\@o* #@%8P~y8'jD f/Ѓ E3<pRX !Nz2H`( = O$ςt+H ȐETX@&?@'Uu> ! !?ل X2'C "H@? ͠ (N $,:@h>OH?̼ vUMx ϐX',į:wOt) B@'8 Y''I x< e+7& @s$HxA Nƶ ?^?O+^{ YW"O~ǃc$W|$S>a-:SG( `'WtzO#;1:'K0 YARB|C8 P"N<FE?:fp( _=zjʡCu`̀KǔFp8GTWF)8)i! G3S4 \|q7DF F,6vp/PA@9< $@XL9ct<2tS< 4 6,xD#%߿Qʺx/§ N&1ps_{@ x4nD??%{7(!yB N,;NGAu?L1FH A:uZI0GG;A<_ѣBv鿾 ># 4|'bl|ٿ\ ~RBT)k  A:u/NB~ I'r@NP'Q07` u;,/#'@ xN~w5z0P"H'NA A#Z-{ СP-' A: xT'B=aDx'=vWZhO;p& A0 ; `~$ q]I T,);D@;8v `O*: Hߐ:BtPbzpq@ P`@wm 7`$ u ݷ$T LA @. Oc  1NL @p ڃ 'CNp:0F :0`㿻 '#l HuA O1 Xp /`#f #=֟~O'`@ ԇ @'C& ~6 OY #ݝ|p`A`0xx0 _(-`P'(zLlD> 9 LA'$!<S%@N`v)' ŃwrM0p`P4Oi  gP 1t NxOwˇ@ 8;KH #5V̂| Ao| z )R| 0 XC N=0;Ӣ =`O$ R@c4'T `f0M|2@zP>8 )P = с@Aqm`:`  ' | L8 tA=3Ќ >F"PLN}Qk <c_Bt2YN&0 ۸ &Н `|/:v$Q>W' P$f6_C ӻp{9߉>~L(|88B{Ѱ8YL9Nq$ U~.0@₀ Ar\:@v@О@hNqO `NEu*|>T;c KK@B!W00~  տA?LEҠP!pqU8>;2'^co@G?x@PLA'0TA 'AmRfGWsrPN A:3"re |'B089]0g  _+}T(@4ANLo~@v ?ǁ y@'F@O4;/HJ5_THE78#peZ $  ]t}7w܀=wНUJexOW?'t PĪ0T4|AVo莁1?J1BH(:BϹ`@t`'RT=VB0"d$ a2 P:ʀ2( ?Dxu]k@x)gA@>@!T @Y}>@|*: /VW )!j e:.1 Xv !OǷDB0`@gW@-HG0U q  G *A$pҁj=tsDl  UWPoMFN4 P'P e N  ?nߦBu~lꞪ @uX)6x'E NbrN`'`pH_-;@ Q'WK:'WDtOb쀼GV0@@b(* 6;?abZ EPRt`KG`:pp y  8XpO :Ct0 xƒA<$|D@CyLO_``@J?~œ0Bu8 诐pA8JNPnpHNŠ{ rP㞧߈!-t' 4 'B f9pQA~fO}/n~Bu?#;@$J$ .p@۠??~vn|6J  "8zn࠿R0 ]'G4 $# 'x?~'P| EtCt~j'3 QxR$`Нay<!ߠC:N@ċX@ RA: xvDV pX'GNNOM0@!:Iuc O(?A?fK'F p(J"~,`P'0(*Ez@P{+NPBz:?0]_NLNB$ x.w?xBxXdK9|xp],/*>08%Ni88A=NDx:>8@'#'CPk Ԫ8Yp(BtX@p|" :@dcН8 Ϯ.0@9cvv/NN< Px: ;!" ԯR't?:LP~)7'L'GGN @(:@O<@ @==?HtrP' >-&H/KNA:(Ŀ= j<%wP'ta@~ p(ȹ>; ;J@'t|?ߝ _0> p^N]]@u P@'$A >e/@?lr>E3p(H>$7 7o o7 o7 ꂿA]<. H %8Cc=j@PぴT` ; Ph p^C3a>,IqGVZ R ?`ARJ-8  aG(;P9a#uZ@Ɔ %B?Cth`6 QPð =T1/M'azd$LCJP$L%$ @:rtP)/1сia |EQX}OQ==t/Nǂ qS4-fT7Pdd#2"ӀU xpE$ t2:ze(1Ј(@`f-tJ%$|`*\)Rb6T86U{PS u;,@}',"@zA4A`@c3#j՜ )CV h#(^L|(g:+R@ Kg.w#- *D0PU:[,JәF`'p>9W#P4PNcVa@%BT0 i 6@B|)8-KMO3TiWHn(q6;Zc5=8Ё6CP PN< +Q+lAp@ ` xF!`II~ hAΰ @*<‚ai\*,p8N8`z Ag9 ̣  & 8H("3N,g:[7p :!ux$Q@ `fsE f@3Am[K@.:0P9 80  TgRmFCX́)JHΔhS;`@ Q-KP98j5-!͠shXH}LQJE3|ϟ9JT`@ WD@Ȧb6mҠs@0@  oA4VY8)EP(8ecZt ЬvИ) ngPUe<0_"@P7nIHͰ GUjNT5ANsN }&&E@#HAm-NoPFu0@.pP'y (@ 4)0h #4 hMP&0 rf@ @hL4y0#0t0 $z H`s<@<a``VBw28Pb%%E!8CKztMy2X0m(i8C&ƧfUL?pP1(d !ć8 IC,І -#l p # rzBݙQ\,CCUIKUZB୭JL6KE+ktrA BU2t &<M:@)aN@lkkcayg8f -QhbC`JThhA+;zkk@TR' % $ AU4B" 4KlxeĻ4܅32ȭG(o,c!ؗ8 paI کK[(ԹcV`5)CЖ?/ RކfoP7W9.N ,d .nMn0D5h&CpI-DV cK +c e ic092:@;CDR *X<4RV$wilmerG nihpaOscB@KP,*H hd Hh`7n%գH'J)$O0Fs U(IFCE&e@ ;U.M]Vd(fXKg*AIP+:| U53nk  t Ng+*mRH 0&56(Ea@ TPSH N  A :G*P -२B'xM0 8)@j,07't@t 0=t0p0IO 0_ QAhf8ВIQ&T@P( /N@P0 iTJ%"5 LQ& r ͐6m#!HcA;Ɋ!hJ@ Pǡ4 7:@ 5h)63 Hv @KE#uBꋨ1G%:0G;O CxH&T`F*PhLB1&T}Xh EA@=!]& 3ʀ;i$fgt(G::4 P+1;0@)r G3*WugJc@E00)QPQGBU (VZQ +E@ 9hzAR`@ @KF4LPFf8``@#LDށd\d&j-XUz|#mN 6`@5@gA(6 z7pĚ˜` @9hzARoZm5\3% ,B4g%P`HoC ) .Tw? 04@ r!@ %ŀm H mJQ) h> PaT(~\&f2()nV+( Ev@ ~R^V mBDvȿа 3G$rkG4PAEX C 4R@-(CGjz\A;$APQ5@H15zS08*_4] 7j 4 1kfJɒre`RC\F.SXPA(.6Ҽfі=">z!( @HLfÄi@6?R:,PVP5@T{ S\T2)/$%jX04XvT%O#  D}H@ "@'gR`rD (P\B֎$%'$"|E@PԠ=D` f8uRPQp=@&.`@ BK7F^Px0|ᗁ, $"R' "`.JHID2P%!Chjp1ĠX\>֥h@΂ <肾~nOQ "/b`+3%&5`W :vX!"@Hou,- @ZVf/c %su uN Qu* _O (8+<$#(shk`@A PA0 q㦊 bu!L 2@J@8@PGau!@:UڐPЌh! IH`RBBDBlAD Av ˜/L@8YPN= b" E v6@Np ]) R{ВxI)t":.5 s.` G`u]8PAhL`L 6 XcRAS #n*hJϐؔdx #Q=6PXף*  (zXG5P" J0 PyxHlpyx^l zwnROFl`@U\܀ (2hW4hRΔk0:lsQ(R4r|JDI ̀}`nH SYYOR_BDTZ`MA`@DT<|]fJ:`BGjTi$HZKPTV~l Zz0`Ru9D4$MQ#)@? Ђ($P*TSx*VQQ ,XChGAe #T`6P(GT(Pm9JQ݃9Ё&RRQT8 'bP9T@CT:HmM й Ł-4*  O*tiC6`N!E@*0 {p S L "L&* M|Z@0` :(v\CcHڠ-`J>@ I#Atj[99Y9YY0 A֬uRL I%HЂ]^Qբ<#91۔@&@L(`PA^ THD `ip +*H; F0 ~ l:C|ӥ'XC8&9>Gi&R )b@A S' H D#p0,8$]Rm 8fldI8&R-&A2) á2)RF> `q& CP5;ԉ<0,LD ~LH 0V0Ig ` NFaF TF@tbC'o# X:1S/|`=Q`H2 6Zo[eZNH :20RcDx5p}ODF `:v32p##:V;ETC$R(xچ:BK j4ơBoJ7B3 T ZY@t[<SDa"$J"3xpUY iarX+zh60 /$:1=jiUX2eF9eXE&p,x 4!LQN5: I>7)@-nJՀFNru2(H>@8PG{bC郠Eh_g0@&a8`& `SJ4 >-;@ i/P O~`^o7 Yaߡ2LP$0 ltIF:蔌.k G#k`EX 0fS k0s(i: T e0x S4M z ##C ӤjԔ$ N3QHf=~'' K$挥/^X($]*Qm`TϏ$^0 SEdȀ @  H E*U$*At@ P55* :(4@@;)Ġ>EAgw6`(,ӂ 3)ADAp#I@,NhXUhA Պdp Uyf@ff`هhdXx \@-H dLp RAp 5 ZLڀ20ŅԄ  0 BDIzB3`@CF`@I\WKl .ʁ+IwCwQw40hx*Qꀩz KH)M $˅Zˢ$2B,jPnf"1څѥ؈=j0 ;0 ( 0  A @`@!6M!@ ˄MC ]x@ҀfD~ B+M(H 4a@@ZaDdA@m4@A`eN/D T)XNG(ї0 Ԟ)LJA%s^ـ Q'zաc zp9E PVF܁\| U aP:<^Im&PbYSXg?E ew Z4+pI4+#@@X00ZF?iA)@Rp03F 0S$@4SE1x"?0X2G\^p(w)', /XH$ d8 o7 3AU`/ WT@@,45 :YEXR}< gŞŗ]h'B-^/PoD> WHZ1D'8 ^\9Ё`Do=jO ẛM2OU 8 БLn.5-F\7LmC( <)_.`F&N@Lj@nT%M@BD XNe_/>7u|/pJ&1DSn U_ @*4%jH@ќ.0-'EH'D?.pps<R{  '?CxH[5 4΁ 8/ e8"lD!P8 $AW`'@`MP~ ЏH&$p8'*G5T`nEk pU;@CePXX4hbƅ"#CYQw1X;8,; I4l?.?|-ş/nhG=x  `CMt oP:!2ea9$jFP@!@! MާjkNv7 l:i>ZpC 8ѩ@x\=[X]jSSoe8њ\  > dz +Gp`b\a8A\ xNDJm*lO-Y~8:䧂F-eQs8`qP#08j'QyaLEp?X(o#)𑢙OG pR="]8+ ӮtjSN:>0Op8W|9tWb\R;pYE ഀ A[2Dp@a<8)'VlpVyN Z@4 J(Cp x y\_08\"G`HpdA 8]46C~NC$mp Z/ p8V)Et%6<n`7NDF+R4XycW ~,)?  ,|U+pRži'x3@F`a. -lT_nWt .GR10Q_0@82Aé`"z.p4USE@?S='p0̮ 3$$/I_<J0(JpYz`tU6`` Xtc9AjpDHct9gR@ -D*T=3XnX-~ SO_s8Edh<$x<M\ ^Ѵk8 MʂB&4&G)<8@6 t(4LsABX#XWp(3Svc6Q(k*zj8#IG8PIZb/@ADH`T&,ah7jNZi0(" O FSQ楸LJ`@Q4C A/FG8@DPCG$ @l9qs0B @HаHO`5\I(\T J UhƹLDhJ,`@80pK q\ *> 8 nwf5{O )ܐ^uZo ȟs,.?rߢ!bL^qVW0,SX1PS8)= O Yߥ~Oq9WJ <(`cDb/B"!"8p0}= Į$ Zw]p  /s"̎h p8A`xG@d$ySiSP @$B6 4`@cF t7 eG8<MT \a cN4|( a@NXtC'8`), 4Ӹ(B F8 HaxJa}iU2DSOP@4S`PI OZj!4: NTl'2MQ?Ħ`.KVOun"SEkuN|UY47@h4?h: 7 1 G0 0ЈӍ 肄 ai¡ӥ 2. 741@c*!4Dhz߀4 pР`B*(&FK aA Oj@jsJi PPEbN@* 4Ґ^r@t: @"ѷ0F:`> 8D3 U >h_j"(4#а \K \` XB 0c;r/ #s 08(ecitarT kc  X)h%mup `@eFCk u}؄gU H N$=$-4$,:H>+ ETi`@#ƀ: F:<@m@*FUNGUS*J:I&΢MISTAKES(ؠ:::> ~~~~~~~~~~~~~~~~~~~~ Show Mistake ~~~~~~~~~~~~~~~~~~~~*!C()6J,YPOS:(CHECK$,J,)* !C()8 ~~~~~~~~~~~~~~~~~~~~ Mistake ~~~~~~~~~~~~~~~~~~~~(:F2!C():,: Mistakes :(MISTAKES)BP ~~~~~~~~~~~~~~~~~~~~ Select lesson ~~~~~~~~~~~~~~~~~~~~RZ LSSN_LOAD񸣚 :`B?< NAOAC <q"QN1@A?</?<=NAPOJkhAj0/</<1??<?NAO JkDAF??<>NAXOJk0F'AC <M&Rx@"QACaNRx@`a:\sAFD 1990!! <*FUN" ~~~~~~~~~~~~~~~~~~~~ Select music ~~~~~~~~~~~~~~~~~~~~tXPOS:YPOS:WIDTH":HEIGHT:TTLE$ Select music: "Ҝ :!C()NܝI :TEXT$:,I:TEXT$:IB!C():,:Select music [ 0 to 22 ] ,:> ^XPOS:YPOS:TEXTMAX: :NUM(TEXT$)&NUMNUM6TUNENUM:NUM: *"TUNETUNE,>6 ~~~~~~~~~~~~~~~~~~~~ Load Document ~~~~~~~~~~~~~~~~~~~~,@!C()::TEXT$HJTEXT$(*.DOC, Select document to load,)4T::(,,)SCR$::*^TEXT$rh&rTEXT$(TEXT$,)B|TEXT$FILE$TEXT$:8$NUM: :< ~~~~~~~~~~~~~~~~~~~~ Load lesson ~~~~~~~~~~~~~~~~~~~~,!C()::TEXT$FTEXT$(\*.LSN, Select Lesson to Load,)4::(,,)SCR$::*TEXT$‹&TEXT$(TEXT$,)B֢TEXT$FILE$TEXT$: > ~~~~~~~~~~~~~~~~~~~~ Set key speed ~~~~~~~~~~~~~~~~~~~~vXPOS:YPOS:WIDTH:HEIGHT:TTLE$ Set Key Speed: <,:!C():Select key speedZ,:!C():[ 1 and 50, current(KY_SPEED) ].,:!C():> ^&XPOS:YPOS:TEXTMAX: :NUM(TEXT$)&0NUMNUM2<:KY_SPEEDNUM:KY_SPEED,KY_DELAY"DNUM: N>X ~~~~~~~~~~~~~~~~~~~~ Set key delay ~~~~~~~~~~~~~~~~~~~~vbXPOS:YPOS:WIDTH:HEIGHT:TTLE$ Set Key Delay: <l,:!C():Select key delayZv,:!C():[ 1 and 50, current(KY_DELAY) ].,:!C():> ^XPOS:YPOS:TEXTMAX: :NUM(TEXT$)&NUMNUM2<KY_DELAYNUM:KY_SPEED,KY_DELAY"NUM: @Ɗ ~~~~~~~~~~~~~~~~~~~~ Keyboard tester ~~~~~~~~~~~~~~~~~~~~>Р:!C()::Keyboard Testerڠ:!C()䠜:: `,?(700,5)(600,5)(500,5)(400,5)(300,5)(400,5)(500,5)(600,5)(700,5)I0:(KY_BOARD(I,),(KY_BOARD(I,):(KY_BOARD$,I,):I ^ CHR,XPOS,YPOS:CHRXPOS,YPOS:(CHR)CHR2 , :: SPACE :,*:: STRT_TIME:COUNT44::::: -- Get ready --V>KYB$KY_BOARD$:NUM_KEYS:LIVES:GOOD,H:NUM_KEYS:!C()DR,:Keys : ;:##;NUM_KEYS;/20,\,:Lives : ;LIVESnfKYB((KYB$)):KY_BOARD(KY_BOARD$,(KYB$,KYB,))Vp!C():!C()!C():!C()tz(KY_BOARD(KY_BOARD,),(KY_BOARD(KY_BOARD,):(KY_BOARD$,KY_BOARD,)<:KY$:KY$:KY(KY$)>KYaKYzKYKY b((KYB$,KYB,))KY:GOODLIVES:RKYB$(KYB$,KYB)(KYB$,(KYB$)KYB)$!C():!C()t(KY_BOARD(KY_BOARD,),(KY_BOARD(KY_BOARD,):(KY_BOARD$,KY_BOARD,)>LIVESNUM_KEYS: FINAL_TIMEDʠ::::TUNETUNEpXPOS:YPOS:WIDTH:HEIGHT :TTLE$Results: ޫ!C():,:Number correct ;:!C()::;:!C():GOOD;/;NUM_KEYSETIME#( FINAL_TIME STRT_TIME)2 :4Vx:IKY_SPEED#NUM_KEYSETIME#: -- Calculate key speed --NUM_KEYSSCREDNUM#NUM_KEYS:TIME(,(ETIME#)):SCRE(J4VxGOODDNUM#)(TIMEGOODDNUM#),SCRE'SCRE'j ,: Total time ;:!C()::;:!C():ETIME#; secs.l ,:Speed ;:!C()::;:!C():IKY_SPEED#; keys/sec.V ,:Score ;:!C()::;:!C():SCREr $SCRE(HISC$()):,:Press any key to continue::w. .:NUM:  8::: B: L ~~~~~~~~~~~~~~~~~~~~ Main Menu ~~~~~~~~~~~~~~~~~~~~ V b:. `::KY$:KY$( jKY$1KY$7" tNUM:  ~OPTION(KY$)T OPTIONOPTION,|,,,,  > ~~~~~~~~~~~~~~~~~~~~ Options Menu ~~~~~~~~~~~~~~~~~~~~ : :. ::KY$:KY$( KY$1KY$7" NUM:  OPTION(KY$)T آOPTIONOPTIONP,,6,,,X OPTION OPTION:> ~~~~~~~~~~~~~~~~~~~~ Screen Setup ~~~~~~~~~~~~~~~~~~~~l q::FONT:XPOSFONT:XPOS ::SCR SCR,:~ ,XPOS,,(,,,FONT:::,XPOS, ,(,,,FONT::* (:q: 2 <q,,w,f,U,D,3,",,,p,P,,,p,P,w:#< Fq,,w,,:#4 PSCR$(,,,) ZB d ~~~~~~~~~~~~~~~~~~~~ Read/Display Menu ~~~~~~~~~~~~~~~~~~~~& nOPTION:, x:TEXT$ TEXT$*TEXT$!C( ):OPTION;: ;:!C():TEXT$:OPTION TEXT$*. !C():Select an option: > ~~~~~~~~~~~~~~~~~~~~ Delete window ~~~~~~~~~~~~~~~~~~~~ num= window to delete< :NUM:(,,)SCR$:: ȋB Ҋ ~~~~~~~~~~~~~~~~~~~~ Initialize window ~~~~~~~~~~~~~~~~~~~~: ܢFONTFONT. XPOSXPOS !C():,XPOS,YPOS,WIDTH,HEIGHT,,FONT:TTLE$!C( ): TTLE$  :::>  ~~~~~~~~~~~~~~~~~~~~ Input routine ~~~~~~~~~~~~~~~~~~~~` ,?(700,5)(600,5)(500,5)(400,5)(300,5)(400,5)(500,5)(600,5)(700,5)d QUIT:FINISH:TEXT$:XPOS,YPOS:!C():_ "( ,:KY$:KY$" 6TEXTLEN(TEXT$)| @KY$()KY$()TEXTLENTEXT$(TEXT$,TEXTLEN):TEXTLEN, JKY$( )FINISH* TKY$()QUITD ^TEXTLENTEXTMAX:KY$:FINISHV h(CHAR_OK$,KY$)TEXT$TEXT$KY$:TEXTLENR rXPOS,YPOS:!C():TEXT$;:!C():_  |FINISHQUITf TEXTLENTEXTMAXTEXT$TEXT$((),TEXTMAXTEXTLEN)@ XPOS,YPOS:!C():TEXT$;  < ~~~~~~~~~~~~~~~~~~~~ Count words ~~~~~~~~~~~~~~~~~~~~J TEXT$TEXT$ :NUM_WRDS:STRT b A$(TEXT$,STRT,):A$ A$()NUM_WRDS: STRT(TEXT$, ,STRT) քSTRT(TEXT$) B ~~~~~~~~~~~~~~~~~~~~ Load lesson data ~~~~~~~~~~~~~~~~~~~~ XPOS:YPOS:WIDTH:HEIGHT:TTLE$: ::,:Please wait. Loading data. #,FILE$B #,ID$:ID$lssndata D #, NUM_LSSNS( I NUM_LSSNS\ &#,$LSSN(I,),$LSSN(I,): -- accuracy and speed --N 0J:#,LSSN$(I,J):JH :I: LSSN_LOAD:DOC_LOAD: STRT_LSSN D#" NNUM:  XB b ~~~~~~~~~~~~~~~~~~~~ Display Main Menu ~~~~~~~~~~~~~~~~~~~~r lXPOS :YPOS:WIDTH:HEIGHT:TTLE$ Main Menu:  v : d D ~~~~~~~~~~~~~~~~~~~~ Display Option Menu ~~~~~~~~~~~~~~~~~~~~t XPOS :YPOS:WIDTH:HEIGHT:TTLE$ Options Menu:  : d B ~~~~~~~~~~~~~~~~~~~~ Main Menu Options ~~~~~~~~~~~~~~~~~~~~ Start lesson,Practice typing,Type a document, Keyboard test,,Credits,Options,,Exit,*D Ɗ ~~~~~~~~~~~~~~~~~~~~ Option Menu Options ~~~~~~~~~~~~~~~~~~~~ Р Select lesson, Select music,, Load document, Load lessons,, Set key speed, Set key delay,, Main Menu,*6 ڊ ~~~~~~~~~~~~~~~~~~~~ Music ~~~~~~~~~~~~~~~~~~~~t 䠦 0 : None, 1 - 3 : The Entertainer, 4 - 6 : Martian Star, 7 - 9 : Hungarian Dance No.4F 10 - 12 : Greensleeves, 13 : Cuomo, 14 : TremoloD 15 : Funky Bit,16 : Still here!, 17 : Waiting>  18 : Ready ?, 19 : Movin', 20 : Chinkles0 21 : String Trio, 22 : Rondeau>  ~~~~~~~~~~~~~~~~~~~~ Keyboard data ~~~~~~~~~~~~~~~~~~~~ ,,,,,,,,,,,,,,,,,,,,,,,,,, ,,, *, ,,, ,,,,,,,,,,,,,,,,,,,,,, ,,, ,,,< 4 ~~~~~~~~~~~~~~~~~~~~ Colour data ~~~~~~~~~~~~~~~~~~~~h >,,,,,,,,, , , , , ,,h H,,,,,,,,,,,,,,,h R,,,,,,,,,,,,,,,@ \ ~~~~~~~~~~~~~~~~~~~~ Set up keyboard ~~~~~~~~~~~~~~~~~~~~L fKY_BOARD$01234567890-=`QWERTYUIOP[]ASDFGHJKL;'\ZXCVBNM,./# pI :(KY_BOARD(I,)I:(KY_BOARD(I,):I:I:(KY_BOARD(I,)I:(KY_BOARD(I,):I zI$:(KY_BOARD(I,)I-:(KY_BOARD(I,):I:I%/:(KY_BOARD(I,)ID:(KY_BOARD(I,):IJ (KY_BOARD(0,) :(KY_BOARD(0,) B ~~~~~~~~~~~~~~~~~~~~ Lesson not loaded ~~~~~~~~~~~~~~~~~~~~t XPOS:YPOS:WIDTH :HEIGHT :TTLE$ Start lesson: F ,:!C():Sorry. No lesson in memory.B ,:!C():Select Load lesson from* ,:the Options menu.H ʩ,:!C():Press any key to continue.:w" NUM:  ދD ~~~~~~~~~~~~~~~~~~~~ Document not loaded ~~~~~~~~~~~~~~~~~~~~x XPOS:YPOS:WIDTH":HEIGHT :TTLE$Type a document: H ,:!C():Sorry. No document in memory.D,:!C():Select Load document from*,:the Options menu.H,:!C():Press any key to continue.:w"$NUM: .>8 ~~~~~~~~~~~~~~~~~~~~ Load document ~~~~~~~~~~~~~~~~~~~~BXPOS:YPOS:WIDTH:HEIGHT:TTLE$: ::,:Please wait. Loading Data.PLDAT$:#,FILE$:DAT$(#,):#.V:,:Checking document.`DAT(DAT$):DOC$DjLSTCHRCHR:CHR((DAT$,I,))tIDAT:(DAT$,I,)[...DOC$:LSTCHR:I(DAT$,( ),(DAT$,],I)): -- Skip 1st word ruler --D~LSTCHRCHR:CHR((DAT$,I,))>(CHR CHR~)CHR `CHR (CHR LSTCHR )DOC$DOC$(CHR)`(DATI) ,:####;(DATI) .()IDAT I@ ~~~~~~~~~~~~~~~~~~~~ Create lessons ~~~~~~~~~~~~~~~~~~~~,Ġ::,: Please wait.>COUNT:LSSN:DAT(DOC$) ؟J$LSSN(LSSN,)K:$LSSN(LSSN,) Ih(DATCOUNT) ,:####;(DATCOUNT) TEXT$(DOC$,COUNT,$):TEXT$COUNTDATTEXT$Typing Tutor by Richard Gale ` (TEXT$,) (TEXT$, )(TEXT$)$d^:(TEXT$,) TEXT$(TEXT$,(TEXT$))"(TEXT$,) \(LSSN$(LSSN,I)TEXT$:COUNTCOUNT(TEXT$) 2I<LSSN*FLSSNdCOUNTDATJP NUM_LSSNSLSSN:DOC_LOAD: LSSN_LOADZ:d ~~~~~~~~~~~~~~~~~~~~ Word wrap ~~~~~~~~~~~~~~~~~~~~4nSPACE(TEXT$)xx(TEXT$,SPACE,) TEXT$(TEXT$,SPACE)SPACESPACE> ~~~~~~~~~~~~~~~~~~~~ Hiscore init ~~~~~~~~~~~~~~~~~~~~NI:HISC$(I) 0100 Mandarin:I< ~~~~~~~~~~~~~~~~~~~~ Got hiscore ~~~~~~~~~~~~~~~~~~~~^,:!C():Enter your name:,:(.,):FXPOS:YPOS :TEXTMAX: &SCRE$(SCRE) <SCRE$(0,(SCRE$))SCRE$NHISC$()SCRE$ TEXT$:HISC$()> ~~~~~~~~~~~~~~~~~~~~ Show hiscore ~~~~~~~~~~~~~~~~~~~~,:!C( ): Hiscores @,:!C():Todays hiscores are :-jI:!C(I):,I:HISC$(I):IJ"!C():, :Press any key to continue.::w,IW ^lN #&~')*+v,r-*/:0tEntrtainEntrtainEntrtainMartian Martian Martian Dance #4Dance #4Dance #4GreenslvGreenslvGreenslvCuomo TremolosFunkyBitStilHereWaiting Ready? Movin' ChinklesStrgTrioRondeau ci2T\d  ddd 0?A=:<8351.0,?A=:<:98D345=5=5==?@A=?A<?=345=5=5=:87:=A?=:?345=5=5==?@A=?A<?==?A=?A=?=A=?A=?=A=?A<?=ABCDFDABCDFDA=8:<=?A?=?=878=:=:=:8=ADA=8:=A?= ,11**1,111**++,,11**1,11116618111116616611381  55..5 05 55.... 0  55..5 0555..5 055555..5.. 5 5* 05ci<TXd  dddddd0?A=:<8351.0,?A=:<:98D345=5=5==?@A=?A<?=345=5=5=:87:=A?=:?345=5=5==?@A=?A<?==?A=?A=?=A=?A=?=A=?A<?=ABCDFDABCDFDA=8:<=?A?=?=878=:=:=:8=ADA=8:=A?= ,11**1,111**++,,11**1,11116618111116616611381  55..5 05 55.... 0  55..5 0555..5 055555..5.. 5 5* 05ci<0d4d2  ?A=:<8351.0,?A=:<:98D345=5=5==?@A=?A<?=345=5=5=:87:=A?=:?345=5=5==?@A=?A<?==?A=?A=?=A=?A=?=A=?A<?=ABCDFDABCDFDA=8:<=?A?=?=878=:=:=:8=ADA=8:=A?= ,11**1,111**++,,11**1,11116618111116616611381  55..5 05 55.... 0  55..5 0555..5 055555..5.. 5 5* 05ci<Td~d  ddd 0==DDFFDBBAA??=8==DDFFDIIGDB>=;864==DDFFDBBAA??=8==DDFFDIIGDB>=;864581581445BB6BB6AA5AA5??3?=1581581445BB6BB6AA5AA5??3?=BBAA??=I ,,,,.,,,**,,*)),,,,.,,,,,,,.,,,**,,*)),,,,.,,,,,,,.,,))),,,,.,,))) %$" %%  %%  %%$" %% %$" %%  %%  %%$" %% %$" % %$" % ci7T`zd  dddddd0==DDFFDBBAA??=8==DDFFDIIGDB>=;864==DDFFDBBAA??=8==DDFFDIIGDB>=;864581581445BB6BB6AA5AA5??3?=1581581445BB6BB6AA5AA5??3?=BBAA??=I ,,,,.,,,**,,*)),,,,.,,,,,,,.,,,**,,*)),,,,.,,,,,,,.,,))),,,,.,,))) %$" %%  %%  %%$" %% %$" %%  %%  %%$" %% %$" % %$" % ci<T`zd  d2 0==DDFFDBBAA??=8==DDFFDIIGDB>=;864==DDFFDBBAA??=8==DDFFDIIGDB>=;864581581445BB6BB6AA5AA5??3?=1581581445BB6BB6AA5AA5??3?=BBAA??=I ,,,,.,,,**,,*)),,,,.,,,,,,,.,,,**,,*)),,,,.,,,,,,,.,,))),,,,.,,))) %$" %%  %%  %%$" %% %$" %%  %%  %%$" %% %$" % %$" % ciPT0d  ddd 0:;:B:;:8:;:A:;:6653:653;;:86:5:3?1135665686568656?=;:8878:878:878=8=;::9:;:9:;:9:;865332353253 ./.6./.,./.5./.*')*....////......3100113333331111113332333 " ""ciFT,d  dddddd0:;:B:;:8:;:A:;:6653:653;;:86:5:3?1135665686568656?=;:8878:878:878=8=;::9:;:9:;:9:;865332353253 ./.6./.,./.5./.*')*....////......3100113333331111113332333 " ""ciFT,d  d2 0:;:B:;:8:;:A:;:6653:653;;:86:5:3?1135665686568656?=;:8878:878:878=8=;::9:;:9:;:9:;865332353253 ./.6./.,./.5./.*')*....////......3100113333331111113332333 " ""ci<Td  ddd 0368:;:851356332352.368:;:85135653202333==<:851356332352.==<:8513565320233 * ) ' & * )'& ' * ) ' & * )'& '   # "  #"   %  "  %" ci<Td  dddddd0368:;:851356332352.368:;:85135653202333==<:851356332352.==<:8513565320233 * ) ' & * )'& ' * ) ' & * )'& '   # "  #"   %  "  %" ci<Td  d2 0368:;:851356332352.368:;:85135653202333==<:851356332352.==<:8513565320233 * ) ' & * )'& ' * ) ' & * )'& '   # "  #"   %  "  %"ciD0Ld   :=BDFGF ::=BDFGFDFDC?ACDFGHC<:9FA=<:86653568:8:<8%,*('%*('%#%'('*('(%,*('%*('%#%'('*('(('%'('%,-*(*'%113431/1.//.,./,.,./0113431/1./.,)*,* V*,.16865653.0.,.,+(+))%.)+)''%013565683 ../1/.,.*,,*)*,)*)*,-../1/.,.*,*)%')%  %"')+,+)+)(+($%'%$  %,*('%%% %$#%% "%$%"" #%ci"TtBd   :=BDFGFddd ^0:=BDFGFDFDC?ACDFGHC<:9FA=<:86653568:8:<8%,*('%*('%#%'('*('(%,*('%*('%#%'('*('(('%'('%,-*(*'%113431/1.//.,./,.,./0113431/1./.,)*,* ~0*,.16865653.0.,.,+(+))%.)+)''%013565683 ../1/.,.*,,*)*,)*)*,-../1/.,.*,*)%')% L0%"')+,+)+)(+($%'%$  %,*('%%% %$#%% "%$%"" #%ci"Td2d ^0668665668653033533133531"ci,xDd2 d222 "%%"%%"%"%%"%%"%"%%"%%"%"%%"%%"%"%%"%%"%"%%"%%"%"%%"%%"% '' '' ' '' '' ' '' '' '"%%"%%"%"%%"%%"%0TX:<= A:<=A?=?A ::<= ?:<=?=<=? :0:<= A:<=A?=?A ::<= ?:<=?=<=? :ci%d< d2d 8?;:8D?;:;0ΧTx ,/'ci(Tpd2d ^=8=?A?=80  " %$ "     ci2Td2d<  ^  01/1141/,/0,*,,/,*(*ci0\d<  :535101.1015130., hA?A=<=:=<=A=?<:8 MKMIHIFIHIMIKHFDci0xnd< d22 0T36?;:8658=:86536;865325:60T65656531313131/./././.,1:8653568;=;:8658DFDBA?=;:;:8:865323568:? T#%#"  "#%#"  "#%#"  "#" '%'ciETd  ddd 036:?ABDBA?>F?BFB?GD=ADA=FB;?B?;DA:>A>:BABA?>BABA?:?>?A?? 0*.)*,./.,*%.,,**)../.,*,* 0 %# "  "#"4 ` ( $XPAL&OLDINK&CURINKSPRMAXNBMAESTRO!#X%&L TW *aGETREADYJONgXyplfygcnww~zwrzzp{~nxnyy~s|t~{~oz}qvs`vt{m{~|zzz}}{z~u~{u{zw~uxx}~}{p|~~~}{qq}ztwxo~u|{}w{~|x~sx|}nw{or|vnpxxr{zv}}uMJ:3Ug\hUCtd|x}{wt@#YuO\8/uzipstkovpf||\!@#Tcf6 xm\r|znwel|lb'H'7OTTClyudalkqq'0#`j#'}rcm~lfumm{~v'?'9țtkxxTczpqzBe\#+o\,Ksd_urLZvzt#7g'!7pT?İr[C]vJ\myt|yp'k0uCtЭ~y[C9_pVguot}vi{L!u''O`t̀txvJ07n}toqŤxgt{}ywL!x!'!gfz|jgy}d@'Ksz|diq~{z'[t0! dlokjti@0gobgx|P#e''npdclvh@7gh[rP?H'#OèvlfiyvP=_|wzxqeh#1bY1'!Osuxapvr]L\jztywu|@,UZ@<3_wxfsllsvTWiv|is~r~xPBXQCX,Iqpo}kenxuecqp~~v~MSXOQDDW^o`gzyqskbqx{}tyta[[UXLBOf`ein{~}tz}wtrq{{}wbbx\Oh\Jb`Wqqko{{||sxv~yrvz`incX^^cm_frueqveuyws~{}{xqxl~b|tsbycotxsy~l|ruxy{~|v{pp|qx{sw{xptqw|tssp}y}~|y{}~||~}~z~~}|~}}~~}~~~|~|~~~|~~~~|}}}~~}~}}~}~~~~~}}~}~~~~~~~~~~}t@_h[|f{sq|r}wx|~||~}y|xfԐA_x[wuv~{||x}yxw|{||r~wz}f~t{wx\pj_\s|l?gpwbzZ^_iux_]fQqfq`ucb}tewgSxL_ntg\ozzvuvm[Z]]x~_kmbsk\[h~e[`ilwrHHxen_z{ej`{`}Osm~W{nelyZuNxTzYfbXmQp|m`w{yxv}]pqbrw}rrpa{zzoxslwnwg`psu\[yo}a~wny}htY`k}x`xmx|vkwm|rvu|etuzsrsqp~zzlxrs{|x|i|ipw|v|vk}yz}}~uw}wvyz|yyrzx{~wqu|j~wzxutuxyz~{}}p|vyy{}tzw{y~~}}us}yymuyqxxxu|{z~v~}}q|zywyrvww}mszir}zlyphltutm~wes}vvs|xt|{x{{x|{}{}zv{|||{~}{{x~z~|x~~|}ywz{zzutxvvyvtvz}}}z~}z|{npcW`lrklsjiipy~|zv_LPa`WY\a][cq}yx{z|}jX@NZ^VZPLRWaw||}rszzmS39QcSOS@PWdyu|}uktw~w{K0/6`nVIB1Gc}zixlae||uqw}V0.btT9D2Akj~|hf`_xxy}yH'5f{I!@HZvmbcoj|v0!3E]pL/==kzsnTYdoy|@# GciP';Lk~y}fUOh{yzzP#E`sW#0Ssl|\UOkrt}~!#1e[XB'5X|u`NF[|ut}B#YeUI))Kr~iLE]}yhvyu|(^R`=)wx~qF@]{t^e{|xŹX#koBH'={yXFOfyx\crxq~|'/oXN'!3tO7MyjT`|û|s|1!o`@+?~zhQESq|hVnlz̽Pef;9!,or^JGctr`essδh!fm08('Wl_JCYwxbct{Ǵ' 7ZDH'S}wV@C`qq`ov{Ѯ0bh>!#OtP{l3@zRDoTFgpnj`r|}mIwz\HY|iRWetrdns~~ftIq}e@_VVeektdxxy|adQh{`Fez]Salkjmxw|fxBuWX\~hO_lsmjnzx|~_X[op`Jo{[Xfwlsl~y||]X_~^~gAr|Y`fkovh~~~}viVot}c[Y}h_fkqsmtzyb`^jtbMncYgvmttw~}hqU{q~dQ_pXksstrz{}vgX^{pX_w|^]vzprr~zxlZkltd_yychsvrrt}}ri\yzu`dqyrgk|try}w~~}w{kqxuhtqormq}tl}|||}~xqmw}miuxupi|psy}vu{uttrwtmwxvxw}{|}~z~yts}{mp}xlnu}ks|z}~|}xy}xsz}xut||svxs}w{~~}z|w|{w{zxyu~zz|{~~|}~}}}y||}{z|y||{|~}y|~~~~~|~{}z||~~||{z}GAMEOVERJON~~~~~~||~||}|i7!'{\szjy~~xzitLG]~mj~LH{pg|r\hP'}TMtobfpvwp|sxv||}z}p~qx|zyslywl|gv{mml{x{~zvtz{z~tvsxrx}~zxwqrvkwq}zv~|x{{uytw{p}z{}|}upyxyux~{w{~zxx|y~zmuk|qim{jduqrwmu{|[N|F-AU^@'?af\RWxx|}l0!H\ !UoBIW_~tle{hV SP'Rf!I|x_oxxpv|n{'o@!!GvD'Cr]|wsowz0q4#[`!O}}t}zo|t(_D#rX!VsrvqylssPEP!#ax!#Swqpymm`:0!@QAjS`|{|tKwR@0,M#H'V?LjQr{|8sj@7:E#@+=.8]nUauyxLqHH36@C'@8PGJcmDu`K)PG14'0>RKd[Ty{w{@t{Z`K'@C@=8AOQ`m[n^jX)<[J+'1,PO@[Wf|z|~rQhQ8F?@@4,0KKGUf[fzagqxX0<1@DDIMVukavmlkmmYQJDCFIKTOLQZelqw{{~}yxtpoifb``^cbbgfffjmqvwyz}~||xxtunollgnljjnloqsswz|~{}z~~~{}usqnfbj_egciaeZcf\mltv~txgrsli`k_X^\bRie^[]u]i}~ptolkjlX]\^MQ`\S]aRYe`go|tqbtidqZY\cMJ_UdZX^S`cmixvj`qfjl`P]aJJcWYc`VXZdnkzvebskdfhSVaNKW`]`^V[a`jovli_haniX]ZRKXYV\ffW]dgbt}gfgejlgQ]bMGQbQ^iXZ\idox|nk_kgtaXaXVH\N^^gcU`cfiv{toWXZZk^`PcVPSM^Zlg`cgsi~xP263BMQX@HGLRhypahv|}@0G#\;h]0>AOMoe`M`|t}|zD15'LW_PNC8V`|v`Keotrb-(<#NYqO0FGZk{fTMjy{{xgrj,27!TZg6TF7_~fUMkvz~qeqD:'IDkgB6Fg_x`UZj|tqqmopH7C SO`[4HWp^M\qwxxn`rlb)@+,l~zڦdb|4nN4ܮXz@ЎfjDNltXިvt`>xN:ҔfpHNlrTtذ|xb>vR:~ЖhtJNjpRhָzd@xXp̔rzRTllHdиXJ|X@tƎvvTXlfBjδRR|VDx~rT\lb>v̮L\|RF~~pV`l\:ʨxHhxPN|jXdlV<ȦrHptPPzl\fjP<ĦlHttPRzj\fhP>jJtrNR~l^fhL@hJvrRTn^ffL@jNvvVR|rbhfNnPt|\Rp|fhhRZZbnV\|tjj^BLbZvZXp|lldJF|lZz|bXhplhRBnrXthXb|tnjVBbz\pnZ^vvnjZD^~`nr^\p|pj\FZbjt`^n|pj\FVflv`^jztl^FVflxd`hxtl\HXhnxd`ft~vl\HXhpzd`fr|vl\J\jtzd`fp|tlZLbhxvd`fnztjXNh|l~tb`fntjVNlxlrdbdltfTRrvppdbdltfTVtvrpdbbjtfTXxvtpd`bjtfTXvvvrd`bftfTZvxxthb`fvfVZvzxvhb`d~xjXZr~~|zxjb`bxzjZXr~~~zxjb``r~n\Zn~|x|nf`^lr`Xl~|zpf`\dvfZfz|~|thb^`~zj\bv~|~zld^^t~n^`t~z|~~nf^\lrb^p|zz~rhb\jvf`nzxzthb\dvf`nzxx~vjb\dxj`nzxx~vld^b~zjbnzxx|xld^b~zjdp|zv|xld^b~zjdp|ztxxld^b~zjdr|ztxvld^dzjft|ztx~~vld^fvjjv|vtx~~vld^jvjlx|vtx~~tj`^lvjnz|vtx|~tj`^pvjnz|vtx|thb`pvnrz|vtvztjb`pvnr||vrtztlbbpvnr||vrtx~vldbpxnr||vprx|vldbnxrt||vprv|xnd`lzrt||vprt|zphbl~|tt|~vprtx|phbhz~trz~zrprxtldhvxtz~zrprt~xlffrztx~vpprzzphdn~|vxxrprx~thdjz~vv~zrprttlfjx~vv~zrpptvlfhx~xx~zrppt~xnfhtzzzrppr|xphjv|~~~~~~~~~~~~~~ZANGY JON uz}{ONzU{n{]Mk|f{~zbgof~~t1yj]0PTaXa_isgo{M|+fy}ZymЫtyeI@u?RzIب3fRu²١UHGӬ10G/bϓ{B[N\wa?Uh[r`cjgZTfm_0߰OzV0)1ƹU`}~Aw7v%xbAGmmcVO㸷t5UҏevĀl$kcC9cˆT,o}sİNztv`}(L-0b"brxpR0E-.nwр̛[0)vܤgxM`ne}'95]{DŽ>(Pa}eczO:RˆwZ5CgJt{3YmZ ]PQG^ڏiIS_oIIzj|F6`!m{|F+Uv\}XJX˝_BNrAMRQaCKTo8ZyQhBGӠVT$-SթQKJ߁`S^Ofc^xV5Yu߳XhKlCGЙP,:TL0h|ZL1y\@P\ܼ:O0{`X8wmKhqa9:Q7YʛKPЄU',4(bsR},e~Ko;*rrfկq;QVStq$~Γ}TxsXMuoza>PʪsUE9{Mn^nR{͓qh_YoFd}|ki)L])O>=l׸z;RKry-HQUp{rRyVXRoտN.|nJIOcq`IIi~*1ΧLBPTs&pJ-Rưto%7]ѓWnU.>_MEZ:lko_pwᮭQ>}cSJJk;Q/݅t<(~WB9dn<^4.gA;Uwȡ)^2;Qmg94<ro\u``hdzy7*Aչ|t`@ĎJPK\Ĕ>V{>S%28~sx[.`|D[T=dL.Ŧ\X/m}X|hscFԒ}`;*xpTe|saQW?>6rQ[ap^?YnHNJC?hq쯕XDidVbR~y_H+)sR]dgs%zk$o׏I3]c}`!nvm2x¢]`AXQdyr=.}>YoʸqwvN|[yͳ~D>n\ yh8s͑@5f:6htP5XIDN{Oh)KhAci៍_!0½kUjfÙ`^NPm^0V2<]^rbgRlj?=|>Qó|ZRpT:cd)$ob@*8ĝD{ny̟NJs>nvAI+,r8b_Ɓ=:qP+thQoxU[cCtn[ =+9ENbGsĘ[uaTHw)Ra((qw:5וrΙb2[WP+M|y~LpvbYW/IZL¸r@v~8wҼgPlre"gDuwk`XyL`2HVgޱ\dEMTbDefpyXHx|kSb2Evzz~dwCsǫvP[x}m>ycNZ?e3[qNtłx^!ZZQjԌժCgU3~ƐZhHv@Is{XDfkʟFuuZ׾{SYrҩȅDJ<fv&`FD.Jpn&8j}pg=+IXٶnƴ]aE`LiBG[q`gkzánNx£f%%%rGTeIH0@k͸iugY%Gu\濾D.hЛvIUbtjug^m6^ptyso|udдxPrPvcx:1Qvsw\xoZ ^k}͟O-"Yu6j~oJ{pL{THn^@z{\=̽b!e`a4)Ye|vi7Ntǂl230Xºd(ixMWnQlqK.6UyxtfNčJMy=4jʒw>*VgmonpvO3~wyE_~J|pa@Z찒YDaPrt@0pzxΑHpw~:@GdΘul3XgPj]m^oyp>QߡMlyR|pkn7~vfˤc#VYej;&-iyrƉ^|ۀO|iXC2"hڕtMdOPYjn~ozt0]⚚lCF.HPeبW \nl]636E_xȊre1qlUEP3SµGKX\tt~|twwLٺd\&{ŅW8GXďMFuqbBL\A0]ȖndɤZ|WshkE{c{a~Y`sl|qi}rl{nj]`zfyQssǻbmztp}ʻlrLNgS30^nBdAp|npJspn\ysutloxoU`yEsD|JAfeb}w~[[i\AF@VNJɘPdrv~m^DX~W>x=[|xqswy{q{EOzl_Pzwb8`Bcƶu_td?EXYOsσ:|dJE{xUp}gTAhz{y{sswxdJOHdfU婝Trrd€]tjLBSfbSbĖreu]dChtXWD}Rjults}g}|dpxZumNO]E;oiy}^jyYpl}pxRQDkvHmfzdFa`mzzyyrUwqlVcGB]_mVTl|eyzoyvljw~bLUkhiumFfÛwhzeGNh{{mw`hxlxdKewa[x|yo_8_l~plrxt{qC>q}zTaiwy[y\6Tmy|h^ni|ya>eƓsaf|ujUBtwtnxZp{rgTDftjeRɝbsw]@Zqhytto\Hf{tCi}kkXveo~z~upr\jaRv~_`toOnnnyyucWomKUlxruwk\HjtmüiOcuzketU{zuwcJC`Ȧlhdvm\^n}ѫysmDgcFg{u^xiiFbxWxvsr|Rrhp|Zv~xvk9=jkt~~rOdlxcd^X}y\Pd~nsj\Tuf]jyŸtVkwU~wgq~|rzunPC`x~n~]smriy~Tgp`w|`NkzyXbvXch{lQappfuwsyoqd^ph[~jpiIk{`mvWumPmosplkyTWjx}qwXTe||wnn|pxhqvXy}n|y]Cbv}cmic~~i_ltugq|{y[O^|wu|kXu\i{sy]{wgnz~ddno|~wZZ^}zxjWufp]Yy}ykqDXxu~jv{u\kofl{~tZwcXd[`uoXfuns~tv{\f~euTnnypcQitxpt~x|eWydzzrzdV_e|yy_hzhMm~~vztbvzvnlv|l|qoastqrzwu{q[wddw{}nAb{zqty`TsY_wypfwgpj^Yztz_[udzp{p~m|mmyo`xv|~iUjohabXYkhxxtp`d~nossKhixaWqjo|~zjtzgi~ra|uutv{\Vf|̵tV<????7amx3f| ~}̘ a{7f|yff{>??8??  8 < 0 8<8><80888??>8x x?x8x>߿ >f> f?????><|<0 ?<??<?|?????L9?'`sf9!̙?a ?3g?Ay!`' f3s0g`??0??  303 ɍ88 ̈n *(* ?< ɍ8(诪  ;̙̀ 330?< ɍ88 L̐n330 ?< ɍ8 ~ 9Ct0 ~ gxgA$A8ANAjAAAB BHBZBtBBBBBCC4CzCCCCCDD$D^IIIIIIIIIIIIIIIIIIIZ NY A$>$X AFFFLAGSC1wC0c( D2 O~dwwU33ss77wUUU*UU*UUPUUTUU@PUUU*UPUTUTUUTU@UPU*UPUU@UUPTU@UUUUU*U@TPUPUUUUUU@UPUPU@UU@UPUPUCUU*UPUPUCUUU@UUPU@UUUTUUUUUUU_UW___U_U*UUUUUUUUW___W_UUTURU*UJRUUUUW_?_U*UUUW__UU_UWUUWUUUUW__U*UUUW__UUUWUUWUUUUW__U*UUUW__UUUUUW__U*UUUW__UUZUjURUjUZUiUUUUW__U*UU__UW__?UU_UWU_UUUTTUWWWU*U_UWUUUUUUWU_UUU_UWUUUPU}UPPPVU@U@T@UU*UWUWU_U_UPUUPPPWU@UPUPUUUUWUUU_UU*UUWUWUWUWU_UUTPUTU*UPUUU*VUUUDPUAU@PUAUTPPUPUP@PU@UPUqD@@`aG`a㏈〈㏈1ǃUPU UT*UT*UT?*UT?*?UT?*?UT???*UT***UTU@U@UU@U*UT*UTU@U@UTU@U*UT?*UT ** (*UT?*?UT?*UT?*UT*UP*U U*(** **N<R&sfqbaaH`xaH`|p|p_t7`}}}w}>7f>$><> 6-=?߯N<R&sfqbaaxa_7_7f$<0 p ~????$X AFFFLAGSC1wC0c(d D  ~dwUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUX`UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUꀪUUUUUU_UUUUUUUUUW_UUUUU_UW_UUUUUUW_W_UUW_UUU_WU_WUUUUUUUUUU_WUUWUUUUUU_UUUUUU_WUUPUPUCUUUUUUUUWUUUWUUUUUUUUUUUUUUU_UW___UW_UUUUUUUWUUU_UUU_UUUUUUUUUUW_?_UUU_UUUUWUUU_UU_WUUU_UUUUUUW__UUUUUUUWUUU_UUU_UUUUUUUUUW__UUUUUUWUUUWUUUUUUUUUUW__UUU_UUUUWUUUWUUUUW_UUU_UUUUU__UW__?UUU_UWUU_UUTUTUUWWU_WUUUU_WUUWU_WUU_WUUPU}UPPPVWU@U@PTU@PUUUU_WUUWU_UU_WUU_WU_UUUTUPUTUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUPUUUUUUUUUUUUUUUUUUUUUUUƌU?UUUUUUUUUUUUUUUUU?UU?UUUUUUUU @U0@Up@U?UUUUUUUUUUUUUUUUUUUUUUUUUUǁǁǏǏĈGĈ?ǏǏǎ>|#G"D#Gǎ>|"D"D>|#G"D#Gǎ?ǎ#Gǎ#G"D#Gǎ?UUUUUUUUUUUUUUUUUUUUUUU~UUU UUGUUPUƌU UUDUU|UUUU U UUU UGUUUx?60 Y.A$X AFFFLAGSC1C0 /I ?@><S@7@"8X16.CR2yy  d   `$PA D0B 0dаC@1D 'PPE /`Đ1F 7pбG?2H#G$QI'OD2J+WdѲK/_3L3gФQM7ođ3N;wѳO?4P!C%RQ#G $iJ.aʤiN> %jRNJjV^%kZnʥk^~ &lbƎ!KlfΞA&mj֮a˦mn޾%0`HH $ 1'~>`|G~l0  6 88x 3!}] 8 `)g|膹>8wL@ 6C߷ I@ϲ@Ra~y{^+rja} ۮ*`(oڇ^1t< .<.8aLTf)҇*ta M5|@4- = <؛RRI~@xVNec@׋OiC/ ' @C%3835lDm _h8&T+hx@pz,{P9w=C-5cf_ޜV%  je*R"ۍ.&ADBAp1`TP7sbaǃ} Gp8` \׸o=oCpw"|EDi\c]7.xc(F2'Z7|8j >.N??@:Fʌ҂H95r1*W(D.rr$Q(|:e DɏU QA[T׊t*̐J&XQ)(#.HT5I^e0H,@P[F`&`0 ~>`'@*38C2Tמ,O6`6` $$hF әIOjMVlڗ @X^r䇚66AHC 6.'/RVܤ)Ye5  AӃz!>PM.aЅ*dWo<=.%Vw i~@%8jYH8($ږ,$e @ղ>4@n @6! H Є'8mhϩ|pp3'0 Oj|p <`m0a`wͯ 8צ`=<Xj@ .b ~Lj"*e !0A&Ř !`g TBi2 A@ V #8u zUL0 <3Vd`!XmTr$,.KMr'򑣢7N &xeэ}2,S|cè8u!F;`0rOblJjF'9uj[H@@Us]3c6-@@8X8.CR0s  d   `$PA D0B 0dаC@1D 'PPE /`Đ1F 7pбG?2H#G$QI'OD2J+WdѲK/_3L3gФQM7ođ3N;wѳO?4P!C%RQ#G $iJ.aʤiN> %jRNJjV^%kZnʥk^~ &lbƎ!KlfΞA&mj֮a˦mn޾%DR4 ~H'4< `8 b|%T7 Ї  ?<@G `GB `A@JH! >)p> P@T@!< DB GUi=P):% %}7~Y PJ8DiG @Ї$DAx|y&gNjpi6iVC{){HP Q*p ƨ"  !Ji)nJ:hi*djڞj#H1 !*7Zi!  DƇ1Mzkcpk! fKhtf)95 Ǚal L;<+1}Ɯr+6=Ln ``H_.ʻ HB+[ePsTb % (b 0 (+! 訟+k"*zۤNl`vlL^q!c zy죧Ddz D#p0ܘ晧&7x&enk/df0o: u(@||Dk|8fH:(xD"&  Dtd<IWC`BTH@%R B<2T>!GJ$@f@ H N0"AdSL|"z^0?xOF,`<$!AX}eG 0zPb~ KV 2[B`8mVZ`,+HK\R` $,0=,2@ rI9 X@/Io>Y,)Ē{j 0@?(0Y/ :?L#A@=_E4D@/P( 0 v/GfpxJ `LԈ>QJ'ѧG7~ C$>G?1?,7>1h<4 H?8JX&\?X"@U`3QR`8X8.CR1vT d   `$PA D0B 0dаC@1D 'PPE /`Đ1F 7pбG?2H#G$QI'OD2J+WdѲK/_3L3gФQM7ođ3N;wѳO?4P!C%RQ#G $iJ.aʤiN> %jRNJjV^%kZnʥk^~ &lbƎ!KlfΞA&mj֮a˦mn޾%DR4 6g|l`F8 3vG_B8A{ppa?<`G  `GB ( f|BB%h~ȀB<$@9$`l~( Ä% 9fA#!"}r<)c3 yȦn|i$|| }Q|Ga&^Z`Ѧ|9f{ i{Q)x3?3vᇪ&ސ&vanye{jX;'$i:fi&3zg~ B?!}`ƢrZ)}`R|緜.JZ |I?`FZ仅 G C<@)ol1}<#fJr·"}bjp 9[[g0@ba{b"x)@3n ƺ&Gq=bNJsËTW.l~r|3[bpC.Ǫ3ʺ*nI͌?7`lʦŝ[#;.8,>5| /3.@`x=}18όi~Ѐ/SˆEhg ذa<0n'U@ll6!&(xHH<6q;nw(9J;"EAd 0!AуZ5^"X\B<=#?Z`-# }C1!P}|$89`1c1d8e XH<Nz$>8p.'@OC#/9@%)4XFq,p@8?0% KAN00 0'@vi p3 < 31Ӌ7m'2HOćo0я|A0'~Jk >L`p@2TH FBVZf` BASIC205.BINTk- `4 H?!=x2eԡqǎ )BI7e@( J:TB%H 4P0?@I bd APB C@41!v6b֜3ǫ3섑 ̜1OH9@J'_ȀQci'Py2 $n攑CDdY4cЀ@cNŌAy','2,vAS 8?̱&5e4`c7t!SGs=D&e1tQsI9 +wFx POɭN!u$[\s9@DmDM[Lf& Gx!.Q"i s)X*^ehT >4lspcBovԵeA b BWfI 5ad p؀VJrޔAAXQj1*V!}ROAC ^E0@ @pAªꬬjDL :E[ET(iY@PTxZ7-O\D25UIO@@  0s pAd3Oz! ZBd0@0[8Th`&* s5*NX" ` (`FdDA j/6h#op92H#i@]toF3э3A  0A W `sOZ3bdJ4IE*r%k5RR%sBɜU Y)`r&U%L\R@fF N9ڄe7W޺7qiqre'c)ͬ]!&3sm1d?5 N֓9G5Ь%4V>P*vd(q25ɏ2fCJŐ lKYR3k3bMpSPrd(Xʠ2T,LSs)%>Ʊ 3P5PoɪRPR:NOF5V x&dw^ L$D`pX2aH +]q1ֳ?*9i]+ UfrC`6 8^K[ⶹng'ߪ(py`ps_EnԵ.$K\rXwC\7΅nsݕ.Pf5/x@_p'#_" {_/~û;.`3^ӡBw>75_X ̵]@c1A@s} &pYs6=hcAhra/ehChrCL (EM !>ewg>M6!p 4[:7~kY|(8-^듫<s 1hM`'fps68:a0@7Pz#3@8nᲴ2K$@@2P 03`h&p  f"[@X@ЁtM'9W';^6N6^Q۠onk du˜a\іVM137"иg86m\*2L/5H~t"zgh+k1 "`}"/P_*eP8P=*JPN7n #KH ar&"@]2hRus1\b'&n"C=5+ &\bi> f`7l?08Jdi3L4G0l Άw`8!H#xad„ A% Ʊb2p3p4p5p6p7p8p9p1svXu1؇8XxU7*A8JTPPTX5h2؊P@W8 1LH#*ШX䈍<⋯EEAOOh҈؎(H0cbp  "0$P&p(}*L3*,.0f@ i @[$P'+)-9/y@s}bP>'@,Uw` Quf3L BCpd49o4Gse3j) *C+IzINIuyX*i Yg@ly0$<5}22@Il /`K// wWUIXG⚬rSr-vTIQMڰ/happwp ``GPPPG@@@@ `0@` @  0  {fR?-P 0 ` `4 #_YTJRCC` X======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ========== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ======== ==