@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr +UUUUUUUUUUUUUUUUUUUUUPUUUUUUUUUUUUUUUU}UUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUSUUTUUUUUUUUUUUUS]UT}UUUUUUUUUU??UTUUUUUUUUW=??UPUUUUUUUUU0<<UPU}UUUUUUUUUS]<<<UPUUUUUUUUUUSU<<<UPTUUUUUUUUUUU<<<UPTUUUU}UUUUUU<<<UP TUUUUUUUUUU<<<<UPUUUUUUUUU< <<<UPUUUUUUU }U<<<<UPUUUUUUU<}UUUUT~UUUUUU UUUUUUPU?}UUUUUU`*UUUUUUU@ UUUUUUU@U@}UUUUUU@UUUUUUU@UUUUUUU@UA}pppO+O0B}O@C}AI"#["*#` -JL -JL!H fJ {p h` 5J H fJD}hZJ bJHVJ^JhL& 0DT  @{` $J $ $J & $ ]&Y (E}J ) $J $ $LfJ$ $ W (W ' z + 34005%  "# F}  ###  U22 Gl| '^PI( ]^EE33H{ $t^^LL|  $G}tHDH{  #>FFC>  qy}}yyxU4\aa\UPPUjnswwsH}nj|j *Sׇ  irul}h ׇllhh ?FNj//++?uNj||xx?FNjI}!!?ENj\E}|usR|iK:7,%19KKGG!!Ԁ  YYUU##ހ J}RRNN ?DNjhhdd $$ aa]]## ?DNjrrooJiiJ2J   UjssqqjppK}jj?UNavvttrxxrr?UNaҁdhhdҁd--))?fNL}j--))   ?ENj$(($ҁ$mmZZj~ Q"'55##~Q"||onM}{{uu?UNa\EJPPJJ?UNaW[[WRNNR:}  N}ׇSWWSNJJN47;>>;74:}4  ׇ;;99(..((?UNa..((9;;99?UNaYb_VHQTK}G  ׇ%"O}_hkb}^ ׇ ?nNjFJJFA==ASVZ]]ZVS:}S "ׇt}zq09<3}/ ׇu~{rGPSJ}FP} ׇFD! ?DNj ttf}sׇA?735?HD77336::66?DNjW[[Q}WW?DNj# ' + / 4 8 < @)- D)- J)- P)-/ V/" \/& b/* h /. nR}"/2 s&/7 x)/;0 }-/?0 0/C0 )-4/E]0 GK)-7/E] GK)-;/D] GK)->/D] S} GKNRB/D] "GKUYNR %GKUYNR (GKUYNR *GKUY]a -GKUYdh]a T}0UYdh]a 2UYdh]a 5dh 8 9l 9l 9l !9l9'; !8l9'; U}"8l9'; #8l9'; #8l9'; $7l9'; $7l %7l &7ls-t &6Lr-u '4Lq-v (3Lq-w(1LM&Sr-xV})0LK&Ts-y@2@d)/LJ&Ut-z?2@d337*-LJ&Wu-{>2@d337+,LJ&Wv-|=2@d337J&W((.w-|L<2@d337J&W(W}(.x-{L;2?dJ&VLy-zL:2?dK&TL92?dL&SL82?d72?d62>D52=D42,G[}s|or=,Hs|or=,J s|or=,J4 s|or=,J4 s|or=,J4 s|or=,\}IL4 t|or>,GLt|or?,FLt|ort|ort|or*t|or*]}t|or*t|or*t|or* t|or*!t|or*"t|or*#^}t|or*$t|or*$L u| *#LT\ u|qs!*"LR] u|qsQ_}^ v|qsP` v|qsPa v|qsPa w|qsPa w|Pa w`}|Pa Lx|tvP`L Lx|tvQ^L Ly|tv 1R]Ly|tv 1T\Ly|tv 1a}z|tv 1z| 1z| 1{| 1{| 1 1 1b} 1 1 1 1 1c}"""u!{"u!{"y |"t |"d}p |"Q%W#'n |"O%X#'n |"N%Yim#(n |"N%[hm#(n |"N%[e}gm#)n |"N%[ +gm#*n |"N%[ +fm#*n |"#N%ZL +em#+n |"f}#O%XL +dm#,n |"#P%WLdm#,n |"#cm#-n |"#bg}m#-n |"#bm#.n |"#am#/n |"#`m#/n |"#h}_m#0n |"_m#1n |"^m#1n |"]m#2n zH"\m#3n wH\m#3i}n uH[m%4n rH3EL^Zm)5n pH3EL^Zj4.53EL^ !Ze825x |3EL^j} !Z`8x | 3EL^ !Z\8x |3EL^ !x |3EL^+ /h l3EL^+ /h l3EL^+k} /sh l3EL^+ /sh l!3EL^}s%3EL^xs(3EL^ss,3EL^ns/3l}EL^is2ds2`s2]u2]u2]uds2`s2]u2]u2]um}n}o}p}q}r}s}t}u}v}w}x}y}z}{}|}}}~}}}}}}}}}}}}}# '}# ' + / 4 8 < @)- D)- J)- P)-/ V/" \/& b/* h /. n"/2 s&/7 x)/;0} }-/?0 0/C0 )-4/E]0 GK)-7/E] GK)-;/D] GK)->/D]  GKNRB/D] }"GKUYNR %GKUYNR (GKUYNR *GKUY]a -GKUYdh]a 0UYdh]a }2UYdh]a 5dh 8 9l 9l 9l !9l9'; !8l9'; "8l9'; #8l9'; }#8l9'; $7l9'; $7l %7l &7ls-t &6Lr-u '4Lq-v (3Lq-w(1LM&Sr-x)0LK&Ts-y@2@d})/LJ&Ut-z?2@d337*-LJ&Wu-{>2@d337+,LJ&Wv-|=2@d337J&W((.w-|L<2@d337J&W((.x-{L;2?dJ&VLy-z}L:2?dK&TL92?dL&SL82?d72?d62>D52=D42,Gs|or=,H}s|or=,J s|or=,J4 s|or=,J4 s|or=,J4 s|or=,IL4 t|or}>,GLt|or?,FLt|ort|ort|or*t|or*t|or*t}|or*t|or* t|or*!t|or*"t|or*#t|or*}$t|or*$L u| *#LT\ u|qs!*"LR] u|qsQ^ v|qs}P` v|qsPa v|qsPa w|qsPa w|Pa w|Pa Lx|}tvP`L Lx|tvQ^L Ly|tv 1R]Ly|tv 1T\Ly|tv 1z|tv 1}z| 1z| 1{| 1{| 1 1 1 1 1} 1 1 1"}""u!{"u!{"y |"t |"p |"Q%W}#'n |"O%X#'n |"N%Yim#(n |"N%[hm#(n |"N%[gm#)n |"N}%[ +gm#*n |"N%[ +fm#*n |"#N%ZL +em#+n |"#O%XL +}dm#,n |"#P%WLdm#,n |"#cm#-n |"#bm#-n |"#}bm#.n |"#am#/n |"#`m#/n |"#_m#0n |"}_m#1n |"^m#1n |"]m#2n zH"\m#3n wH\m#3n uH[m%4n} rH3EL^Zm)5n pH3EL^Zj4.53EL^ !Ze825x |3EL^ !Z`8x | 3EL}^ !Z\8x |3EL^ !x |3EL^+ /h l3EL^+ /h l3EL^+ /sh l3EL^}+ /sh l!3EL^}s%3EL^xs(3EL^ss,3EL^ns/3EL^is2}ds2`s2]u2]u2]u      }   $($   8>>>>>D}TRTTRT|?>@  =} @```aa?``~`}`?@87  8` C8<}x| x pp  |x<0``߁߁o}o7????8pa n8p?????8TTTTTTTTTTTT88D}D8?uUpuUpuUp?@@8lnk;x@@ ;knl8} @@xpՀ`ppX\\VWWUUuUU``=`}`00 `00pXXX XXX5XuXuXXXXUXUXUX} UXUXUp5W5\5 0`` 0``@0xx00}000 // @@ppppp 8((}````  x? `0`p``}p>80 `F80@x p~00~p pبppبppب}p 0d`0LFNN0` &ff&TTTTTTTTPPPPPPPPPPPPPPPPPPPPPPPP`````````}``````q?```````?es x} TTTTTTTTU}@Q@Q@Q@yypp  $(,048<@DHLPTX\`dgkosw{ #'+/37;?CGKNRVZ^bfjnrvz~} !%),047;?CFJNQUY\`dgkosvz~ "%(*-0369;>ADGJLOR}UX[]`cfiknqtwz|  "#%&()+,./134679:<=?@BCEFHIKMNPQSTVWYZ\]_` } !""#$%%&'())*+,,-./001 $0JJJJJљ }LދL`LҰJJ`LǠ(#eDžȪ} ދȠ``0eDžȪ} Ƞ8`Ǡ LLx $$  }w %/7?IǦ ݅Ǧڅ$0pPȥۥ pꈦPȦ}ۆ$0누ɠ҅eǪ}ɐW}ĄɐOӠ҅ӽ䄅Խե $03eܐ'ȱeېǥمɽԄ$0pPPZ}ܐHR`8eܐ8eېǥeمɩ 8Ԅ$0pPܐ e  Ԥɹc$0 }IiLW֩ L/  $(,048"3?}1=iȱȱȱȱee) Ѱф$L0 "0a 9Li ȩ@  L. }눩  ӏ$0R0( i 4i ) Li 𩀅8   Lꌠi ȩ@ }鑙ȥꑙȥ둙ȥȥȥȥ$Lf` LӹҠҍȱҍ `йѹ@z >}VȐА  ] ZȪ`ȱЅȱ)ԥ 8ԅLύЅȱJJJJԥ )`$p}Lйѹ@zЪȱЅ1"ȱȱЅJJJJ K )`` Ъȱ0ȱ)} KȱЅȱJJJJȥ  KL`<eji()  8 ύ` 8} ύ`$P $Pp$P`; 5%1=`1=;L5%ə/ 5%!2>"3?`}!2>"3?/L5%6HHBpp I nf Б  gL\ <ǩ -' c ␠ }8 A āݤ I`)`) f`j****`` Ɛ Ȉ Ɛ` }hhhhL     L鐠 IɈ`i!ZWL5%^Hpp, w  } L y8  犈qة8LGѩӠЄҩթԘJfХԑե}ީ"H!hiǢ+Ƞ#H#hi(ǩȠǙiǥidK ӗ"}L搤 ߗđy?z芙ꈹ@zH ( ) 5) } X ( )8 $5)% (ɱ (6)7)ɈL$5)  vX5)8穔 |`}q  犈qL $H ( (L$5)6)7)ٓݓL) " " "} "  x&/0`0'e᪆⼄ؔҎHh} ҠȄ`T T $0)6惥йѠЈ f}L얥Ō fЂ) G) L) DăaŀS @ȱA *02Ō& fă}нѽБƃЛ`Ĩ ȱ ة ĨȄK}KeeĐȱȱ iei` Ĩ;ȱ ä‘Ñ}ăŀ f` Ĩτⱄ±àȱ Иȱј L }L¦æ  Љi`KFڌKNzKVևK^f`?0  }  (8@@0I1ЩЩD`Щ$ѩҩӠґӥ+`Ԇՠԅҍb%ȱԅӍc%ȱԅȱ}ԅȱԅȱԅȱ8`ґЈ0VБ҈0MQБЈ0B$%$%$&&` "/>IIINU $)#eׅй#iѤL$8e}مҥi` $&%m%-%f%ع#8eׅй#iѤ٩QБнQБb%8eٍb%c%ic%и҆Ӡ}҅ȱ҅ȱ֪҅%Iȱeԅȱe۪eՅڽ%`@ #н#ѥؤL"&EILI&%צԽ#н#} I&ِ`QБڐЩI1БڐБڐQБ`I1Б`Б` % % %Ԑզ &ڦL&` % %ِ}` %åĤՐ֐ ڐ ې`Ԑِ8`-Ijj` $҅Ӆڅ膆L5% ' *' &L&JJJ}i )`  e``8Hh`äĤŅL& & & &0妍`L&Hȱh 9' 'ɐ}ȱ'ȱ'LFiвŋŊ & &L' & & &0 &8`+ѠИЈѥI`HеѹԹ}hҵ` 'եӐҐ ֠ґԈְ`ґԈґL( 'Ӑ Ґ֠Б`Б}yi`yy`8Ǖ`8``7)6)5)`$ 8i:3)i)4)3) 5}%ǹ6*8m7)6)7)`ۆܠ0 ()L((*Ypp`````p0`p0pppp0````ppppx}pppppp`````<ppp}ppp000000pp x000xx0000`)) &}M-f>f1ffle0f80eȰf8*l*jʰj}܈"*UUUUUUUUUUUUUUUUUUUUUPUUUUUUUUUUUUUUUU}UUUUU   $"$ $ $  $$ $@hK U _ HǠ堪(_@.ow,oadingNNNNNNNNBGGBGGFGG}BJGBGHJBBVBBMGVB}BVBBNVBBBGGGGMMG}GGʀNNNNNNNNNNNNNNNNBGGBGGBGGBGGBGGGGBJB}JGBBGBBBBVBJGBBMGBMGVBJBBB}VBʀBBBʀJNVBBʀBBBBʀBGGGBBBGGGG}GGGc  -+$#omputer3ervices}} }  Lll} L"! L"! VL"! l Lq!! "!LD:*.*S:P:E:l"!q"H) h(`ӅԄՠ`ӅԄՠԨ}`L)ӑ) `Ӣhh@,lHH!HwHHHHHӍl"H!HyHl !`GHFHJ*K}+\`* `Ӧee褌%ƉƋL"!Ӡȱȱȱ}㦌L"! ` ` `2a$%Ȏ!!xө~!! ` `@X ` } ~  } Ӣ ʎDy` SLD:PICPRINT.CTBՠԢӱԙӹ`֝DEIHB V0}Z3ڝDa۝E8օܥׅݥܝHݝI V04Ӡڑڑ0 BLVl `˩`}80 ` .JJJJ)iFiFi1FicFi'ȐȦoFiUȐFiiFi#iFiGi Fii@}F iiFiiciՊFigi'iՊօשBL`I))83Ԥԥդե֤֥פץؤ}إ٤LK6"ХLaLaLaE0:e٥eإeץe}֥eՐ؅٥ׅإօץՅ֩L8٥إץ֥հ'I8م٘؅ؘׅטօ֘ՅLؤm\G}0Q@Ն֩م؅2եمֆשم"ե؅֥م׆ةեׅ֥؅ץم؆لԘ)q ` ? 7i } ? %!Ls`ԅՅօׅ؅م`ԍՍ֍׍؍ٍ`ԍՍ֍ }؍ٍ``, Խսֽ׽ؽ` ,`+ }ĕ ԅ)@ޥ)JJJe)e e Je0F g Lm8`@ԠՈքׄ؄`= }=W3>Tvb>2b'?h`06?2'A?%C4Vu?f'70P@U??CBH ? & ? QLm8`0 I@ԥ) } oǢҠ 1  ؠ e Q ?P ¥Ii )ԅ +ĕLm`@"wf?IWQpIG?9 Wa9}cU? 0d? 9`?BXGB?7?()q?D>DIh8E?hyx? )D?@ (1V?wD3331??xS48`$})Ԧƅƅƅƅƅƅ mť)8@0$Յ)e)e F 䰃 e Q }F I`U9>`D'RFuCU?b9dYdg@W2@?tS)%)@0)%ԅԢP 1 ;  e°0 Q (}Vŕ ԅԥ  ƕ m`8``0?i? Q ԍՍ֍׍؍ٍ } * m N ǥ N 0 -åJeF g`L ) e٥eإeץe֥eՊi؊؅٥ׅإ}օץՅֆե1ԥ'JffffJffffJffffJffffم`ԩ&&&&*&&&&*&&&&*&&&&*``}ۄܱ T **m ȰҠݤܱEۅڦڱ= bܥeƥiեL@ ` *}*)]P` 00`` ( ((((((((8`W)ߥ & &e &߽aȅŊِ׼Ȅ⹕ȍqȅ}JJJJ&eXޥeYߥ䥈 9ȅFfЎᰈ Tȍ`Ȅ佘ȅ M 8*}` Ȱi祍La L< ʘ0  L ʘ ȑ  L} ʘ# ` |ʠ)ȱ Lt nʤ n |ʠ)ȱ) `ʠ)ȱ ʆ8}ƍ0eސ`Ɗ8ް`)ȱJJJ```=`]``` H}} h`Pi`)JJJeԅԘ)Peԅ`եԆ8@EB)JJJeԅԥ)PeԅԘ)eԅԽeՅ՘)JJJ}}˅ԥ}˅`)JJJeԅԥ)PeԅԹeԅԹeՅդЧ` 0@P`'Nu pX@(#d,X L `8` }¥E)))8@8e0 څۅ܅݅ޅ߄ԠF0y ޥy ݥy ܥy ۥy ڥy و0ǠF0y }ݥy ܥy ۥy ڥy ٥y ؈0ǠF0y ܥy ۥy ڥy ٥y إy ׈0ǠF0y ۥy }ڥy ٥y إy ץy ֈ0ǠF0y ڥy ٥y إy ץy ֥y Ո0L`8`E))})8i@0 ڄԠ ( !   L*  }&О ( !   L* &О ( !!}   L* &О ( !   "} L* &О ( !   L* #} &Оd ( !   L* $} &ОL6 e e e e e i  } } } } %} } } ǭ m m m m m m  } } } } } &}} ǥՅօׅ؅مԅՅօׅ؅`hh !LHH`ؠɀhhHH֥ץ?'}ȱȱӰ8ְױօօ0LB  ERROR - à  in Line  ($8H h (}) Program Ended: os, un or oad ?@ !D L RL L Filename D: Jȱɛ):ȱɛ.)}ȩCȩTȩBȥ SLȹD:LKHJJJJ h) 0:iLp 8` B 0`L<馒撥ԝޥ՝**}֝Tޥם~ޥ؝ޥٝ` ƒޅԽ*ޅսTޅֽ~ޅ׽ޅؽޅ`ƒޅ*ޅTޅ~ޅ㽨ޅޅ`撝ޘ*` ӥԝإ՝٥+}ڥםۥ؝ܥٝݥ`LT؅Խمսڅֽۅ׽܅ؽ݅`؅مڅۅ܅݅`ȱȱȱȱȱ`,}ȱȱȱȱȱ`٩@ةڝ۝ܝ`թ@ԩօׅ؅`  LQȱȱȱȱ-}ȱ`ȥȥȥȥȥ` wLH wh LQԄՠԅք` L  !ԝD՝E֝HeםI.} L`Laee 8厅叅eeL!)L)`x,/}⅌Ҙ襉ҥ `8$ L8$ ȍ` JKiLH h)I ! SLJUVT`T L)0} ʥԤհ` L ` !L8, !L8 ` iLJ놈 LJ놈 ,LQ HԝDEILꆓ1}BJKԝD՝E CL8醈 B LJ놈& LM J릓NLJL)NLM%L2} L j L `L=! Sp D o 8 LpL ,#,$,!p3}LL ,HBDEhHIL oL8馓HIBL !L8ɅĈeɐ ň`֥ԅԅՅ,`4}$8n!?! D i\ iU?! iD iE=D iH ih8DHEIHI C ,!L `5}L= JhhlԄե֥נȱհ  ȱօȱօ` L=Ԅ՘0)ȱհ ȱe懰楆ƇƆ`L)6}L=醈ɛi懠,ɛ󥆦 Seօ` Lt ԤբH e" hLQL=醈7} *? , DEHI ` DLr 4 e"ɛ ,ЬLQ DL 4eɛ S8}LtI L L L L L@ ; ` ; ` ; ` ; m` L=@9}@ȅ@`I`)` ; USN ; FG ; ?: ; 201 ; &' ;  ;%:} ;L Lå ` : : :ڰ :ΰ :ǰ :оE% jE ;}`0``֪ (ϰ`(8`8` ԤՅ` e"4 L= Ԅ<}ձ80  &ԅ L  eԪp`L) HJJJJ h) 0:i`Ԅ 0 ["=})ȥ,  ՅԄ֩`?Ԣ )ɠڭ ) ڕL ^ L)8@>}L` )8@D:)8@-٩֔$ሄL` ^Ű$` hŰ` &ư` Rİ` Vİ ` r?}` ƐL=0L L ;&)ԥ)8@עJjH@MC)JJJe)e F @} ¥P & F Q LL)HHHHHH Vİhhhhhh ðhԅ` L %ઘ%ᨊ` ઘA}ᨊ` EઘEᨊ`<|'gԥ0L=`  *  &L_,߅ڄ  eڅԥeۅհ"8څ֥B}ۅא8ܥݰ`۠Q%0ԅإՅ٥ަ0%Q% Lե0Lڤ`օנC}6&֐ eו`L)ԘբՅ Ԣ Յ֠&&֐eܥeېڈ $D}0!ee80å/8ܥ۰uڕ0eUiV`TUV`8UV`eTi`8E}TȢ` !L8醊 æ f Ŋ :ƒޑȽ*ޑȽTޑȽ~ޑȽޑȽޑȥԑȥՑF}ȥ֑ȥבȥؑȥّȥȩhihHiH&HHH wh Lhh`hh`8` L=醊 f ŊHȱG}ȱȱȱȱ妊 w Qh LhhHHe`*ȱȱȱȱȱjEE `EH}jI ` p D il ie o"p"q" i i i i i io"8o" K膖  I} Lo"L=؝ٝڝ۝ܝ륄Lei  `L=饏őŐ%ƑJ}8 Ƒ` f,L= fhhHH`, :hihHiH`` J :hihiK}l  ¥Ӡ L  @Մ$ Q` Q` QLQH h @Յ՘JJJJ y) L}0:i`AVC2 5 - <) - < L L e eM}`e`&&&&&&eee` &&eee&*` u8)Ӱ% hhȱԅȱԅlN} ʰԤզ`hhheӨhiHH` u u88Ӱڪ :(jheӑhi Lhפօۄڠ܄ݠFfؐeڅܥeO}0&ۈ`L >ӆiHi0Hƒiֹ*i0Ѕ &ݤݥ &e܅ܘe݅hhLlӅ؄م܄0օצP}Аԥեܤ Q `ƒ*ޅޅ wإٰ5֥װ+ eܥe*Q} &eܪeeըeԐ`L L L ӆ 4Ԥզ L_ ӆ Ԥզ L_ L LL=ӦԆՆR}ֆ׆Lw Y٤ ۘ` Y  L~ Y ې Hh`פōČԅeՅe &"8ӥب`ƒS}ޅ*ޅ L=؅مƒ8*ޥ֥אeԥe` w㰶H wֆ׆hT}8Lԩ!HHֆ׊HHʽ޼*ԆեHL!àLLeԐ `8԰L)!)|-@@0 6-\N}_e667 k! LI&P I  ,P  2P L"  " 1!  V} QJ U  U U U U U  UE U` U U U U# U W} U U U U U U: U U U U Š  W!Rɩ X}@ P 0 &P " 8P# Q Q 7Q RQ Y} mQ 煮Q 謹Q 奄Q ٠Q wL$XY W! Z}Q R R R #R ,R :R L [}J  J t  w RR  w TR  w VR  w XR \}  w ZR LQ& w \R L&L#" 667 k! k J ]} LeJ wԤՅ ""@ f LIR ^R  R R  : L ^}J  w>P L& J tL(' wDP L' LIL# J t w QР JΠR  t > w _}  >РR   ))  L' >נR  é  LI   텈 w J `}ޠR  tߠR  t >R   > w    > > R Lc) > > a}R  ))  L( > > R  ))  L( > b} > w  > >R  >R   ))  L') >R     c}> w  + wJP }L( w  Q LI LI PP L) R Lx&  w d} L) R LJd ; } Lx& f &P MR } S  wVP ,S e} w /S Ld* \P   w (LM+ wbP whP g L*UV w f} whP L*UV w@ w 4  U t wnP }L"+ 0 w - g} >  >  R LJ 1S  R&P!  w |S Lx& w q}IBPEGSUS OBJB_PICPRINTCOMBUPICPRINTCTBBUPMG1DEM LSTBK<PMGINT DOC Q w L# w L~) LI w 4 > w 4  > t}S  t  w֤ r} (L, >  > S L, w֤ע > >  >  Р J멁S s} t > w  > w LI   텈 w J $% " w Ȣ   t} w Ǣ   셈 w ǩ  wԤՅ   K  >멃S  Ȣ u}   셈< w ǩw   w֤  4 텈F w ǩ >   > ꩅS v} LN.! ȩ(xS ǩ > > ꩗S L.! ȩxS Ǣ w} wtP ! w L.  ! Qȩ(xS Ǣ w   ! w L>/ x}! ȩ2xS Ǣ w   ! w L/  ! QȩxS y} Ǣ w   ! w L/  ! Qȩ(xȠS Ǣ wzP ! w z}LJ0  ! QȩxӠS Ǣ w멀P ! w L0 tP 8! Qȩ*x {}S Ǣ w! L0  4! Qȩ*xS Ǣ! w L1ȩxS |}ǩȢ   셈 w ǩ&P 2 ; $ 셈% L[DXY& J wԤբ' J! wzP L }}2! w멀P L2! wtP L-5$  ' 셈# w@ 4 K' 셈& 셊# w@ 4 ""Ġ LDL ~}6 wԤբ k JL6Ġ      LD  K ' 셈 K' 셈& 셊 ""' }w멆P 텈& w멌P 텊 ""L6 P sL~) &P " w xT Ǣ! w }   L13# w 4 Q&P ! w   Li3! w Q  ! Q! w   } L3! w  Q' 1!( J' w 1!) J' w 1!* J' w 1!+ JLT4' w 1! }+ J' w  1!( J' w  1!) J' w  1!* J' w 텈' 셊# w } 4 "" 쩘P @  2L*5   $ Q' w  텈& w$ 텊( ""' w }  텈& w$ @ 텊( "" L6  ' 셈# w@ 4 K' w  텈' 셊 }# w@ 4  ""   UԢ+ J UԢ( J   UԢ) J   UԢ* J }wԤ >'  k J LI ! w   Le6+ w Q* w+ Q) w* Q( w) Q w( Q! wz }P L~6 L[D! w ! w멀P L6 LD+ w  + Q( w  ( Q) w  ) Q* w  } * Q w L 7 LC L; Р))   L?7  LB LN  w T }L7 T +T  t w !T  w #T  w L7 %T }++T  t w 0T L)8 2T +8T  t w =T  Li8 ?T +E }T  t w JT L8 LT +QT  tXY, J wԤ  - Q wԤբ. J%9 } ꩞P % 2Lh;$ H  E $ 2Lc;&P&  & (L ;'  w' (L; wԤ ># >& } >, >- > wԤ >% >$ >/ >0 >1 >2 > wԤբ k J. >-  k J }wzP L; wL:& w&P L+: VT  w w +& wzP Lc: ZT  w w } +& w멀P L: ^T  w w +& wtP L: bT  w w }+L;& wtP L;  w w +' &  wL8; fT + jT + 4 nT }L^; f f fLh;$ % oT + +L)" w2  } LD01 P ' Q' w }   텈 W!XY P , Q&P   (Lr<  3 Q   3 (Lm<3 w, } @ 텈 w멅 4 W!3  ' w 텈A W!' w 텈 W!' w 텈' w 1! }W!' w  텈' w 1! W!' 셈N W!' w 텈, k!' 셈N W! 0 sT } T T   w며P  w ڠT L= LC LD w멶P  ! w } L= LDL'= w멼P L> wԤ >XY >#  k J w,P L$> L!HL'= w P LG> }T  wȠP Ld> fL~) wΠP  wԠP s L> L?L; wڠP }  wP }L\= wH  Q L^? w ?C@AAL= T 4 U LK7L 7" wH LDР }))  LT? LI ; U  w 0U LU + w hU   wP }L?+ + wP L?+ w + Q wDP L? + w&P }L@ w+ Q+ w L0@&P+ }Ƞ+ W!L? kU ( w 쩇U   wP L~@( + wP L@( w ( Q wDP }L@ ( w&P }L@ w( Q( w L@&P( Ġ( W!LC@ U ) w 쩦U   w }P L>A) + wP L`A) w ) Q wDP LvA ) w&P }LA w) Q) w LA }&P) Š) W!LA U * w ŠU   wP LA* + wP L B* w * Q w }DP L6B * w&P }LSB w* Q* w LpB&P* Ơ* W!LA w LWC( J } t# > w  > w ) J t# > w  > w * J t# > w  > } w + J t# > w  > w  wԤբ/ J wԤբ0 J wԤբ1 J wԤբ2 J wԤ > }/ >0 >1 >2  k J LB&P &P  wԤ > wԤ > wԤ > wԤ > wԤբ } k J wԢ+ J wԢ( J wԢ) J wԢ* J + J( J) J* J Ƞ+ W }!Ġ( W!Š) W!Ơ* W!  +  (  )  *   wLG(  w t } w֤ע J&P$ LBР))  LRE$ LE&P   (LF w >ȠU  w } > w ! LI  w J w  PF(FMFrF f ʠU  w t w֤ע >ѠU  } LI  w J / 셈# K$ w LF 0 셈# K$ w LF 1 셈# K }$ w LF 2 셈# K$ w LFLG ՠU wԤբ J# w 3 Q >/ >/ w3 }  k J >0 >0 w3  k J >1 >1 w3  k J >2 >2 w3 }  k JP ;LG U  w U d ;  LI V   J t w ' }V LH&P LGҠ )V  :   J t w>P LtH J t w t } > > w  w֤ע >IV  MV  w ^V   J t w V } LI LI  w J XY# w@ 4 H +  (  )  * L }I#  w N# w 텈 W! Р))LI    4  Q  P  }2LJ ;Š W!    Q  4   2LbJ ;Š W! V t }V t w֤ע >V w֤ע >W w֤ע >IW w֤ע >jW } w֤ע >멛W W t w֤ע >"X w֤ע >CX w֤ע >메X } w֤ע >멵X w֤ע >Y w֤ע >'Y w֤ע >xY }w֤ע >멙Y w֤ע >Y w֤ע > Z \Z t w֤ע >멢Z } w֤ע >àZ w֤ע >[ w֤ע >5[ w֤ע >멆[ w֤ } >멧[ w֤ע >[ \  t w֤ע >A\ b\  t w֤ע >멂\ } \  t w֤ע >ޠ\ \  te]  tf >멷]  R >]  ^  t } >-^  e >멒^  ɠ >^  - >\_  o >o >w_  >멝 >y_  }{_ t` > w  > w  &P P   2LN3 3 Ȣ  셊 } w Ǣ 0,Ԡ 0,㩠Ġ 50,Loading 03,Seeing Is Believing1,Pic-Print }DEMO 5.40,2,The Real Program is2,available from0,3,S.A.G.E.3,P.O. Box 105623,Erie PA 165140, }1,0,1,The price is $15.001,plus $2.50 Shipping@@WAAU@'@a }ApA(AT@ @@@@@@A@A@A6A8@AsA@f@h@p@@w }@@@I@R@C@EA } Ġ }䠠򠠠̠àҠح }حҠ Select Printer tari 801 anon pson emini X-80 ColorO }r hit for DOSAEGJC)}" Insert the Picture Disk" Hit Drive # }or for D:*.PIC:*.???   **:.PIC.???}}No Files Found!JJ }ݠ---->D  Compressed Fun With Art Graphics 7Aladd }in AtariGraphics Visualizer Magic Painter UNDEFINED UNDEFINED UncompressedCONVERTING PIXELSA@3V`EJ@AL`G@ }3L`J@AL`C@8L`rrrrAAA"} lip rint enu iew ave! lack/White - Color }s li! 1 2 3 4J!} PRESS ANY KEY TO STOP PRINTINGPrinter ERROR! } Hit + or - to change color }  Or hit to exit Value for color is:   Value for color is:   Value for color is:   } Value for color is:  PERROR!DLI} DLI Files Loaded } DLI File  Loaded$} DLI's already Loaded- Remove them?Y }} Hit drive # or for PIC to SAVE or hit any other key to exitS  #Z }@@0 @ P@@P@P@@P@PPPP0000P@0pPP@P  ,#+* }PPP @ @ @ 0 #,)% 0PPPP @@@@P @P P@ P # })$++ehةhhhhhhhhhhe˅Хihhhhhhhhhhhhh?h>m }̩e $#$$$ $ !$P͢ͅ....mm......ид # } $Pmm͍̭̍͠%ˍ#NN NN0 )#,$  } $PNN%5̭ͱ31̭ͱ#!ꭂ̭ͱММ #  +,  }P̭ͱ̍..m̥m̍͠ ̩&&&&ͭ ЪЪ ) ' )$P&& }e΅̥eυͬl>>>>̭5Ehhhhh `Hhi }i8 # !PЪЪ>>>>̩Kɱ>JJJJ̑ }>JJJ  %)!PJ̑>JJJJ̑>JJJJ̭̑KЯЯ>JJJJ̑>J % }#%%% % %!%%TJJJ̑>JJJJ̑>JJJJ̭̭̑Ч Г` # }  !#hhh˩թԠ `` #  !HI V0  `hh` } ###,':hhhhhhhhhԠ)˱)ͱ)б)`  #  +,  }ehhhhh˥X̥Y͠'̝() /) //)0JJ //)JJJJJJ /( Qhhh˥XХYiͩ }ԠH)JJJJhԅ`h) Υ ϑȩΑԥ((i(̥ii(ХiЇ`1eЅХi }X`i˥iЗhhhб)`dhBDE   D  }    d!  XY X!  FD))    }d ]GPee`/ee(eeee }`"" o"o"o"(o"2"<"F1#Py#Z#d#n!$x1$A$Q$a$q$$$$$$C%P%V%h%%&& }"N&,Q&6\&@x&J&T&^&h&r'|('2'''( (2(r((')P)c)r)~)))8*&d*0z*:*D*N"+X }H+bM+l_+ve+~+++++,7,,,,,[--- N.. .*>/4/>/HJ0R0\0f1p51zE1[1 }a1x11111112222h222$2.282B2L13Vi3`3jT4t4~44%5*5-5R55 }66e6~666 7 ?7K7R7(727<)8Fi8P8Z8d8n8x89,9B9999+:c::::;; };8;^;"h;,;6;@;J;T;^r$>G>d>>>>>?&?0+?: }1?DT?N^?Xs?b?l?v????@0@@@C@d@~@@@@@A A$A >A*`A4vA>AHARA\AfAp }Az B6BSBpBBBBBB'CWCCCC C D XD$ [D. D8 DB DL EV .E` REj Et E~ E E (F MF r }F F F F F F F G BG lG G G G( G2 G< GF GP HZ !Hd BHn THx tH H H H H I !I >I rI I I } I I I J J bJ" eJ, qJ6 }J@ JJ JT J^ Jh Kr K| 7K TK qK K K K K L L N XN N N N N N<NFNGNHNJNNN }NNNNNNNNNNNNNQ +@ A@#AV5AY@FGB2w@Q 2100 CLR 110 PMMODE=2:GRMODE=0120 GOSUB 31100130 GOSUB 23500140 GOSUB 1610150 DIM PX(4),PY(4),DR(4),SPEED(4),SDTBL(14),SP }(4)160 GOSUB 2000170 DR(1)=1:DR(2)=4180 DR(3)=8:DR(4)=1190 SPEED(1)=2:SPEED(2)=4:SPEED(3)=2:SPEED(4)=4200 SP(1)=8:SP(2)= }10:SP(3)=8:SP(4)=8210 PX(1)=85:PY(1)=30:PX(2)=86:PY(2)=77220 PX(3)=99:PY(3)=66:PX(4)=115:PY(4)=65230 A=USR(PMSET,PDV,0,ADR }(PMARR$),SP(1))240 A=USR(PMSET,PDV,1,ADR(BALL$),SP(2))250 A=USR(PMSET,PDV,2,ADR(CUBE$),SP(3))260 A=USR(PMSET,PDV,3,ADR(TAN }K$),SP(4))270 FOR CT=1 TO 4280 A=USR(PMPOS,PDV,CT-1,PX(CT),PY(CT)):REM SET INIT X,Y POS290 A=USR(PXYS,PDV,CT-1,PX(CT), }PY(CT),DR(CT),SPEED(CT))300 NEXT CT310 A=USR(PMAN,PDV,2,6,2)320 A=USR(PMAN,PDV,1,8,4)325 A=USR(PMAN,PDV,0,14,1)330 CT=2 }340 POSITION 5,3:? "FREE MEM = ";FRE(0)350 POKE 53256,0:POKE 53257,0360 PX(4)=25:PY(4)=10370 POKE 53258,0:POKE 53257,0380 } A=USR(ADR(WIND2$),ADR(DBUF$),0)390 A=USR(ADR(WIND2$),ADR(DBUF$),1)400 S=STICK(0):SH=S:IF S<>15 THEN GOTO 500405 REM IF S= }15 THEN SET DIR TO 0410 A=USR(PXYS,PDV,0,PX(1),PY(1),0,SPEED(1))420 DR(CT)=INT(RND(0)*9)430 IF CT<>4 THEN GOTO 460440 SP }EED(CT)=INT(RND(0)*8)+1450 GOTO 580460 PX(CT)=INT(RND(0)*40)+35470 SPEED(CT)=INT(RND(0)*4)+1480 PY(CT)=INT(RND(0)*50)+30 }490 GOTO 600500 IF (SH2=SH) THEN GOTO 540505 DX=(S=5 OR S=6 OR S=7)-(S=9 OR S=10 OR S=11):DX=DX*14510 DY=(S=5 OR S=9 OR S= }13)-(S=6 OR S=10 OR S=14):DY=DY*14520 DR(1)=SDTBL(SH)525 SH2=SH530 A=USR(PMSET,PDV,0,ADR(PMARR$((DR(1)*112)-111)),SP(1))5 }40 PX(1)=PEEK(PDV):PX(1)=PX(1)+DX550 PY(1)=PEEK(PDV+1):PY(1)=PY(1)+DY560 A=USR(PXYS,PDV,0,PX(1),PY(1),DR(1),SPEED(1))570 G }OTO 660580 IF DR(4)=0 THEN GOTO 600590 A=USR(PMSET,PDV,3,ADR(TANK$((DR(4)*8)-7)),SP(1))600 A=USR(PXYS,PDV,CT-1,PX(CT),PY(C }T),DR(CT),SPEED(CT))610 IF CT<>3 THEN GOTO 640620 A=USR(PMAN,PDV,CT-1,6,SPEED(CT))630 GOTO 660640 IF CT=4 THEN GOTO 6606 }50 A=USR(PMAN,PDV,CT-1,8,SPEED(CT))660 IF PEEK(764)<>255 THEN GOSUB 700670 CT=CT+1:IF CT=5 THEN CT=2680 GOTO 390690 REM K }EYS READ 1,2,3 OR SPACE700 IF PEEK(764)<>31 THEN GOTO 740710 IF PEEK(PDV+(32))=0 THEN PWRK=1:GOTO 820720 A=USR(PMPOS,PDV,1 },0,PY(2))730 GOTO 1010740 IF PEEK(764)<>30 THEN GOTO 780750 IF PEEK(PDV+(64))=0 THEN PWRK=2:GOTO 820760 A=USR(PMPOS,PDV,2 },0,PY(3))770 GOTO 1010780 IF PEEK(764)<>26 THEN GOTO 830790 IF PEEK(PDV+(96))=0 THEN PWRK=3:GOTO 820800 A=USR(PMPOS,PDV,3 },0,PY(4))810 GOTO 1010820 A=USR(PMPOS,PDV,PWRK,95,61)830 IF PEEK(764)<>33 THEN 1010832 A=USR(PMAN,PDV,0,0,1)834 A=USR(PM }AN,PDV,1,0,1)840 A=USR(PMPOS,PDV,0,119,61)842 A=USR(PXYS,PDV,0,119,61,1,2)844 A=USR(PMPOS,PDV,1,119,61)846 A=USR(PXYS,PDV },1,119,61,1,2)850 A=USR(PMSET,PDV,0,ADR(CUBE$),8)852 A=USR(PMSET,PDV,1,ADR(CUBE$),8)860 A=USR(PMAN,PDV,0,6,SPEED(3)+1)862 } A=USR(PMAN,PDV,1,6,SPEED(3)+2)870 A=USR(PMPOS,PDV,2,119,61)880 A=USR(ADR(WIND2$),ADR(DBUF$),2)900 POKE 764,255:REM PAUSE }ROUTINE910 A=USR(PMSET,PDV,3,ADR(TANK$),8)920 A=USR(PMAN,PDV,3,8,SPEED(4))940 FOR DD=1 TO 50:NEXT DD950 A=USR(PXYS,PDV,3, }INT(RND(0)*80)+65,INT(RND(0)*30)+35,RND(0)*9,(RND(0)*5)+2)960 IF PEEK(764)=255 THEN GOTO 940970 A=USR(ADR(WIND2$),ADR(DBUF$}),2)980 REM A=USR(PMAN,PDV,1,0,0)982 REM A=USR(PMAN,PDV,0,0,0)990 A=USR(PMSET,PDV,1,ADR(BALL$),10)1000 A=USR(PMAN,PDV,1,8},SPEED(2))1002 A=USR(PMSET,PDV,0,ADR(PMARR$((DR(1)*112)-111)),SP(1))1004 A=USR(PXYS,PDV,0,PX(1),PY(1),DR(1),SPEED(1))1006 }A=USR(PMAN,PDV,0,14,0)1010 IF PEEK(764)=28 THEN POP :GOTO 99001020 A=USR(PMAN,PDV,3,0,0)1030 POKE 764,255:RETURN 1600 REM} TANK SHAPES-CLOCKWISE N-NE-SE-S-SW-W-NW ****1610 REM TANK STRING SETUP1620 DIM TANK$(64):TANK$(1,64)="*>>>> <<x}x<< >>>>*<}The program will display 4 players on the screen and ANIMATE ALL of them. The other player can be controled by a joystick?} in the 1st port (stick(0)). Pressing the space bar will pause the program. Pressing 1,2 or 3 will toggle player 1,@}2 or 3 on and off. (player #0 is controlled by the joystick.) To exit the demo, PRESS ESC !!!! Failure to do thisA} will result in your computer locking up. The main routine in PMVSUB$ does a number of things during the vertical bB}lank. It checks the Horizontal position for each player, if it is 0 then no other action is taken for that player. FoC}r each player it checks the TARGET horizontal & vertical coordinates and compares them agains the Current co- ordinates. D}If they are not equal, the current coordinates are adjusted by the SPEED value for that player. The direction of the movE}e is determined by the DIRECTION value for that player. If the DIRECTION is set to 0, the player is not moved. The F}SPEED value for each player also effect the precision with witch it is moved. 1 being the slowest with the highest precisiG}on. Using values that are greater than the SIZE set for the player is not recommended. It would probably move way to fasH}t to be of any use anyway. *** NEW FEATURE *** The routine will also change the address of the player at any rateI} you want. This provides for even more nifty animation posibilitys. I have explored just a few of them in the NEW demo J}program. The swimming arrow character (PL 0) that is controlled by the joystick, has 14 copies of itself for each of thK}e 8 directions ! I havent even explored the posibilitys of placing 2 or 3 players on top of each other and having a multiL}-color animated character. See the description of the PMAN$ routine below for info on invoking this feature. M} PMGINT routines: For all: PL# is player number. Range is 0-3 NOT 1-4. A=USR(ADR(PMVSUB$),PDV,ADR(PMVSUB$)N}, PMMODE) PMVSUB$ contains the code for the PMG vertical blank interupt. It is called in the pminit routine at O}line 31100. The parameters are as follows: PDV = ADR of PDSTR$ - where data for the players is stored. ADR(PMP}VSUB$) = So the routine knows where it is at for installing the interupt. PMMODE = 1 or 2. For the PM Q} resolution you want. *** A=USR(ADR(PSMAX$),PDV,PL#,XMAX,XMIN, YMAX,YMIN,WRAPF) Sets max and min bounR}drys for PL#. WRAPF = 0 If the player travels past the max val it will reappear at the min val. WRAPF = 1 Confines S}a player inside the boundrys set. This should be called BEFORE PXYSET$ is called. It could also be called later toT} change the boundrys but I would recommend popping the player offscreen with the PXSET$ routine first. You can setU} the prioritys, player sizes and colors using the usual methods. There are descriptions of the registers to use forV} this in numerous books about the Ataris so I won't attempt to duplicate them here. I do recommend that you read upW} about PM graphics before you use these routines if you are not familiar with how they work. A=USR(ADR(PMSET$),PDX}V,PL#,ADR(PDAT), SIZE) ADR(PDAT) = START Address of where your players data is. SIZE = # Y}of bytes to copy from ADR(PDAT) to the player mem. The technique used in the demo program for having multiplZ}e copies of the data, 1 for each possible is not mine. I cant remember where I got it from but it seemed to be the[} ideal way to hold the player data. Thanks to whoever thought that up. I placed the Direction values into the SDTB\}L array so they could be assigned using the joystick value as a subscript. I was hoping this would be faster than 8 di]}fferent assignment statements but I didnt notice any major difference. The SIZE is the number of bytes the player ^}is. In this case each tank image is 8 bytes tall. This routine should also be called before any calls to PXYSET$._} A=USR(ADR(PXSET$),PDV,PL#,XPOS) Used to set Horizontal position of player immediately. Called in demo to set i`}nital hpos and to turn player off and on. Call with XPOS=0 to turn player off. NOTE: Line 240 sets inital Verticala} Position for each player. This must be done before calling XYSET$. Otherwise your playerb} will be trapped OUTSIDE the Ymax and Ymin coordinates. This could be useful if you wanted to keec}p a player OFF an area of the screen, but I haven't tried that. A=USR(PXYSET$),PDV,PL#,XPOS,Yd}POS, DIRECTION,SPEED) Used to change TARGET horizontal and vertical positions, direction and speed. In te}he demo program the variable in DR() is used to keep track of the direction for each player and to point at the correctf} tank data for the direction. The direction value is used in the interupt code to determine how to increment or g}decrement the current position values. When the player is done moving to the target pos., the vbi routine sets the dirh}ection to 0 (in PDSTR$ not the basic var). *** NOTE: The new demo program uses the technique of setting the DIRei}ction value for player 0 to 0 as soon as the stick returns 15 (no action). This enables max resolution control at anyj} speed. Doing this speeded up the joystick contol in the demo more than any thing else I tried. Warning: In linesk} 505, 510 I multiply the +-1 value by 14 to get a + or -14 to add to the PY value. At first I had this increment sel}t at 16. Scince the YMIN value was 15, I was calling the XYset with a negative value. This wont work.*** The roum}tine checks if the direction in PDSTR$ for the player is 0 to avoid copying the player data over and over into the samn}e spot if the player is not moving. UNLESS the pmanimate feature is on for that player. DIRECTIONS: o} 1 8 2 7 3 6 4 5 If you call PXYSET with x and y p} coordinates OUTSIDE the range set by PSMAX$, the player will travel endlessly until you call pxyset with coordinates iq}nside the range. This could be used to get things moving without much effort from basic. The speed and direction cr}ould still be changed.*** PM-ANIMATE feature !!! A=USR(ADR(PMAN$),PL#,#SETS,ASPEED) Use this routine to cycle a plas}yer through up to 255 sets of data during the VBI. Aspeed sets the rate. 0=fastest, 255 would be max but I doubt yout}'d want it to be quite that slow. #sets is the number of copies of data to cycle through. The circle in the deu}mo goes thru 8 sets with a size of 10. The arrow cycles thru 14 sets of 8 (112) bytes. It has copies of itself inv} all 8 directions. Timing: 1 minor timing bug is evident when switching the player from 1 set of data/size/animatew} parameters when the SIZE is not the same. This occurs in the demo program when pressing SPACE to pause. The animatex} routine takes several steps to stop this as much as it can but it still happens. The player will cycle though 256 y} copies of what ever it finds in memory after it gets lost. Eventually it loops over and goes back to the selected dz}ata. If I can think of something else to try and fix this I will add it, but its not really a major problem and is{} not fatal when it occurs. Additional acknowledgements: The setup for the PM graphics init. was taken from an arti|}cle in the Compute 3rd book of ATARI. The method for reading the joystick and updateing the basic vars was found }}in the Compute 2nd book of ATARI. The only testing I did on the routines is what you see in the demo program. ~}No doubt there are other possibilitys for ways to use these routines. I hope to hear from any of you who have suggesti}ons questions or comment about the PMGINT system. The routines were written & tested on a 800xl with Spartados & B}XE. I also had the CX85D driver loaded during the development. I tested the demo with both CX85D and another pro}gram that uses the VBI interupt (VBARR.COM) and the thing still ran. You can get an amazing amount done during that }small period of time. (CX85D.COM and VBARR.COM only work with Spartados I think.) A few of the things I am plan}ning to add are: Missile support. Currently not implemented although PDSTR$ has room for the data. (each player} uses 31 bytes in PDSTR !!!) Stop on collision flags. I need to think about how to implement this, any input wou}ld be appriciated. A routine to "tie" a player to the joystick and adjust the position accordingly during the VBI}. *** Next up !! Scott A. Armitage # 72750,2237/exit?? Y