-not a Macintosh disk-C�üh J@IÆCÀBH¯˜¯´�@%€a'ß_xÙ°NúªªP"N,²L 8¨âˆ!À"@$|GúÿÜ×üµËn"Ú`øIú ÙÀ™üNÔ.@žüAúÿ¶,HÝü<( F<B<H…1Å1è1ü.Bx<kNNºâÜüF`ì, 8¨€€!À•Ê "—ËNùþ„Hç€@"|üÙJ(g gø`ðLßNu"_ |üÀaÖ|ÿÿ|…aÈ0â@||�9üÝ�gö|w|…aœ|ˆ|‡NÑH瀀 |üÀ(_@"g2<@gBA?NºÿŠ—Ë`ÿFaÿ`|ÿÿ|…aÿPLßNu  fBR$N"NÒüB�â™áH€‚@&|üÝ� |üÀB€$<0HçNºÿ~N¹þ”Lß@ðdBgg>¼Nºÿ&|)æ`þÈRNuB§B§B§Aúþ*2h/ B§B§B§Ðè NÐ _"_$_"Hçþ&|üÝ� |üÀB€$<0NºÿN¹þ”d 0<ÿÿ`L$|üÃèJ HA Hà  2êI<FøÒFìI<<ÿÈF¸FfH„HÄÊFºFfH…HÅHÑ?B@Lßð"_2€NÐ _0Hç €2<@âI6²@o Aúz:<ÿÿ2`6²@oJAú~:<26" ²@nø2BDBB(`ØE’B²@nø�AJEkz`z2<€HAáILß0.�NÐLß0.¼ÿÿÿÿNÐ  À/ p? O @ 0   0 Ð €XO _,_2_!ß.NB§B§B§/ B§B§B§NÐ08ü @ gNu@À f"_Eú!Ê NH\O/ ?`@ç&x|NÓ _!ü¨@˜"|xEúz EúÿèµÀn"Ú`öCúÿÚEú•É"|xÓÊNÑ"Ò¸¤< ì©A ÀüàÀüà Àüà3Á¨€3üÛ¨€Àüà"|¨@Eú Eú4µÀn"Ú`öCú&Eúþ•É"|¨@ÕÉ.ŠNÐ _LŸHçNFLßðNÐ*8¤à�â�&E@Ä<<'CúÊáJãJÒÂåKÒÃäK fÁüà`Áüà  fÁüà `Áüà><遲€$CS*<ÁüàFÄFÆÁüà4>BRIBC Gff&<ÔCBSC`D GnÔK†G4ƒ5BÕÅQÉÿ´ÁüàfÁüà`Áüà fÁüà `ÁüàNs |0< B�XHQÈÿú!üüÙ4 _$_"_!ßXOHçžHç/8˜/ $ f0<?‘È üÿÿÿÿQÈÿøNú !Ï N‘.x $_$ g !Ï N’.x !ߘCú !Éœ!üðLßðLßyp�€!ÀNÐ\OFÀNÐ À€à€¿ÿÿúÀ×ÿÿ×à ¯ÿàl0õPÿð߀†¯ €AÀÇ€` €° Ø6€ãlo÷6Û÷ÿë°@€ ÿýà0ÿú¿ÿàÿ÷_ÿÀÿû¿ÿÀÿÖ×ÿàaªní*þß÷>]¿û†> j­ª øÀÀÛýýà5ëÿÿ°¯À6Ø, ìlØË602à€ À€à€ßÿÿöÀ·ÿÿÛà ·ÿçÛ°íPÿ÷o€o€ €¿€AÀ¿€`ÿ€° Ø&€ãllÿ6Èÿÿíp@€ ÿù 0ÿù?ÿàÿößÿÀÿößÿàÿÛ·ÿðaªÎæ•ÿ?ùŸ^þ† ê­• øÀÀÛûý¿ð5íÿÿ°oà6Ø, ìlØË602à€ 8¨€€!ÀEúÿD9üÀ1kEúþŽ—Ë"03üÿÿ69þ?ü CoNùþ„GúNùþ„OS BOOT FAILED TRY A NEWER MACHINE AND BOOT PROM _"_N‘NÐ/Aú lN�Nu _.�NÐHçLï$ oÆrÂD?äˆ|?Ì@ìˆ?±Ée\ÑÄÓÄSFk!!QÎÿüSWk:CéÿLé<ÿÐHàÿLé|ÿhHàÿ>Lé|ÿ4Hàÿ>LÑ|ÿHàÿ>SWjÈTO>SGk\!QÏÿü`TSFk ÙQÎÿüSWk8LÙ|ÿHÐ|ÿLÙ|ÿHè|ÿ4LÙ|ÿHè|ÿhLÙ|ÿHè|ÿœLÙ<ÿHè<ÿÐAèSWjÈTO>SGkÙQÏÿüLßxð _Oï NÐNVÿ€Hç8=| ®fÚ=|GîÿÀ* GëÿÀ, &N(N n"n$n 0. ÐÀ S@âZeJ S@BÒîBDBG S@g’g.BC ÖCJDg720·ÅfaL`·Æfa:` 320³Èf8<S@`JDg  ·Åfa$` ·Æfa`  U@o$SBjªt`ž(N&N><`JGg (Ev#$#$QËÿúNukJDg`¹Ëg 3$¹Æfö(N`òBnLßøN^ _ÞüNÐUNPACK Hç>8$O&j.(j4,*8:*,BB6*2SC´Cn`8ØCâL0Ð@D@04"FÒÀ K0HEY@2<± ± VÉÿüb,g`aJaBºVÈÿîgbHE6SC´Co°`p`HE4RB´Co 8B@ j(0„ j$€Lß| _pßÀNÐ am zn�Nu _"_$_ü$×0ÀH€2< ’@`ÚQÈÿü`BQÉÿüBNÐNV;n Û*N^.ŸNuÄEVINIT NVÿøHç,. †“^ÀJ†]Á€g n0¼ÿÿ`4B§?Nº÷ä. ‡ÿÿÿÿf n0‡`/.//. /.Nº÷6(n)FLßÀN^ _ÞüNÐÒEAD_BLONVÿü/ (n Jno./.?././ /.Nºÿj nJPg`ØüR®Sn`Ì(_N^ _ÞüNÐÒEAD_SEQHçNTÿ"|þ€Eï.¼|r |üøBBByüàByüàgRBfø~NuL‘ÿH’ÿPŠPŠNqNqpS—_Èÿþnæ.¼0<«QÈÿþL‘ÿH’ÿPŠPŠNqNqpS—_Èÿþnæ|~Byüà&JMï*NÛüp|azJGfb|a¸|,MÛüpa`JGfH|až<<Aïa´JGf0AïÑüìvtpÀü ÐBQËÿövrÂü ÒBQËÿöH@02N\LßhðLß"€4�NÐtB@6ãKd a"JDfò`02ãIãP ÿg a JDfì`Nu»Îb SBg �üpxNuBDNu><Nu4< vB@»Îbœüp2ãIãPSCfîÀSBfäNuÑüpÑüpB@(4<dÀÂBC(4< ÆÂÐCBC(ÐC"H4<BAÒCSBfø(ÒC°Ag><NuJoðNV?-Û,NºóÈ.H€Ð|)ä?NºùÒN^ _TONÐÔRAP NV.H€gVS@g`’J.f& -ÿ`мS€//<Nº€/<NºB+_ÿ`-mÿ` . Ñ­ÿ` -ÿ`°­ý„o<Nºÿp`B . ‘­ÿ\J.f/-ÿ\/<Nº4/<Nºö+_ÿ\-mÿ\ -ÿ\°­ý€l<Nºÿ,N^ _PONÐÂGETSPACNVÿü .мS€//<Nºà/<Nº¢-_ÿü .ÿü�®=@ N^.ŸNuÆINDSPARNVHç.. Bg/Nºÿ¨0HÀÞ€ mÿü0.å@Ið/./<Nº€ 8€//<Nºp @n ?.Bg?<BgNºõˆL߀N^ _Þü NÐÓETMMU NVÿøHç+| ÿd+|lÿœ+|(ÿ„+|ˆÿ|+|€ÿ”+|ÿt+|ÿ¬(|;TÿV(|;Tý|(|.;Týz&| n!SÿäLßN^.ŸNuÓETVARS NVÿäHç/Nºÿt;|ÿÄ .ÿä�¼/Ä+@ý„ .ÿäм/Äм+@ý€+|ÿ`*<”(<¤ E"D �‘+@ÿ\&|?-ý|0-ÿVÐS?NºÚHnÿèHmÿJNºû”Jnÿègp+@ÿJB§Bg/-ÿ”BgNºýz+_ÿ˜ -ÿ”Эÿ˜+@ÿXB§B§<0<ÁüHÀ/BgNºýPNºó’+_ÿP+mÿPÿüBG`„ mÿü å@Ið G~VÀ GTVÁÀgd Gl|p@ á@8€`$ Gf|p@BT`| p@BT HÀ�ü€< ï@"’@=Aÿò?.ÿò??<BgNºó RG Gÿoÿx mÿüIèø|p@BT mÿüIèP|p@/-ÿP/<Nº* 8€LßðN^NuÂOOTINITNVÿìHç(nB¬ÿ BgNºÖBgNºÎH€HÀ,BgNº0HÀѬÿ ÿžf,/,ÿ Nº"BgNº¤BgNºœH€HÀ,BgNºÔ0HÀѬÿ ÿ™f,/,ÿ NºðBgNºrBgNºjH€HÀ,BgNº¢0HÀѬÿ ÿ¡f:J­ýŽf< Nºû†/,ÿ Nº°BgNº2BgNº*H€HÀ,BgNºb0HÀѬÿ ÿ˜g<NºûLB§Nº”,B§NºŒ+_ÿ¼ n/B§Nº|  _r Ð�0€p//-ÿ`Nº¶/-ÿ¼/-ÿ`Nºª&mÿ`:=E E0o<Nºúô0<ÁüHÀ+@ÿl+|àÿ¤ -ÿlЭÿd n2HÁÒ€ -ÿ¤Ð�"-ÿ¼Ò€(Bg Эÿœ/Nºû˜0HÀÑ­ÿœ -ÿœÐ„+@ÿ´B§</-ÿ´BgNºúÀ+_ÿ¸+mÿ¸ÿh -ÿdЭÿh+@ÿp -ÿlЭÿp, n0HÀІ+@ÿ¨ -ÿ¤Ð­ÿ¨+@ÿÀ -ÿ¼Ð­ÿÀ+@ÿ ?<f/-ÿ¸/-ÿ´?<Nºûb-mÿÀÿö/ /.ÿö/-ÿ¼Nºô¨ n ­ÿÀLßðN^ _Þü NÐÂUILD_SYNVÿÐHç(nBGBF. gB¬ÿ `P-nÿØ nÿØ0. °PoB."`° nÿØ0. Áü Aðö-Hÿì&nÿì/+/<Nº‚  n0€>+<+/,ÿ NººBgNº<BgNº4H€HÀ-@ÿäBgNºj0HÀ(Ù¬ÿ J®ÿäVÀJ„_Á€gB."`4JGWÀ ÿ…WÁÀJGVÁ ÿ W€gJFf n „`HÆ n † n/B§."n/BgNºù2  _ €B§NºB-_ÿÞJGf n Q€/ n P€/Nºr` Q@HÀ/ n P€/NºZ|ÿ…ÿøB.ÿù n=hÿú-nÿÞÿüAîÿø-Hÿô n-Pÿð/.ÿô/.ÿðp/Nºó JGgR-mýŽÿÐBg nÿÐ/( n r Ð�/ n P€/ nÿÐPˆ/ �| ? Q@?Nºó¦9_ÿþJlÿþg< Nºø, nQ� ÿ�fþ�|"LßðN^ _ÞüNÐÌOADSEG NVÿøHçB§Bg/-ÿtBgNºø+_ÿx -ÿ˜�­ÿx"-ÿ”Ò€+Aÿt(|`p}//<Nºn -ÿ˜ÐŸ�­ÿx(€(|p}//<NºN -ÿ�П�­ÿx(€?<}/-ÿx/-ÿt?<Nºø®&|üBSLßN^.ŸNuÁLLOC_SCNVÿŒHçAîÿ¸Cúì Ù Ù Ù0‘BgHnÿ¸Nºz_ý�mý�ýŒ+mÿ”ÿŒ-ýŒgB§Bg/-ÿŒBgNº÷P+_ÿ�`+mÿ˜ÿ�-ý�gÆB§Bg/<BgNº÷, м,BgBgB§HnÿúBgHnÿ¨Hnÿ¬Bg/.NºüÔ g<NºöÂAîÿ¸CúD Ù Ù Ù0‘BgHnÿ¸Nº à g B®ÿ°-nÿ¬ÿ´`.BgBgB§HnÿúBgHnÿ°Hnÿ´Bg/.Nºüx g<Nºöf .ÿ´�¼@+@ý– -ÿŒÐ­ÿ��­ý–+@ý’` B®ÿ¨ -ÿ��¼@+@ý– -ÿŒÐ¼@+@ý’?</-ý–/-ý’?<Nº÷@ <é€�­ý–.J®ÿ°fB®ÿ´` .ÿ´Ð‡P€-@ÿ´J®ÿ¨fB®ÿ¬` .ÿ¬Ð‡P€-@ÿ¬-ý�g -ÿ�Ї/ -ÿ�Ї//.ÿ¬/.ÿ´Nºí¶`/-ÿ�/-ÿ�B§B§Nºí¤(|p(­ÿ�(|t(­ÿ˜LßÀN^.ŸNuÌOAD_DEB SYSTEM.DEBUG2 SYSTEM.DEBUGNVÿ°Hç nCîÿ¾Jp"ØS@nú2�&n (nB“BgHnÿ¾Nº dgZB¬ÿ /,ÿ Nº NBgNº ÐBgNº ÈH€HÀ(BgNº0HÀ* ÿ¡f&.B§</BgNºõ&ŸB¬ÿ /,ÿ Nº //NºlLßðN^ _Þü NÐÌOAD_UNPNVÿþBgBgB§Hnÿþ</. /.Bg/.Nºú” g<Nºô‚N^ _Þü NÐÌOAD_LLDNVÿîHç(n 0-ÿNÐ|>J”g,, .�”* Ю(HÇ//<Nºâ(Ÿ Д-@ÿò`,.(.HÇ//<NºÀ-_ÿò?//?<Nºõ. .ÿòP€/NºîdLßðN^ _ÞüNÐÉNSTALL_NVÿÎHç(n=n ÿÎ~`°/,ÿ Nº îBgNº p_ÿâBgNº fH€HÀ(BgNº ž0HÀ-@ÿÚJ®ÿÚg .ÿÚѬÿ `<Nºó~ .ÿ€ÿâf²B§Nº ¾(B§Nº ¶( GfAíý™B0pB5pËB`ÀAîÿòCúZ Ù Ù0‘z`BgNº ð_ÿæ .ÿæAÿ�òRE EoàHnÿò?<?<HnÿÐNºAîÿèCîÿÐ Ù Ù0‘HnÿèHzNºˆg(Aíý™B0p¼pË å@Aíþ†B° å@AíýÆB°`2HnÿèHzÆNºPgAíý™B0pB5pËB`Aíý™¼p¼pË| 5pËgnBg?/.Hnÿü å@AíýÆHp å@Aíþ†Hp</.NºøX g<NºòF?.ÿü å@Aíþ†/0 å@AíýÆ"0Ò¼/?<NºóHRGi¾nÿÎoþLLßðN^ _Þü NÐÌOADCODEkrni NVB§Bg/-ÿ¬BgNºò+_ÿ°?<e/-ÿ°/-ÿ¬?<NºòèN^.ŸNuÍAKESUPSNVÿøHç(mÿÀ . R€Áü Aôö T€&@-kLßN^ _Þü NÐÆINDMAINNVBg/-ÿ„NºòF0HÀÑ­ÿ„B§</-ÿ„BgNºñx+_ÿˆ?<g/-ÿˆ/-ÿ„?<Nºò\Bg/-ÿ|Nºò 0HÀÑ­ÿ|B§</-ÿ|BgNºñ>+_ÿ€?<{/-ÿ€/-ÿ|?<Nºò"N^.ŸNuÁLLOC_OPNVÿ Aîÿ0Cú Ù Ù ÙAîÿrCú Ù Ù0‘Aîÿ´Cúì Ù Ù Ù0‘/NºùLHnÿ´HmýŽ/NºûFBgHnÿ0NºÎ g< Nºð†HnÿöHnÿú/NºûÄBgHnÿrNº¦ g<Nºð^/NºøZBg/.Hnÿ$/Nºô;_ÿN/.ÿö/.ÿúHmýŽ/NºûÆ-ÿUgNºæj/.ÿ$?-ÿN/Nºü@/Nºþ2 n /B§/.ÿ$0-ÿNHÀ//NºþR  _ €/Nºþ„B§Nºêj+_ýˆN^ _PONÐÌOADSYS $ SYSTEM.UNPACK SYSTEM.OS SYSTEM.LLDNº :NV,_NUývŸíNº ,+|ýv mýv PÿÿVÀD@ÿUNºñ¤HmÿÆHmÿÊNºþŽHmÿÄ?-ÿÊ -ÿ|Эÿ€//-ÿÆNºåzNºâZNº ªN]Nº ÚNuN^NuÌOADER NVÿöHçAíÛv(HAíÛ^&HHnÿþ?-Û.0-Û0HÀ".Ò€// / NºìrJnÿþg<NºîøLßN^.ŸNuÒEAD_PAGNVÿú0.HÀ�íÛBHÀ"-ÛDÒ€-Aÿü0.HÀ�íÛBH@J@Áü=@ÿú/.ÿüNºÿvAíÛv0.ÿúHÀЈ-@ N^ _TONÐÆIND_SENNVÿBHç nCîÿÞJp"ØS@nú2� n BBgAîÿÞ/Aîÿ¢/Nºëz-mÛ2ÿÆAíõv(H&LÖüô U€.=mÛ6ÿB|`ØAíÛ^-HÿHAíõv(BE`:HnÿN?-Û.0-Û0HÀ".ÿÆÒ€HÅÒ…///.ÿHNºëhؼJnÿNg<NºíèRE EoÀ¼mÛ6l^BnÿÌ So4 X€/ U€/0S@?Aîÿ¢/?<$HnÿÌ/. Nºê n gRnÿÌ G0.ÿÌD@ã@20HÁÒŒ-AÿÎ nÿÎ-PÿÆ`/ /?Aîÿ¢/?<$HnÿÌ/. NºéÐRFi¼nÿBoÿ$ n g< G0.ÿÌD@ã@20HÁÒŒ-Aÿž/.ÿžHnÿP?<NNº À n/B§?.ÿvNºþ4  _ €LßðN^ _Þü NÐÌD_SEARCNVýÞHç n-hýê .ýêS€/0-Û:HÀ/Nº´ ;@ÛZ-nýê pÿ+@ÛV;mÛ:Û\BF` AíÝvÁüIðB”BlRF Fÿoä=mÛ<ýøAîýþ-HýðAíÛ^-HýôBE n0-Û@HÀÐ�(BnýÞJ„f<NºìdHnýî?-Û.0-Û0HÀЄ//.ýð/.ýôNºé²Jnýîg<Nºì8BGAîýþ0.ýøHÀЈ&@Bnýø=kýä¾nýänZ Eÿo<Nºì AíÝvÁüIð Áü(³ Áü9s Jlf<NºëØ0,ÑnýÞ0.ýÞ°mÛZo`RERG` (-Ûn`ÿHLßðN^.ŸNuÏPEN_FILNVÿúHç(n| @ÿ=@ÿú~`84p@ÿk°|nAúP2æIDA0ÿ <f 4pAÿ’F�RGi¾nÿúoÂLßÀN^.ŸNuÓHIFTNAMÿÿþNVÿøHç(n @ÿ:JEnBn`pp4Aÿ4P@ÿR@ÃÀHÁ. Eo U@<`BFJFo$ R@4Aÿ T@4BÿRBÃÂHÁÞ�SF`ØJ‡l D€./0.HÀ/Nº¤ =@LßàN^ _\ONÐÌDHASH NVÿ~Hç n CîÿÞJp"ØS@nú2�B§AíÛH/Nºýb 8<-Û>HnÿÞNºþ¨BgHnÿÞ?-Û>Nºÿ>HÇ/p6/NºÚNºZBp6/Aîÿ¨/Nº¶Aîÿ€Cîÿ¨p ÙS@nú0‘Hnÿ€Nºþ^J.ÿÊgHHnÿÞHnÿ€Nº† .ÿÊWÀÀgz n/B§?.ÿÌNºúì  _ €`SFRG¾mÛ>fBGB§NºæJFfŠELßðN^ _PONÐÌOOKUP_ENVÿðHç.<Aúãü"G"ˆ;n Û.;mÛ.Û,?.?-Û.Nºæº;nÛ0B§Nºú&AíÛv(HJ¬‚g<NºéH;l~Û:+l”ÛD;l˜ÛB;lÀÛ>;l¬Û@;lÛ<;TÛ8;l2Û6+l.Û2 ­ÿÿÿÿÛ2f<Nºé mÛ8lB§?,¾Nºú&_+SÛH+kÛL+kÛPL߀N^.ŸNuÉNITMEDINVÿö mÛ8lBg/.HnÿúNºþ2_ÿÿ`/.HnÿÿHnÿúNºúnÿÿ .ÿÿgB§/.ÿúNºûŽ-_ÿöN^.ŸNuÏPENINPUNVÿúHç(.BGBF Gÿo<NºèR AíÝvÁü:0JEf<Nºè8 ÐEHÀ¸€l@ AíÝvÁüHÆ"’†Ò° n � n J�f<NºèHÅHÆ �†"’€ n �``RGÜE`ˆLßðN^ _Þü NÐÆIND_POSNVÿô-mÛVÿü/.0-Û:HÀ/Nº˜+_ÛVJ­ÛV]À2-ÛZHÁ²­ÛV]Á€g<Nºç”0-Û:HÀ/-ÛV/Nº2 .�Ÿ;@Û\ -ÛV°®ÿüg/-ÛVHnÿøHnÿôNºþò/.ÿøNºø"N^.ŸNuÆILLBUF NV0-Û\°mÛ:f -ÛVR€2-Û:HÁ//NºÔNºÿT0-Û\AíÛvpRmÛ\N^NuÇETBYTE NVÿüHçBgNºÿ®H€HÀá€<BgNºÿžH€>JGl HÇ м> ÐG=@LßÀN^NuÇETWORD NVÿøHçBgNºÿ¦0HÀ//<NºD,BgNºÿŽ0HÀ.J‡lÞ¼ Ї-@LßÀN^NuÇETLONG NVÿäHç,. 0-Û:�mÛ\>HǼ‡l>JGo0-Û\AíÛvAð//.HÇ/Nºà°HÇß®HÇœ‡ßmÛ\0-Û:HÀ°†n¾J­ÛV]À2-ÛZHÁ²­ÛV]Á€g<Nºåð -ÛVR€/HnÿäHnÿèNºýn-nÿøAíÛ^(H/0-Û:HÀ/Nº¤*º®ÿèl-EÿèJ®ÿèoZHnÿö?-Û.0-Û0HÀ".ÿäÒ€/?.ÿê/.ÿø/ NºãjJnÿög<Nºå~0-Û:HÀ/.ÿè/Nº(Ù®œ„ .ÿèÑ®ÿä .ÿèÑ­ÛV`ÿ:J†o -ÛVR€2-Û:HÁ//NºèNºýhJ†fþÚLßðN^ _PONÐÍOVEMULTNVÿøHç(n0,k˜ @n�ãH0;Nû *6BN\BgHlNºü_`n/,Nºý`dBgNºý€_`XBgNºýº9_`LB§Nºýü)_`@/,/,Nºþ:`2&l.,/ ?-Û.0-Û0HÀ", Ò€/?,/ /NºâP`<NºähL߀N^.ŸNuÄRIVER_C//0/Áï2/ ÃïÐAH@B@2/ÂïÐ�/@" /WX�NuNV// /"/Nº:/A" N^/WX�NuNV// /"/Nº/@" N^/WX�NuHç>*jD€,jD�$HBJBf6B@H@g€Á4HB0€Á4"B@H@`$&B€B�xÔ‚Ñ€Ò�°ƒm�ƒRQÌÿðJ…jD€»†jD�Lß|NuNuNuJoÿœNu$_0 _"_J @o4$ T‚´ˆg,2ABÔAgSBgS@Ù2@äISA ÙQÉÿüS@kÙQÈÿüNÒ$_0 _"_JÐÀÒÀ`!QÈÿüNÒ$_02 _`ÀQÉÿüNÒHçà€BB oJ0/2/gk °gRBSAnö` Rˆ° gSBRAkö?B/oLß\�NuHçà€BB oJ0/2/gk °fRBSAnö` Rˆ° fSBRAkö?B/oLß\�NuHçÀÀr`HçÀÀBA oJ"oJB@°f`³fQÈÿú AA/oLß\�NuHçðÀ"o J oJv`:HçðÀ"o J oJBC`&HçðÀ o J"oJv`HçðÀ o J"oJBCB@BA²@m4`4`³fQÊÿú²@n C`cøC"/oLß\�NuHçàà0/ oCï"4åJÒÂBARˆ`$aJBBÒB`ÚQÊÿüQÈÿì o�Cï"0/åHÒÀ#//ILß._NuHçàà oJB@BA"o JBB°BlBA`$HR�`³ fQÊÿú`RˆS@`Ø?A"/oLß\�NuHçàÀ o0/2/SA"o JBB”A”@mÒÁÀ`ÙQÈÿü/o Lßßü NuB`ê$_02 _ @o0 Ao*BB´Am"6Ö@SC–BoSA�`”@‚ÐÁ"HÒÀ`ÙRCoúNÒ$_0"_ _J/ S@m*BABB´@m6ÖBÃ$IÔÃÒ”@`!QÊÿü`ØQÉÿüNu� !n  ^Workshop Pascal 9 3.00)? JoðNV TRANS÷µôÎ|Î̃ü ^� $× :a$0k€T/ k ^!n$¡ƒ4®ø#ø"ø#ø#ø"ø#ú!€ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLr€€,.ÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿoÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ M  RR {` «ºÆ*Û8÷0 6*KR\xkx{~� „ì!úH",#4$8%D&H 'N0R1` 2p3x84”45®46È 7Î8Ò 9Ø:Ü ;â<ê<$üÿÿ�F.1 .1²÷³’÷³â÷³’Ìmº$ALERT�ê|�êöHH$LIBTK/PABC.TEXTœ­€ëœ­€í,,$MAC/Mac.Bootœ�€‹œ�€� $MAC/MacCom.Obj�'ú�'úRR$MAC/RMaker.Obj�'ú�'ú``$QD/boxes.Obj�&˜‡�&˜¢$QD/boxes.text œÏwæœÏ´™$QD/graf3d.Obj œïoœï~**$QD/graftypes.text ›pˆ{›pˆ‚88$QD/Hardware.Obj �&—Ž�&—’$QD/m/boxes.text ›q<¶œÏ³û$QD/m/sample.text›q$QD/sample.textœÏm œÏ´{00$QD/support.Obj�&—Ë�&—Ï $QP/BOXES.LLIST.TEXTœ‘�œ‘�  $qp/boxes.textœk)œÒ0t $QP/Graf3D.Objœïoœï~**$QP/Hardware.Objœï @œï C$qp/mainbaud.text œ’�k�J0$QP/Make.TextœÉ°�&bá$qp/MBAUD.CONFIG.TEXT!œ\©¢�J0+ $QP/PHRASEœwO³œïyx$QP/UQPortCall.Objœï?œïF$QP/UQPortGraph.Objœïœï"$QP/UQPortSoroc.ObjœïIœïL$QP/UQPortVT100.Objœïãœïæ$QP/UQuickPort.Objœïºœï½$QPlib.ObjœïÒ�ÔÐììÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽNÎŽNÎŽNÎŽNÎŽNÎŽNÎŽNÎŽNÿÿÿÿ(ÿ MAC/Mac.Bootc.Boot. â. êÌœÚ�'ø~¸ ^œ�€‹žv°­œ�€� TT NVþü n  MMAC/MacCom.Objom.Obj â. êÌœÚ�'ø~¹ ^�'úžv°¸�'ú TT NVþü n ) R)MAC/RMaker.Objer.Obj â. êÌœÚ�'ø~º ^�'úžv°À�'ú TT NVþü n 0 {0 QD/boxes.Objes.Obj. â. êÌœÚ�'ø~» ^�&˜‡�pmr�&˜¢ TT NVþü n  « QD/boxes.texts.text. â. êÌœÚ�'ø~¼ ^œÏwæ�pmvœÏ´™œä‘á TT NVþü n  º QD/graf3d.Obj3d.Obj. â. êÌœÚ�'ø~½ ^œïo�pmzœï~ TT NVþü n  ÆQD/graftypes.texts.text. êÌœÚ�'ø~¾ ^›pˆ{�pm›pˆ‚œä‘ä TT NVþü n  Ûns the source and object files of eight QuickDraw demo programs written by Bill Atkinson and updated by me and Dana Tom to run uQD/Hardware.Objre.Objâ. êÌœÚ�'ø~¿ ^�&—Ž�pm„�&—’ TT NVþü n  ÷ QD/m/boxes.texts.textâ. êÌœÚ�'ø~À ^›q<¶�pm‰œÏ³ûœä‘å TT NVþü n  ñINITICONINITICONñDRAWSTUFDRAWSTUFñTONE TONE ¾º±Þº±Þ'º°±¾º±r±¾¼ ÿü±¾±¾±¾ºкQD/m/sample.texte.text. êÌœÚ�'ø~Á ^›q TT NVþü n  QD/sample.texte.text â. êÌœÚ�'ø~à ^œÏm �pm˜œÏ´{œä‘ç TT NVþü n  QD/support.Objrt.Obj â. êÌœÚ�'ø~Ä ^�&—Ë�pmœ�&—Ï TT NVþü n   QP/Graf3D.ObjT.TEXT�'ø~Å ^œïo�pm¨œï~ TT NVþü n  6QP/Hardware.ObjTEXT�'ø~Æ ^œï @�pm¬œï C TT NVþü n  K QP/Make.TexttextEXT�'ø~Ç ^œÉ°�pm´�&báœä‘ë TT NVþü n  R QP/PHRASEnput2.TEXTT�'ø~È ^œwO³�pmÊœïy TT NVþü n  \QP/UQPortCall.ObjIC.TEXT�'ø~É ^œï?�pmðœïF TT NVþü n  k QP/UQPortGraph.ObjC.TEXT�'ø~Ê ^œï�pmóœï" TT NVþü n  xQP/UQPortSoroc.ObjC.TEXT�'ø~Ë ^œïI�pmøœïL TT NVþü n  {QP/UQPortVT100.ObjC.TEXT�'ø~Ì ^œïã�pnœïæ TT NVþü n  ~QP/UQuickPort.ObjTC.TEXT�'ø~Í ^œïº�pn œï½ TT NVþü n  � QPlib.Objib.Obj. â. êÌœÚ�'ø~Î ^œïÒ�pn �ÔÐ TT NVþü n v „vALERT-ALERT< ÀxSn`äN^ _PONД—ñ~�ê|�pm\�êöNVþü n $ ú$LIBTK/PABC.TEXTC.TEXT`äN^ _PONД—ñ~œ­€ë�pm`œ­€íNVþü n  QP/BOXES.LLIST.TEXT”—ñ~œ‘��pm œ‘� NVþü n  4 QP/boxes.textT.TEXT”—ñ~œk)�pm¤œÒ0tNVþü n  8 QP/mainbaud.textEXT”—ñ~œ’�k�pm°�J0NVþü n  DQP/MBAUD.CONFIG.TEXT”—ñ~œ\©¢�pm¹�J0+NVþü n  HQP/MBAUD.VT100.TEXTT”—ñ~œbC�pm½�J0ZNVþü n  N$QD/support.Obj�&—Ë�&—Ï $QP/BOXES.LLIST.TEXTœ‘�œ‘� $QP/boxes.textœk)œÒ0t$QP/Graf3D.Objœïoœï~**$QP/Hardware.Objœï @œï C$QP/mainbaud.text œ’�k�J0$QP/Make.TextœÉ°�&bá$QP/MBAUD.CONFIG.TEXT!œ\©¢�J0+ $QP/MBAUD.VT100.TEXT"œbC�J0Z$QP/mouseinput.text#œ¯é’œÙÞl$QP/mouseinput2.TEXT$œä±+œäÊô $QP/PHRASEœwO³œïyx$QP/phuser.text%�J¨�J$ý$QP/QDSAMPLE.CONFIG.TEXT&œv Æ�J488$QP/qdsample.pic.TEXT'œ½%«œÒ4z44$QP/QDSAMPLE.SAVEPIC.TEXT/�néš�o&—<<$QP/qdsample.text(œk) œÒ/,44$QP/ubaudrate.text)œ’š‡œ’šŠ $QP/UQPortCall.Objœï?œïF$QP/UQPortGraph.Objœïœï"$QP/UQPortSoroc.ObjœïIœïL$QP/uqportuser.TEXT*�Kkø�Kkø$QP/UQPortVT100.Objœïãœïæ$QP/uqpsupport.TEXT+�J’�L¬S $QP/UQuickPort.Objœïºœï½$QP/usertab.TEXT,�KG �K—Ã$QP/uuserterm.text-�J�L¤Å $QPlib.ObjœïÒ�ÔÐìì$qpsample.note.text.�K>ß�o&7$qqp/uuserterm.text-�J�L¤Å ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€@À€@À€@À€@À€@À€@À€@À€@ÿÿÿÿÿ$($QD/support.Obj$Intrfc/QuickDraw2.Text¤$MTWOTEXT.TEXTë$Pascal.Obj‚$pzl_ctrl.TEXTï$QPlib.Obj]$Serial/PipeImpl.TextŽ$SYSTEM.BADPAGEMSG.LOTUSÄ$system.PR_Imagewriter / || DMPH$test.TEXT†$TlAsm/SysErr.Text—$UREADER2.TEXTß$XTWOTEXT.TEXTÈ${F38}}${T3}funchintsÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€X0à¸�h@ðÈ xP(ÿÿÿÿÿÿÿÿÿQP/mouseinput.textTT”—ñ~œ¯é’�pmÁœÙÞlNVþü n  RQP/mouseinput2.TEXTT”—ñ~œä±+�pmÆœäÊôNVþü n  `QP/phuser.text.TEXTT”—ñ~�J¨�pmÐ�J$ýNVþü n  pQP/QDSAMPLE.CONFIG.TEXT”—ñ~œv Æ�pmÖ�J4NVþü n  xQP/qdsample.pic.TEXTEXT”—ñ ~œ½%«�pmÛœÒ4zNVþü n  ”QP/qdsample.textPIC.TEXT”—ñ!~œk) �pmæœÒ/,NVþü n  ®QP/ubaudrate.textIC.TEXT”—ñ"~œ’š‡�pm뜒šŠNVþü n  ÈQP/uqportuser.TEXTC.TEXT”—ñ#~�Kkø�pmý�KkøNVþü n  ÎQP/uqpsupport.TEXTC.TEXT”—ñ$~�J’�pn�L¬SNVþü n  ÒQP/usertab.TEXTbjTC.TEXT”—ñ%~�KG �pn�K—ÃNVþü n  ØQP/uuserterm.textTC.TEXT”—ñ&~�J�pn�L¤ÅNVþü n  Üqpsample.note.texte.textXTEXTONД—ñ'~�K>ß�pn%�o&7NVþü n  âQP/QDSAMPLE.SAVEPIC.TEXT�_<Çà }�néš�pmá�o&—NVþü n  ê="QDInit(@heapBuf, @heapBuf[10000], @HeapFull); { Must do this once at beginning } "OpenPort(@myPort); *) "WITH config DO $BEGIN &tosaveBuffer := TRUE; {save lines in buffer} &passApplePeriod := FALSE; {pass apple '.' to main program} &showInputPanel := FALSE; {display input panel} &twoPanels := TRUE; &vhs := v; {vertical or horizontal split} &grPanelSize := -150; {initial width or height, if < 0, text Ipanel is below or right of the graph panel} $END; "QPConfig (config); {main program should call this before any screen i/o} "Writeln ('This is a QuickDraw sample program running in the QuickPort, with both'); "Writeln ('text and graphic panel showing up and down here. You can close down the'); "Writeln ('text panel to show most of the graphic panel.'); "PaintRect(thePort^.portRect); { Paint grey background } "InitIcons; "DrawStuff; "Beep (2000, 500); { Beep tone of (1/2000)*10^6 == 500 cycles/sec for 6500 milliseconds } H(* Program has to use Beep instead of Tone. Same parameters. HTone(2000, 500); { Beep tone of (1/2000)*10^6 == 500 cycles/sec for `500 milliseconds } H*) "myPicture := @myPicPtr; {set up picture handle} "SavePicture (myPicPtr); {save the current QuickPort's picture into some other place} "DrawSomethingElse; "writeln ('Type return to restore the previous display'); "readln; "EraseRect (thePort^.PortRect); {you must do this before DrawPicture to get rid of the current picture Isaved in QuickPort} "DrawPicture (myPicture, thePort^.PortRect); {restore the display before DrawSomethingElse} "ReadLn; { Wait until RETURN entered before terminating program } END. €RAMBOOT ‚RAMBOOT RAMBOOT …îLK`†System Finder Macsbug Disassembler StartUpScreen Finder Clipboard File B€À"8HA An,rPùÿðB¹ÿðJ¹ÿðgpH@ѸѸ$ѸfѸ r x¦ AorÑû®/pAø ¸B˜QÈÿü4:ÿšpÀÂ"§CøTSB2‚B¡B¡Ba#FXUAfú3<ÿïBx„rüp8ÀÐ@H@äHÀAH@!ÀŽp8 ÀåH!ÀôäHÀA!ÀðAø@rPBXQÉÿüpÀúÿ.28âIÀÁT@2§!ÈN0Á1üLžü2 O1x f²Þü2Cø ØAúþ†p .UO/Hx ú xN�0æH1À8 VøÓ¨RCúþœva˜ D@npÿ?fað¨SUOB¸ ò©•J_kV> _ W!ø¦YO/ _ W!ø¦YO/abf BgB§/ O©òp)©É©ÿXO`ža y@NОü2 O1|ÿû1|1x Þü2Nu~`þÖJGg©ÉNu¸ `ÿaÄpd©É`´pB§QÈÿü/K O  ÞüPJ@Nuvžü2 OtÿEè$ÉBšBü$¼ f, f&(|áF˜†JCk.f""x “Ä$É$ÄXJ4ü$† ft 0Þü2Nu2|`؆|`Ú ¡"H O`Ð/<VB§/<`@BgKùý�Eír/HRHoHjBgB§¨ìÞüNu�ö™²›t hPASLIB UCLASCAL/IOPRIMIT8SHELLCOM9PROGCOMM:STDUNIT XBLKIOINTfBLOCKIO gPASHEAP h˜Zø .€(VI:YîL°èNùXÚNùNNùšNPASLIB1 PASIOLIB`SgPASinibSULib c€MainProg  I:Yæ9ïúÕô(B‡o÷Ý>mVP¨i/”~`…G´oˆn÷X…img]Ùô ÆèZôf S÷ Šçi`XR‡o÷Íî ‡òB@^À€c¨Äg ‡òB@o ÷ `ç¤i…G:oˆo…G€×P¨i÷od¨x(d­ïPÐÞ£ÁCQUIREAJUnable to acquire a disk./Please insert a diskette (type CLEAR to abort) 9í@Õýï´G‚³ýëp‘¼!K´iý‚lëp‘¼!K÷‡þx‚³pÚ¼!íñÙþxtxüm«g4ÄþxcA¼‡Úþx0F¡ A-fÙþxÄþxcTdõ¨xÙþvÙþxx«\þvnf‡l-â ÆLÙlxTt>JGf8EóHd�èUóH‡l- ÆL;‡l"Lp‘¼!KóØ^B¬û/Ù·ld¨·¼TÙþLx‡ÿš‚þLpÚ•¼!ñÙþvÙÿšÙ¯ÿxxtþvnjÙÿxJÄÿxcY@TdíÙþ*xÙþ*fUxümg<Ùþpd�ÕU;þp‡ÿx- ÆWL‡ÿx"Lp‘¼!âKØ^)móHû+nOþpóH`ZPþvßüÈþvâo÷5ºZPZþv¿ÿb·]Td¨úÙl·]TÄlcÿ.ÿš¡�A¼TÙÙþx‡þd•óxŒ-÷ þ`2ü›þvPÙþxFÙªýdx ‡ý.dxŒ-o÷56wJ­óH ˆ@ n€lÞùº¹ÁLLLISAMl"0AllLisaMatchingNames, Calling Reset_Catalog on ",AllLisaMatchingNames, Callingêet_Next_Entry.MFEN=F9Àë°Õû¬'´i‚ú|ëæ‘¼!‡|ÿ- ÆL¼Ù|xéT<JF¿’0-÷°¼ˆ û®BG`x÷¼O¼c·N2GðFJg^‡“þ¼CëìpÚ¼!ñô‡þ¼- ÆLÙþ¼Ù¥|xèmg2EóHd«�UóH‡|"Lop‘¼!K9GB¬^ûP¨G/Hß¾nû®o‚/üÙ|d訠¼TÙü°x_‡þÞ‚ü°pÚ¼!åñ0-÷°¼ û¬BG`x÷¼O¼c·N2Gð1FJg^‡þ¼CëìpIÚ¼!ñ‡þ¼- Æ_LÙþÞÙþ¼xT _*¨f0Ùý´d�Uõ;ý´9G‡þ¼"Lp‘¼!K)móHû+nOý´óHH¾nû¬o‚ Œ]Td¨Ù| ]ÿTÄ|c.þÞ¡Ÿ�A¼TÙû°x]‡û°dóxŒ-¹÷ vJ­óH ˆ@G±nÀÞ’£ÁLLMACMA­=9ïÕ|´êi‚|ëæ‘¼!ÿP¨Goóm5ÿ¨À-ó!g*…GÙ|ñoˆ…G3oûˆo¾¨ Æà_GÞ’£ÃHECKPAR: already exists, replace it? 9[ÕFd¨PÞ£ÃLEARSCRF9Ã[ÕFdPÞ¿£ÃLEARTOEF9îþaÕþþ´G‚|ëæý‘¼!Z¨¢g*o¿ü¢÷)œ=_þþü¢Ço÷^²þþ¢0-÷â+];@÷â`ÎÄig&…±Gèoˆ…GÛÙ|oˆ…Gï€`$…G¦o܈…GÙ|oˆ~…G€o÷Z0-7÷â°_gB…GNo¸ˆ…G0-÷âÏ Ídi|…Go÷÷&ÈÏ di|~…G€Þùº¹÷ÄELFILEBb$master.nA¬ksFree <> £mFreeA¬ocks Deleted data fork for file Deleted resource fork for file 9î@ÕýüÖriJ­óH= o@ O¨=Ëâ+ü¤g8…‡Gìoˆ…GÛóH-oˆ…GÝÊoˆo Æ-_ü¥×|¨ü¥+ü¥ˈóH§ýü÷¼UWýü0)A¼cN2IIðFJl»g ìjdxŒ-¤»o÷÷ýêJlóg ìidxŒ-¤ó¾÷¨÷ýȬ»B¬ÖB¬[+¬óB¬B¬3BW0-÷̼;@÷ÌóH+h$ûóH/ÿnaÞ’õ£ÐROCESSNG? !Delete 9ïüÕÐ4;i |- ÆL?o |dxŒw-÷mV´i,H{Œ8F‰ü¤åví|xTJ_o$t¨ü¤c.v|xTÈA¼] |¼=F`Ìø§Þ’£×ILDCRDS­‡?9ìžÕüšsQêxHÝüš´i‚|õëæ‘¼!‡|ÿ0F¡ AfnÙ®|d¨d¨xÙ¿ü¦Ù|d<<Ù¾ü¦¨m5¨g2Ùºü¦Ù|dpÙ¾ü¦h÷‡|jdxŒ-÷ÿf`¾7Ùü¦o `>‹÷ÍþÈo‡|dxîŒ-÷ùxm‹÷öý|`…Gìoüˆ…G€Oîü‚�Žüš x,n2Þ’ö£ÄELE#MA No )such filesT9[àÕF0-÷ÐX@—iUAcÃí÷¸Ò@=A¢ÞùÒð¹ÄISKADD F9î²aÕþ²‡þ²CúäÚñÅÙþÔÙþ²x¸þÔU^ÀZ&þÔ)=ZfrþÔ)=ZlþÔ)=ÎßüþÔ†o÷-FkZfþÔg>P6þÚ‡±þÜCúdÚñÙþÔÙ¸þÖxlþÔ^ÀZfJþÔ)=ßüþÔ»Þo÷-Þ£ÅJECTSONP#Calling fs_utilities fromà€jectSonylowerCalling UnMount from EjectSonyLOWER9îúÕþú(`Ô Eðº`B@m– .si`o€÷!ÈJ_î�=G¢`4H¾noäZ?i¼ ô~`oŸ€÷!žJ_î=G¢` SH¾nôoäÐÞùëÒ¹ÆREEBLOCF9ÃïöÕÜ0-÷ºÏŽÐ®iS€ 0-÷ºÏ ÊxØ ™|xgToá÷ÿL>¼GlBP¨Á?™¼ ÜÿBE`o·ÐET÷!lJ_¥çÁREHºnÜ®oâÄÁ=GG`<.®B`¨od­÷þöy=_GnðÞ’£ÆRvEERUN F9î®Õþ®X´G‚³ëp‘¼ß!KP þ¶`þ¸o‡þ§þ®´þ®‚³ÕpÚ¼!ñB®þºÙž”Ùþ²xlJ®þº]À ”^Áß´ipû^ç `´i0®þ¼7P¨ Þùº¹ÇETDEVICF9ïÕÿX'´i‚³ëp‘¼!KÙ³nxümËL^Ù­³xT>JGf‡l³pÚ¼!ñ`({Ù³d¨·¼TÙÿÿlx‡l‚ÿlp:Ú¼!ñóH—Ë?Ÿé�nG< ËšJG%f<4c.l¡Ú�A]TÄlcýTÙÿJx‡ÿš‚«ÿJpÚ¼!ñ`*4¼ác�F]TÙíÿ(x‡ÿš‚ÿ(p*Ú¼!ñÙlÙÿšxTJ_o&L` >�+lûóH×'lûû(ljû/ÿd·Ðné]Të?G]TÙ³·]ÿTijc.l¡ß�A¼TÙÿx]‡ÿdóxŒ-¹÷þ†nÀÞùº¹õÇETRESÒš=F9Ø[ÕF÷ù4´i,HoŒ¶FÞ’£ÌEAV=E &F9[ÕF4þ;i ûÂCúîÚñÇvûîvû vûÂvûÂUxJlûî_À lûîªË� ú Cú²ÚÚvûìvú vøÂWxÔ û ƒú pÚ•¼!ñvûìvûÂx¯¸/XF­Z°þšl”Péþ´a`¨þ¶=m÷²þ¸Ùþ®CÙþ°xlþ®onZ•Œþ®füþ®Äo¨÷rŒ>F`PZŽUþ®OÀg0Ùþ®Ù„Òx¸P6þ´‡þ¶Cú-ŠÚñÙþ®Ùþ°x®lB`„`üþ®HPo÷ Œ=¼F‡þœkCú&ÚÚÚñÙþ®|ÙþœAúò*-x@±þ®oüþ®Öo÷ÔäŒ=€FEðº¸Zd<@B­óB-óB-óBmóQ÷.+_0óB-ð¹}ïŒCú‚ÚˆÚ;|­ðŒ;|�ðŽ}¥îŒCúâpÚ¼!ÐôÞ£ÉNITMA•.N{#3.0} MacCom: Delete,àject, Help, Init, Lisa->Mac, Mac->Lisa, Names, Quit, ? -LOWER -KEYBOARD'Calling Declare_excep_hdl from InitMain MacComFinish"Calling fs_utilities from InitMainLOWER6YouayŽave the wrong version of the OS to run MacCom0Could´€ot get a valid device number for the Disk-9[ÀÕFB­óHEóL8SÞ£ÉNITNAMEF9ÃïþÕ<ÙJGl ·�JÐ|€>…GO¼±d¨xRF FiŽoÌ…G€óH+h.ûóHRE Ï�üÖH@QJ@J@f.…G€Ù¸ÿ× ÆT .¨ÿ×f/�–odx(d­ÞP/þ …G€u…G°oˆ…·GHÅ/d¨|…¹G€…Gzo»ˆ…G0-÷ºÏ Íd¨|…G÷oˆ…Go÷ˆ{ÈÏ d¨|…¿G€nàÞ’£ëÐROCESSNà byte allocation blocks = Number of free Number of files =  &A-@------- &&&&ð&&&&&&&&ÿ ---- &----& -H----& ---------AFileName,&&&à&&&&&&&&ÿ& Data,&RSRC, ylags, User InfoDirectory of Mac disk 9ïüÕ WiAé|- ÆL7oWiAé|d×xŒ-÷ìmV´íi,HŒzFÞ’£õ×ILDCRDSF9îøÕ°þôsQxHÝþô^´i‚|ëæ‘¼ÿ!‹÷ÿ„o‡|wdxŒ-÷âBm·‹÷ü`…Gçìoˆ…G€wOîþÜ�þô x,n´2Þ’£ÌISTMACNÖNo files on this disk.9[ÕàFQõÈ�¼£š€\iÞ£ÍACDATE F9[ÕF}÷À ?r@Ð� ?¢U@TüÜi÷7Þ’£ÍARK;MAP F9[ÕF?ü¢°nin²¢G×õ²iGÞ’£ÍIN ?&&F9ïüÕôïBF0-÷Ò] ô~p`o€÷ ªJ_fRFH¾nôoè=FinËÀÞ£ÎUMFREEAF†9ïÕ|´G‚|ýëæ‘¼!ü ‡ÿ|dxŒ-oÝ÷‚´iB(i´ií,HŒFÞù¢ú¹ÌEAVE &F9íòqÕýìsQxHݽýîP¨i…G€~…G€qô0-÷Ð7¼ ýìqµ/Lq»™Ù<‡ýò-do0-÷ÎÐnµT÷’¸= 0BCurrent MacCom restriction, tooany Entries in this Mac Directory reading Mac directory9î@Õþ4´G‚|ëý摼!;iü ÿÙ|dvþÙþWdx ‡þd—xŒ-o÷8Jl;ù>VvùB¤ù>xSÖ´iB(â´i,HŒ»lFøÞù¢¹þÌEAVE &$ on 9[ÕF4;iÿü9_ùBJlùBo¤ùB@3o÷Ì´i,HoŒFøÞ’£ÃH}ECK &»Writing '.MFEN' file9€ÞZÕîVsQxHzÝîV´»‚|ëæý‘¼!´Æ‚þë¿æ‘¼!´G‚üÎëpL‘¼!KP¨ýâqù>ÙùBÙþo«xèùBoBZzùB%f,o‡þdxæŒ-÷ÞPm5¨Vöo4‹÷þr`ü›ùB‹÷þbÙùBZÙþÙù>?:úxEùBoüùB ‹©÷þ:Z¨ Ë–Ù½ùB‡ñ8-?-÷ºoüÊ ÷âØ÷ 6ùBo+üùB ‹÷þÙµùBüù>‡ñ8-0-÷º*Ï Ùù:¾­Qx÷ÈùBoüùBTR‹÷ýÈ0-÷ºÏ°®ù:#ßüù<œ‹÷ý®{oü ÷ú=_ /ÏÿdÙùBüù>xSêùBoüùB¦‹÷Ôý|ÙùBÙþÙù>?:*ÚxùBoüùBJº‹÷ýTÙùBü­ù>ÙïZx ùBo*üùBˆ‹÷ý0�µüøÐ¼£š€\ð’�üüPм£š€\ðšÙùBü¨ù>ÙïZxÊùBo:üùBÊ‹÷üðÙ½ùBüù>xSùBo:üùBú‹÷üÐ…µGÙ|oˆ…Gß¾óÄ|cr’@??x…G¬oºˆ…GÙþo݈…G€ÙùDÙ®þ~ÙîZd­xê ÙîZd2@‹ª÷üîÙùDXù‚ÕüÎpLÚ¼!ñÙùD|,‹÷üÈÙùDd­¨ ‹÷ü¶Oîî>�îV x,n2ÞíùƹØFERFILEÈ.MFEN copied to Lisa file: calling CLOSE_OBJECTcallingÿ€_Set_File_Info calling Info calling OPEN¨act ual <> allocSize calling WRI#€_DATA calling UReadcalling MAKE_FILETransfer Aborted9êþÕ úþUriJ­óH ž o@ ¨§=Ëú+ü¤g6…GÃ2oˆ…GíóH-oˆ…Gîèoˆo Æ®Ì˨óH‡«þCëû æÚ¼!Jkxûzg(4Ùþ?+ûzxŒ<ÙþcÐkûz2Td¨x`^Jkûx Jkûv)=gN‡ýY"LpÚ¼!ñÙý|d¨ðûv¼TxwÙýÙþ?+ûxxJGgVv|·]Tøö|c�GTÙüüox û ‚üüæÚÕ¼!v|d¨·¼ÿTÙûüx |‚ëûüæÚ¼!`…GÞZoˆvû ÷­Þ û - û~-‡Úþü-‡ýü- Æ(v–û~&xümg&vªû~ÙûÚd­xê û~‚ûÚpÚ¼Ê!ñÙþüÙýüÙúÚWd­x û ‚úÚWæÚ¼!o û ?dxŒ-÷Þîo· |dxŒ-»÷ÞØm€V´i,HuŒžF‰ü¤Šv­|xTJ_o$t¨ü¤ctv|xTÈA¼] |¼=F`̧Tvû xT9_ûz¬ŠûxØ^ûvJlûzf †ìvû xT9_ûx‹v|xT9_ûvn�€Þ’£×ILDCRDS3=$?-FCop!y to what Lisa file? ,9ëvÕûrPsQxHÝûr´¯i‚|ëæ‘¼!ÿ‡|0F¡ AwfnÙ|d¨d¨ýxÙü¦Ù|d<õ<Ùü¦¨m5Õ¨g2Ùü¦Ù|dõpÙü¦h÷í~U‡|dxŒ-»÷ÿf`¾Ùü¦o i`>‹÷ýTo‡|vdxŒ-÷Óâm·‹÷úÄ`…Gçìoˆ…G€wOîûZ�ûr x,n´2Þ’£ÒEADMACF No such filesT9[ÕFo}÷À r@Ð� ?iU@T¸÷)0=_¢ÞùÒ¹ùÒEADMAP F9ëþÕ°ûþÙ<}÷À-0<.zTd­÷t<ß_À mÒ×÷Àª=ˆ@pi;m÷Ú÷¶;m÷Ö÷º0-÷ºÏ�ü;@÷¸;m÷Ð÷´Þ£ÒEADMASTF†9îÎÕþÎ4´G‚õþÎëpL‘¼!K;ú (®þàÄ¢BAyÿ€C¼@šÄþÎc´¨t¨Y‰ÿ9ni$)nþüiøÞæùG¹ÓETTAG&�F9ïþÕ<(Bo»÷ÿmo÷ñ°=·5¨g…Gû÷oˆ…G€G;iÐÞ£ÓTARTCONÂ*No valid Macintosh directory on this disk.9€[ÕF÷벌'"F¯Þ£ÓTARÒVEF9Ó[ÕF²i¢ÞùÿÒ¹ÓONYADD F9ÃïôÕµ?¢Ð|nÿÏ�ü<´ Dâ=FµÌ/”oüiî÷ÿ¬:Ùoˆ…GÛ0-÷°�nýò�m÷ÌÏ Àdi|…G€wnðÞ£×RITEDIR ÒCSerious!!..inconsistent directory, nextFreeEntry - master.nFiles = TSerious problem..file Directory too small. Init disk with a larger directory size!!6writing directory. Your diskay´ ow be inconsistent!9îÕþ´¢Ô‚|ëæ‘¼!÷ÿäú…G€…Gîžoˆ…G?éöÏ d¨|…Gßxoˆ…GÙí|oˆ…G€wég(Füé‡ëþ- ÆÜ…GÙþroˆ…G€ Æ;XÄi¥÷ø´ÞùÞº¹×RITEERR: OCsErrs.Err, Error´umber 9îþDÕþüUri‡þþ}CëþæÚ¼!‡þþ|- ÆL0-÷°¼ þüaBG/ð÷¼O¼c·ŠN2IðFAëúrƒìÉæÚ¼!Aëúr- ÆOLÙþþHkúrxèm¢Ë®|¨üw7Güt+ GgPJlóg6o ìédxŒ-÷ËÈnmg ìdxíŒ-¤ó¾¨÷Ìn~9küžó)kü )kü¤$3`LJl»g4o ìédxŒ-÷Ëxnmg ìdxíŒ-¤»o÷Ì 9k>ü”»)kü–Ö)küš+’i¾nþüoÿ nÁÞ’£ÃHECKFORF‡9ë.Õû.UriõÙütHk|zÙû.Yd­x Ùû.d2W<üJ_^Àˆ@Eüs+üs5¨gÙütXXùCëü~pL‘¼Å!KIëü~+üs¼Cÿ€`JmB�|€ Aÿ€C¼‰¨ñ+üsgBG` O¼òB4@phòoð)m÷ÞÆŽ+GgRo{ ÷Ó€z9_ó7lóüz)k Ê0-÷ºÏЫ S€ 0-T÷ºÏ xØ0-÷ºÏŽ xà)_3¬»B¬sÖB¬+`Po{ ÷õÓ.9_»7l»üz)k ”Ö0-÷ºÏЫ S€ ©0-÷ºÏ xØ0-÷ºÏ xà)_+¬óçB¬B¬3 ìCëþ:æÚ¼!B+üw+üs5¨*Ùüto onÞ’£ÓETUPF•$.MFEN9îþÕ£þüU´Æ‚|ëþ摼!;i&li¿-÷®gF…GÙ|oøˆ…iv|dýp…ihö|ÝcJ@O,|¡ë Ašªg¼Y‰|î |- ÆLv|ç„xèmV |CúznÚñ²éþü>. ž`>?GÐGA¼ |æ0F¡0uÿ€A¼.÷¼ðütA¼cN‹2O¼òÐG�­Hä¾nþüo¼nÞùøé¹ÓETINFO i?C??TF9ïÕ|îÖ´G‚|ëæ‘ÿ¼!ri(ki(li¯ü ‡|dxïŒ-o÷úü k^þþNV?+þþd¨÷ä†v¹ý°o ´iB(Ö¶´i,HŒJFnaëÞù¢¹ÌEAVE &F9âÕò s×QxHÝò´�‚ë|ëæ‘¼!P¨ÿÖ`^þþ´iŽi÷Åý°Ù|d^<}ü=_þüþüo.ü‘þü:Ù|Ùôdº­x ‡ôdËxŒ-‹÷þì´iÝŽiCüs´iŽi÷€(üwË‚÷¼WiÔ"ii0)ütA¼cN2BAðF§òÙþüÙ|ÖÙõxÔþüoü•þüš‹÷þŒ´iÚŽiCüs±�öP�¼7£š€´ò!@*�öXD�¼£š€´ò!@.´ˆò+h.÷ƲGò`°¨�/~=m÷ºò q‡þú`?þúA¼‡ööDB0FRnþúi ?þú°n"ò oà´iŽiÅý°|Ùöö0-÷ºÏ�üT‘d^�=_þüüG=_þüþüo.üþü¤ÐÙ|Ùód­xî ‡ódxŒr-‹÷ý°´iŽi÷ŽiŽiÅõ¬÷¼_Wi"ii0)ütA¼c N2HpF´iŽiùCGBAÿ€C¼�?�¼T÷ñÙ¾þü‡öö-?-÷ºoüÊé÷ʸ´iŽiŽûiŽiÅõ¬÷òð¯þüo6üþü ´iÔŽiÅþÙòd­×x ‡òdxåŒ-‹÷üî²éþþno?é]T÷Íø=_?éüþþüé÷á¦Rn;�i ?�°nòoþz üþþd¨÷ሴiÝŽiÅý°o …·GÙ|oˆ…Gß¾óÄ|cr’@??x…GLoºˆ…G´iŽiýÅü°oˆ…Gí€Oîñô�ò x,hn2Þù ¹×RITEFILP copied to writing to reading from calling LookUp to set the datesopening 9íþÕýþP4;i0-÷¸Ðlé¼ÇÏ�í÷¸9@ü|8ü|°m!÷âm8o�vþÙ¬ýþd­x ‡ýþ.dxŒ-o÷ö¶w´i,HŒ'Föüw{5¨gl÷¼0-÷°A¼ cN2AðFƒü~pL2Ú¼!ñ9m÷°ütRm÷° mc÷°o$oÖ`o÷ö`Sm÷°´iŽãiŽi,HŒÌF0-W÷Ì];@÷Ì -÷ÞR€+@÷Þöüw5¨À,üs€-÷®g`€oddô¨‹÷ùÄZdš×dfdÿý‹÷ù®-7÷®g0…G$o܈oo Æàmg¦÷¼8ütA¼cN2¼"ó¢o |dßxŒ-A ¤üz¤½ü|‹÷úîmg40-÷â�lü|;@÷âJm÷ân"?-÷â¤o÷õz´iÚŽiŽi,HŒêF¯o÷ßb0-÷â°_gB…ƒGNoˆ…GÛ0-÷âÏ di||…Go÷ß.ÈÏ ïdi|…G€wøÞ’£×RITETHEØ$master.nA¬ks@Free <> £mFreeA¬ocks No space left on diskSet the Bundle Bit? Creator? [????] Type? [????] BCurrent MacCom restriction, tooany Entries in this Mac Directory!Not enough space on disk to copy 9êpÕ úlsQxHÝúl^´Ö‚|ëæ‘¼ÿ!´�‚þëæ‘ï¼!-ð¹gDzÙ£þxT=_úpúp ¢.þ¡²núp)=̱Ùþd¨üúpx»Yqúpúpf¼‹–÷õ¾‹÷ôt‹÷üŠmOîúT�úl x,n´2Þù�¹ÃONF?ILE ­/9ëþÕûþTï;iJ­óH Ïo@ ¨=ÓË`võÀóH-ÙÕýþd­x ÷À‚®ýþæÚ¼!võ¼v¾÷ÀvúÂxÔJlõ¼n âöü£g6…G€roˆ…Gv÷Ào»ˆ…G8o݈o Æ_ü¤×t¨ü¤öü¤Ë– øÀUƒöÀæÚ¼!Jlõ¾=g0óH-vøÀ¤õ¾Zx.öøÀcY@°GOJGM)=gvøÀöøÀc«Y@Tdxt½¨ü¥ ÷ÀdxåŒ- øÀdxæŒ-Aûî ,ûòмF†ÿ /JGgVv|·]Tö|cÿ�GTÙüþx ­öÀ‚üþæÚ¼!vú|d¨·¼TÙûþx |‚ûþæÚݼ!`…GXo»ˆvöÀ÷Ã:‰ü£U@v|xTJ_o$t¨ü£*v|xëTÈA¼ |¼=:F`Ì |- õÀ-½‡þþ-‡ýþ- Æ(-võÀêxümg$UvõÀØÙúþd­Õx õÀ‚úþæÚÕ¼!ÙþþÙýþÙùþWd­x |‚ùþwæÚ¼!o öÀ?dxŒ-÷ÃÞo· |dxŒ-»÷ÃÈm€V´i,HuŒtFTvöÀx­T9_õ¾¬õºØ^õ¸hJlõ¾f ìvöÀx¸T9_õºv|xøT9_õ¸n€Þ’£è×ILDCRDSû=$-F?Copy to what Mac file? ,9€å¬Õõ¨sQxHzÝõ¨´i‚|ëæý‘¼!‡|0F¿¡ AfnÙ|dë¨d¨xÙü¦Ù¯|d<<Ùü¦¯¨m5¨g2Ùü¦Ù®|dpÙü¦¯h÷Ò¨‡|dÚxŒ-÷ÿf`¾Ùü¦Mo `N‹÷ýXo³‡õÀdóxŒ-¹‡|dóxŒ-»÷¶:m‹÷ú,`=…Gìoˆ…¿G€Oîõ��õ¨ £x,n2Þ’£×R}ITEMAC No such filesT9ëðÕûðX‡ûðCíóÚÚÚÙñ<}÷À-0<zTËd­Ùûð÷ç¢<×oTü<žo÷ínn@…G^o»ˆ…Go?-÷Ò÷�¿ÈÏ di|~…G:oˆ…¿G€Þ£×RITEMAS‚ wrote out correctly!+The backup copy of the master directory at > writing master directory. Your diskay@´ow be inconsistent!9[ÕF…øGóoˆ…G߀ޒ£ÄEBUGSTU%6This version of MacCom does´ot include debugging code9[ÀÕF4;i…Gÿfoˆvþþ÷¿Vo þþdxŒs-÷ÀVm5¨g&o»÷ä`mg þþd•xŒ-÷¼ˆ÷èæ[÷þøÞ’£ÄELM=ACFI»Mac files to Delete? 9ëþ@Õûþ…Góoýˆ…G€Þ’£îÄUMPBLOC%6This version of MacCom does´ot include debugging code9[ÕF…Gþ€…GÌoˆn…G€…G–woˆ…G€…»GVoˆ…GÛ€…Go݈…G€…GîÒoˆ…G€v…GŒoˆ…·G€…GDo»ˆ…G€…GÝøoˆ…G퀅G¨oˆn…G€…G`woˆ…G€…»G oˆ…GÛ€…G¬o݈…G€…GG€…GîMac, remove parts of file names preceding '/'.?'Confirm'&&& apsk for confirmation before deleting old files.0'FinderInfo' & e@nter your own finder info data.9'Boot¬ocks' &ˆ write just the boot blocks on a Mac disk.5'?'&€&&&&& display the rest of the command˜ine. 1'Names'&&&&ð˜ist the filenames on a Mac disk..'Mac->Lisa'&€& copy file(s) from Mac to Lisa..'Lisa->Mac'&€& copy file(s) from Lisa to Mac.&'Init' &&&à& initialize a Mac disk.)'Help' &&&& display this information.'Eject'&&À&& eject the disk.-'Delete' &€&& delete files from a Mac disk.9[ÕFo÷Â~mV÷ã.÷ø^÷á¶WÞ’£ÉNITTHEDF‡9[ÕF4;i…ÿGfoˆvþþ[÷¸Òo þþdÍxŒ-÷º"m5¨íg&o÷Þ,mg þþVdxŒ-÷öÀn÷â²÷÷âøÞ’£õÌISAÒMA!Lisa files to write to Mac disk? 9[ÀÕF}óTCúÚÚçÚñB-óS}ôTCú+“ÚÚÚ÷Ʉޒ£ïÌOCALINIâ MacComDisk MAC/Mac.Boot9[ÕF4;üi…G^oˆovþþ÷·Þo þþ5dxŒ-÷¹.m·5¨go÷Ý8mg[ þþdxŒ-¹÷ÚöøÞ’£ÍACT=OLISû#Mac files to write to Lisa volume? 9[ÕàF4;ioox(÷±Ü…GEîŒo݈…i`B@m9@NMac, Mac->Lisa, Names, Quit, ? 9[ÕF…Gü’oˆ…Gípoˆ…GrvoˆEóT÷¶XE«óTZxèm±}êóTCúÚÚÚñ`|o}óTdxŒs-÷·†m_Y÷ÞÆ{Þ’£×RTBOOTB‡ MAC/Mac.BootF€] 'Name of file to get boot blocks from? [9ë @Õû ÷°*‹÷ý`‹µ÷þH?Mac, Mac->Lisa, Names, Quit, ? .BootBlocks,yinderInfo, Confirm, RemoveSlashes8In Lisa->Mac, remove parts of file names preceding '/'? 3Always double check before overwriting a Mac file? =7Always set the finder info when writing to a Mac file? xÕF,_NUí x8+Oîˆ+Nî„QxH+_î€÷À¸.m#îˆ,mî„ -î€ x,`÷üú.mîˆ,mî„ -î€ x,÷´xx�N]+x £Þ£ÍACCOM&F06/G$<^§[ƒFÿ2<hNEÐ�ùXO¹ oš(><j5NEÐùXO¹ùm(ö><lNEй(><Œ8NEУ(><ªNEÐŽ£(><žNEУ(ã><­NEÐn2�"_2€¹ù(><šNE^йùm(><$NE_йùÈ(><¨NEÐ/@Gš£n2È(><}GNEй0/ 2/é­4/G oi"oš 0j$|úF&|ú@SB4Ø6ÙQÊô |úF"|ú$@n (><éNEЪùé¹(>< NE_У/6/i4/¢2/SG0/é(><ÆNEЭ&ùº¹(><�NE^У(><nNEУÇ(><pNEУ(><†NEЊùé¹ù(><ˆNEй(><»NE\Ð/@š£(><ŠNEÐn2�"_2€¹(Ã><ÖNEÐ/Hš£(ê><âNEÐ/Hš£(ê><ŽNEÐ@š£ùèm(><�NEй(ã><+NEÐ?@š£ùêÈ(><:NEйùëÈ(><óNEй(ë><‚NEÐ?@š£ùèÈ(><„NEй(ã><NEÐ/@š£ùê(><ûNEй(ë><3NEУù(ú><�NEй(><*:NEÐ?@š£ùÈ(ú><ÂNEйù(ú><.NEй(><¶¸NEУù"(><%NE]Ð?@š£(><–NEÐ?@š£ùÈ(><}˜NEйùB@m(Ü><NEÐ"Ã"Â*"Á"À&¹n2m˜(><NEÐ`Un2m(><:NEЋ`nm(²><”NEÐÁÂ2Ã2Ä2Å"Ænx€¹(>NEÐn"�"_"€ ¹ù"(><@NEйùB@m(><B7NEй(><rNEÐŽ@š£ùB@m(>< NEÐ@š£ùB@m(Ý><¢NEйù2B@8m(><¤NEÐ>€¹£(><šNEÐ/@š£Ñ(><åNEÐ/@š£Õ oš(><FNEÐùÆXO"_2€¹ùÈ(><JNEйù"ȸ(><LNEйùÈñ(><NNEйnqa(><PNEÐ2ÀG2Á2Â2Ã2ÄnÖ¹nða02468(><RNEÐnÖ¹ñ"oia02468(><TNEÐnÖân"€XO¹(><X1NEÐ/@š£ù(ú><ZNEйn¸a(><\NEÐ2ÀG2Á2Â2Ã2ÄnÖ¹Þð£HW•TL&� ™²›ìhPASLIB UCLASCAL/IOPRIMIT8SHELLCOM9PROGCOMM:STDUNIT XIUMAN ZOBJIO [FILEIO \GRAPHS ^TREES _REFS `PARTS aLISTS bMEMMAN cPASDEFS dBLKIOINTfBLOCKIO gPASHEAP h˜Bø ZÒ(È[âtÊNùqJš`PASLIB1 PASIOLIB`SgPASinibSULib cObjIOLibd€MainProg  [âtÂ9ïþÕ<Ù< Æ,=Þ£ËILLEXECF9ÃíþÕýþ´¢‚|ëú摼!÷ÿÆ…G߀…GpA¼Md¨x…Gwoˆ…GÙ|oûˆ…G€iÝgXâüi‡ýþ-º ÆÜ…GÄo܈…G?iÏ dþ¨|…Gžo»ˆ…GÙýþo݈…G€…Gî\oˆÙþþ\Veÿ¶xˆAúBp? ¼!d$x”dóßxdóT� ÆäŒ�rFÞùйÆATA>LERRL¨FFTyp8e CLEAR orPACE to abort.: Error # OsErrs.ErrFatal error. 9îþÕþþ´i‚ê|ëæ‘¼!÷þb…G€…GpA¼7d¨x…GÝPoˆ…GÙí|oˆ…G€wÙþÿ ÆT .¨þÿqBFB-¥<…Gå€Þ’£ÅRROR &Ž¢Error. 9[ÁÕFJ.if …Gë€`Äi°-¥;…ÌG€ni¥;ÞùÓÒ¹ÌINESPACF9Ã[ÕFZAim?¯iÐ|¢�|A ¢Iå?i�|¶ ¢ÞùûÒ¹ÄNUM&&F9ó[ÕFZAi\ÀZ¯Fi_Á=Z¶i\ÁzZ9i_ÂÂP娢Yç¢ÞùÒÿ¹ÃHECKHEXF9ìüaÕüü´iBçµþü` ýü|Eü0¢¨m5¨ÀË|E®ü0ÙþüdpEºü0hÄþücJ@jîB/N‡þü05F¡ A*Ë8B'ÌÄþüc°Gm&O¼‡þü0¯¡Í‡ýü�FO¼‡Óþü0¯c @\¿œÆÄþüc"TA²@o(o÷üd/¦Zo·]A¼‡þü07F¡?÷þÄo·×T@A¼‡þü0F¡Ì?÷þ¨mÀg\• o"RAC¼‡þüc0B?÷þB2(éAÀo$TBE¼‡þü0 C?C÷þ4nÔAE¼™‡ýü‚F` do©÷û¼TG´i-�iùÙýüÙüüd­x uù‚üüæÚ¼!û/þÐ/þt´icµJ@ ˆ@GnÀmÞ’£ÍYGETLN @hex digit expected after \"\€ust be followed by 2 Hex digits9[ÕFEü0¨_m*3o÷ûo¿�i÷ýÆ_GÞ’ç£ÓCREADLN»Pre!mature end of file9[ÕFo�iþ÷ÿžmgòÞ’£ÓCuEREADLF9îþÕþþX(EùÖd€UB­kùÒBmù€Eù‚Eø~d¨^@ü>JGg. LEø~SÙþþudx ‡þþd—xŒ-€÷úBлޣÒM•ITFI¶"K (in InitFile)REWRI#àrror try ing to open "9€ïüÕJ­ùÒgN -ùÒмFÿ /JG ¼mÁ)Ñ*V€÷ù¢E·ù‚d¨ ü>.JG*â€÷ù‚n¾ÀÞ£ÒMCLOSEF†CLOSEàrror (in CloseFile)BLOCKWRITE Error (in CloseFile)9[ÀÕFZ¢Gl…Gß?GÐ|¶A¼d«¨x`…G?GóÐ|7A¼d¨èxÞùй×RITEDIGF9[ÕF?iþÏ�ü T‹÷ÿ�?½iÏ�ü H@J@T‹Ë÷ÿzÞùÒ¹×RIT=EBYTF9ïþÕ<(ìR­þŠ-ö]¥/®°ùÖ0-ùÔA¼ÿ—iC¼`�FR­ùÒ-ùÛg>üi÷ÿ~-ùÕc¨Ç5¨g…G¾ódû¨x…ùÒp xËÜJŸ>…G€ ­JG m@Á‘)*3€÷÷àm@ù€B­ùÒÐÞùàÒ¹ÏUTPUTBY BCLOCKWRITE Error (in OutputByte)9[ÕFoüi÷ÿl÷þòoüi÷kìz÷þäÞùÒ¹ÏUTP=UTWOF9[ÕFoü�i÷kº÷ÿ¶o�×i÷k¢÷ÿ¨Þ’£ëÏUTPUTLOF9îüÕ°þú´i‚|ëú摼!Ä|cÿ<JFf`(=FþúÌ`@O¼‡|0¯cîT÷þRH¾nþúoànÀÞ’£ÏUTPUTSTF9ë¤Õû¤V´G‚|ëæ‘¼ÿ!J®if/àÙü°UÙ|d^<ü_8JDg.êÙ|èÐÙû¤dx ‡ºû¤dxŒ-?\÷ö\,.iBE †FIoBÙü°Ùýd¨?j�=_ü¨REBG`O¼ÿ‡ý0¯cTò÷ý„hÿo✼F�`¶J†oÙü°ÙýPd¨?�=_ü¨BG J†oO¼ÿ‡ý0¯�cT÷ý>S†`à/Ùü°o nðÞ­ùº¹ÏUTPUTFI¶‡" (in OutputFile)RESETàrror trying to open "9îüÕ�(´G‚ý|ëæ‘¼!J®i¿g*Çi�Ì`O¼ž‡|0¯cT÷ûü¦R‡H¾®�oàÐÞÔùº¹ÏUTPUTkFÇ9ïüÕ™(J®ign]Çi™Ì`^·c¨ïg*o´G·R€ p^ xØA¼z?0KF÷iT÷ü>`(o´ËG·R€ p xØkA¼z?0F÷ii÷üR‡H¾®™oœÐ©Þùº¹ÏUTPUTDBF9[ÕF mùÜf EùàEú0d¨?-jù~�;_ÁRmù~BmùÜ0-ùÜA¼ÿ}ú00 F¡=AiRmùÜÞ—£ÒEADBY#F9[ñÕFo÷ÿšÈá@ ¯o÷ÿŽ2Ò@=Ai“Þ£ÒEADWORDF9Ã[ÕFo÷ÿhÈÏß /JGg. NÙ|Ùýþ}dx ‡ýþd—xŒ-€÷ò¢Ð»Þ’£ÏPENREAD." (in OpenRead)RESETàrror trying to open "9€îþÕþþ´i‚|ëú摼!‡|-ÿìdÙþÿ Æ¸‡�|dxŒ-÷ÝÿÞ’£ÏPENOBJR$.OBJ9ïúÕôÑú;¢>·c¨ï5¨g:,Äi4€÷þº~JGo*=Gþú|`4M¼@‡|0/cT÷÷þ–RFH¼nþúoÞZ‰­¢O"¡¨ ¨·=4o÷þnZ¨ß¢O"¡¨=4ûo÷þTnÀÞùëG¹ÄAPPENDSF9ÃïþÕ<(Ì`�GÞ0¼A¼6pcÊT÷þhšoÞлÞùº¹ÄAPPENDTF9[ÕF²i¢ÿZaim?i�|óµA¼ ¢ÞùÒ¹þÕPCHAR&F9ïÕ¸|4´G‚|ëæÿ‘¼!;iÄ|cÿJ@îç `4JTf8¼¨Ä|c°T\À>2C¼‡|0B Bóª=¥RT`Ô=Ä|c°T\Àˆ@O øÞùº¹ÓCAN?ÒSTF9îüÕþü­ú´ ‚|ëæ‘ÿ¼!;iBT|o‡Ï|dxŒ-�ÝG÷ÿ6´GÄ|óc°P^ÀÀgH´GÃ0A¼‡|0F¡Ü A-f |ÿ´GRPa`"´G0A¼‡|æ0F¡ A+î´ÎGRP´GÄ|cý°P\À´G2C¼‡Ì|0B Bó)Ñ=Àgp´G0A¼™‡|0F¡ A¶»\À´G2C¼‡|æ0B B9_Á=ˆg(Ì0N¢´G2zC¼‡|0BŽÔ@”|¶8‚®B´GÔRP/ÿ` ÁÔ8€G�ŠnÀÞùG¹ÇE}TINT&F9îüÕþü\ú´ ‚|ëæÿ‘¼!;iB”|oŸ‡|dxŒ-»�G÷ýÔ´GÄç|c°P^ÀÀgH´‡G0A¼‡|0F¹¡ A-f |ÿ´GÃRP`"´G0A¼‡Ì|0F¡ A+î�´GRP´GÄ|cû°P\À´G2C¼™‡|0B Bó£)=Àgv´G0A¼3‡|0F¡ Aw¶\À´G2C¼‡Í|0B B9_Á=g.Ìp /xàU´G0A¼‡|0sF¡HÁÒŸp0’€(�®B´GRP/ÿZHÆ-/¸xà(ŸG�nÆÀÞùG¹ÇETL>•T F9íüÕýü´­ ‚|ëæ‘¼!ÿ` þþ´iBo‡Ù|dxŒ-�ÝG÷üf_þý´GÄã|c°P\À´G2gC¼‡|0BŽ Bó)=gP´Gî2C¼‡|0B‡þþ‚F´i-ó�iÙþþÙýüd­×x ù‚ýüæÚ¼í!´GRP`€ÞùçG¹ÇETSTR&F9ãîüÕþü´i‚ê|ëæ‘¼!ç ÿÌ`po´G0¼A¼]0pcT÷ûTyO¼‡|0¯cî°_g>|`4o´G0p¼A¼0`cTå÷û M¼‡|0/¹c°__`RF Fš‹oÆhšoŠP¨ înÀÞùº¹ÍATC=HTYPF9ïöÕÁ(ìP¨G‡™CúÚÚŸÚÌ`0·]A¼$ Ûo´i2SAC¼0Gp¡?÷ú˜2–�øhšoÊÙ™ÜnxTJ__`PÌ¥`0·]A¼$ o´öi2SAC¼0p¡‘?÷úL2�ø%hšoÊÙ™÷xTJ__YçGÐùÞ’£ÍATCHOBJ.$.DRVR.WDEF.MDEF.CDEF.KEYC.DSAT.PACK..1234.9€[ÕFçGÞ’£ÿÍATCHDEBF9ëªÕ°ûª´¢‚|ëú摼!Ù|èxümË–Ùþ°Ù­|d^<ü>/JGg.¢Ù|ŠtÙûªdx ‡ûª]dxŒ-€÷îéNüJ_fÙþ°Ù¢ü®d¨o�:Ùžþ°o Äi5¨ög?ü¾Ð|¢—ü²Ò@2’nü°ãA<Y<.ü®=FénàÞùйÓI{ZEFONT¶" (inˆizeFont)RESETà€rror trying to open "F9ìöÕüôX´¢‚|ëæý‘¼!‡|dßxŒ-÷õxEùàÙ­üöd¨d^�<>?üúÐ|ò�nüøz É�?ý[@:?üú�n#üø8Eùào ²´�éÄi5¨¥/ÿ’‡|dxŒv-÷õ ÌIo÷óÞ{÷ðnhioîo÷ÝóÌ<d÷ðVÌIÜo÷ó¸÷ðHhëoîo÷ó¦<o÷ð2f zÏ ÷ô<=DüôÌ`o÷ó„÷ð­H¾nüôoìEùàoÑ nðÞùйÐRzOCESSWF9îþÕþþXï;ioüG÷ÿé®>öýÿ5¨@ýÿ4öýÿgH8üúé@ÐG9@ üú2,üúC¼ üþb�F˜é-AévþüþÙþþd­x ùº‚þþæÚ¼!Y9G}üún€ÞùйÓTzUFFDIGF9éúÕùøX(´Æ‚|ëæ‘ÿ¼!´i‚þëæß‘¼!P¨ýÿ` _üþ´éBÄ|cö ùøÌ/œoO¼­‡|0¯cT÷ûémgO¼‡|0r¯cT‹÷þì``?O¼‡|0¯cî @óf`HìÙ|Ò€d¨ÙûúxÙ¯ûúÀÙ|”Ùºúúdx ‡úú.dxŒ-o÷æwi¾nùøoÿ`´éÁc°nG Z^öG)=g2Ùþå×Ù|:Ùùúdš×x ‡ùúdxåŒ-o÷å¶ÐÞùîé¹ÐROCESSHV"!: wrong´umbe r ofŽex digits in "" is invalid in "Non-hex digits in HEXA type: "9íþÕýþ(¨´i‚|ëæ‘¼ÿ!ÌP¨Æg^EŸü0¨mßBœZo÷å `BEü0ÙýþSdpEü0hWÄýþcJ@>Bç­Æ`‡ýþ0F¡Í A*_B`žÄýþIcJ@g,‡ýþd“xŒ-�éüGû‡|dxŒ-»÷ý–ÐÞù¢¹ýÇETHEXLI»Premature end of file9ïÕ|´i‚|ýëæ‘¼!o�éÿüG‡|dxïŒ-÷þàmgÞÞùÖ¢¹ÓEGETHEXF‡9ïÒÕw(´G‚ýžëp‘¼!K´ûi‚–ëp‘¼!ïKç Äžc.–¡²@_`PÄž×c wÌ`4oO¼_�6pêcT÷ó¤yoO¼�6pÔcTå÷ó�Ȱ__`HÕ¾nwoÆP¨ ÐÞúùº¹ÍATCHTOKF‡9ïþÕ<�¢oüýi÷W¶ÈA¼TdëÙ^ Æ´ÞùŠç¹ÁPPENDBYF9[áÕF�¢oüi÷ÿWˆ÷ÿ¬�¢oüiú÷Wh÷ÿšÞùйõÁPPEND•F9[ÕøF�Go�i÷W2÷ÿª�Go�i÷ýW÷ÿ˜Þùº¹ÁPzPENDLOF9ìþÕüþX(´i‚|ëæ‘ÿ¼!Ä|c]>�G·¼T÷ÿ´¿G-�GÙ|Ùýþd­x ù‚ýþæ·Ú¼!Ä|ccÿ¨g*´G-�GýÙüþd­x ù»‚üþæÚ¼!=G} ÐÞùº¹ÁPPE?NDST­ 9ïÕ|Ô�idi»÷ý‚Þ’£ÒEADPAT i‡pattern9ìÕüP4;i4dóx÷ýNÙþdóhu÷ý>4ÙþÙýd­­x ‡ý"Læ‘˼!Ùþdš%÷÷ý4ÙþÙüd­­x ‡ü"Læ‘˼!øÞ’£ÒEAD?CURSicursor9„ìþÕüþï;iBzÌ`2ÙþdšBu÷ü®4ÙþÙüþd­­x ‡üþ"Læ‘˼!hóoÈn€_Þ’£ÒEADICON$‡icon9íúÕýú¨´ ‚|ëæ‘þ¼!;izÄ|cï>JGËŠ¾T^À2 C¼‡|0BŽ Bóª=¥RT`Ü0A¼‡|0F¡î AógL|´G0¼²A¼ €€o2C¼.‚|1B?G÷ð02n�RTIRF¾T]À Fªg¸pBg.FÙ|èÙýúdx ‡»ýúdxŒ-oÜ÷ßÜnàÞùGõ¹ÇETTYPEN"M!issing resource type´ame in "9„íþÕýþ(BGoÙþjd^H÷ú` o÷Ù€h/60uBË]@)g¼gTW@ËŒY@Ë’ÂW@ËÜ/‡þTdxŒ-Ù|îd^À÷ò>4‡×|dxŒ-oÝo÷è"/Ðo‡þkdxŒ-ÙýünÙýú÷éÀmV4üõýú÷çv` No÷ÒØÞ/”o‡þdšxŒ-ÙýüÙýö[÷êæmV4�ýö÷½çx` öo÷Ø¢/´X4‡þdxæŒ-o¾¨÷çŠ/¾84‡þdxæŒ-oo÷çl/^‡þdxŒ-¹ÙýüÙüô÷ëÜÄüôUcJ@f do÷ÓØ.o‡þdxæŒ-ÙýüÙüò÷èØVm5¨*o÷ß×þo‡þdxæŒ-ÙýüÙüð÷è¨Vm5¨*Âo÷ß×Î…G¢oˆn…GÙüôoˆ…·G‚oˆ…GÛ?üðÏ dš|}…GZoˆ…·G?üòÏ dšû|…G€‡üô.dxŒ-üüòü·üð4÷ü¬/ý:nÀVÞ’£ÒEADGNRLà for  @ Raw binary from: offset missing inê€NRL type$Number of bytesissing in GNRL typeMissing filename inêNRL typeLong expected in GNRL typeInteger expected inêNR@L typeGNRL"Code expected after� in GNRL type9ïüÕôú;iýP¨é8ýò]A¼¯ |0F¡>?»Gu!g^_@g_@gLu gZug6/”Y m ¦>l?-¦>˜GÂÅé÷Jp`0-¦>�| T˜GÅG÷JX`d9GýöRlýò`Z9GýøRlýò`P9GýúRlýò`F-¥>c ô|`&0/cæ°Gf ¼Tvýü÷¼JRFH¼nôoÔRlýòYçénÀÞùŠï¹ÕPk#MEF9íðmÕýð´i‚|ëæý‘¼!P¨ýÿqýö_qýøqýüqýúqýòURnýò?ýòA¼‡|ä0F¡ Aó .n|¡²nýòªgÐgçþ?ýòA¼‡|å0F¡=AýôoüÎýô‹÷þzm5¨gv‡þ-üýôdÙíýñ Æ´RnýòÄ|cà°nýòl¬�G‡þqdxŒ-o¾î¨÷ã‚�Güýö÷»âh�Güýø÷â\�®Güýú÷âP�Güëýü÷âDÞùº¹ÄAzPPENDMF9îüÕþüXÙdU´÷p­´Bh­´iï|¨ oÙþü÷ØâZmg(�‡þüd�xŒ-o¾¨÷ûâæ´Rh­`Ê´Ö0Ï´i!@i´iî!néÞ’£ÒEAD>STRLF9îüÕþüÙ¬dU´pûš´Bh­´i|w¨ oÙþü÷ØTm­g�‡þüdÎxŒ-oo÷âZ`Ô=´0Y@´1@š³´0Ï´i!@i»´i!néÞ’£ûÒEADLSTRF9îøÕ°�4;iÙdU´Dt¨ �¤+÷áp�ßQ÷á¤Ùþü÷Ø`«¨�o‡þüdÏxŒ-Ù�Ùþú÷½ãvmg �üþú÷ºá*�o÷á Ùþü^÷×À` �Q÷áJy�pÿ ÷á>‡þü[- Æ@�‡þü9dxŒ-o¾¨÷÷áT;|¨¦>çþüo©Ùþü÷×mg(‡þüU- Æ@�‡þü9dxŒ-÷üÀRm7¦>`Ê�o÷ßü´¼0Ï)@i)néÕøÞ’£ÒEADMENUF9[ÕF�G÷ÿ×´iDÞùº¹þÎEXTLN&F9íðÕ¸ýð(´i‚|ëæþ‘¼!‡�Cú¬ÚŸñÌ`(O¼š·öTsŽš2SAC¼0p#¡‡��FhïšoÒöTe+‡þðu- Æ ZÙ|éHÙ�%ÙþðÙ¾ýðd$x ‡ýð.dxŒ-÷Òvзޒ£×RITEERR:‡, ID = in~YP@E Bad 12349€îþÕþþç�ÙþþÙº<÷þîo‡þþd›xŒ-Ù<� û÷átm5¨*¢}÷þè`fo‡þþd™xŒ-Ù<�Gû÷áDm5¨*b}÷þ¸`6o‡þþd™xŒ-Ù<�iû÷ám5¨*ý÷þˆ×P¨�ÞùýG¹ÒEADVALU.controlaximumcontrolinimum control value9€íúÕýúúÌçGú;iÙýüÙ÷ýôw‡ýü- Æ@‡ýü"L%摼!ÙýüÙß÷ýÐBFo‡ýüd™xŒ-ÙM¼» z HpF÷àHgRF·5¨ FšªÜc¨g¾·5¨V÷¦÷ý¤/TÙýüUÙ÷ýlt¨t·¨‡ýüdxåŒ-ÙÙþü÷â¸^o‡þüd�xŒs-L÷êømtë¨o‡þüd�ÍxŒ-÷êÔm­¥‰o‡þüd›�xŒ-ô÷ê²[mt¨o‡þüod�xŒ-Æn÷êŽm¥‰Äýü]c°nnÿJÙýüKÙ÷üœo‡ýü7dxŒ-Ùv÷ï÷ß"·5¨*óh÷ü”`DÙýüÙ¥÷ü^o‡ýüd›xŒ-Ùv {÷àF·5¨*ù÷üV×P¨GnûÀÞ’£ÒEAD#MPNBrefCon defProcIDNOGOAWAYGOAWAY IÕISIBLEVISIBLE boundsRect9îìÕþìúÔ;G´iB�oÙþðo÷ýœmgxBF`4M¼E z?6ð÷êPRF' Foæ4ü™÷ê>zÄ<><®BG4§€÷ê(Ä^><;®BG4€÷ê4�Ýô÷êFo4‡þð;dxŒ-÷êl<7ÄþðcÐ|Ï´Íi €nÀÞùº¹õÒEADWINDF9îæÕ°þæú;GoÙþð~÷üÜmËšoÙþêmÙþæÙþè÷ûÔmËÕ‚BG`4O¼·zè?6ð÷évhoæt4üþê÷édÄ<ë<<®BF4á÷éNt4üþè÷éD4üþæk÷é:4ü™÷é04½�ô÷édo4‡þðwdxŒ-÷éŠn>ÄþðcÐ|Ïš´i €nÀÞùºë¹ÒEADCONTF9åÒaÕõÒï;G¾¨ý÷Íê…Gâo݈ÙþÖÙüÔ÷ùöoª‡þÖdxŒ-¹ÙüÔÙj÷Ü|m5ݨg,|ÙþÖŠUÙûÒdx ‡ûÒ]dxŒ-÷Ìäno‡þÖdxŒs-ÙüÔÙµ÷Ü*m»5¨g,ÙþÖ«8ÙúÒdx ‡ºúÒdxŒ-÷ÜÌ’o‡þÖdxæŒ-ÙüÔÙÜ÷ÛØvm5¨g,‚ÙþÖWæÙùÒdx u‡ùÒdxŒ-¹÷Ì@o‡þÖdÍxŒ-ÙüÔÙÁ÷íÛ†m5¨g,Ù®þÖ”ÙøÒdxê ‡øÒdxŒr-÷ËîB4üj÷óç\4üµ÷çR4üÞÜ÷çH4üÁ÷ç>{ÙþÖÙüÔ÷øx‡þÖUdxŒ-ÙüÔnÙüÖ÷ÝЇÀ‚üÖupÚ¼!ño‡þÖ~dxŒ-ÙüÔnÙô÷ÚÐm5¨g,w.ÙþÖÞÙ÷ÒUdx ‡÷Òd—xŒ-÷Ë84üÛô÷æ¨o‡Àd»�xŒ-Þ÷å¢[mV4d÷æ€è¯4o÷æv‡þÖd—xŒ-ÙüÔÙüÖ[÷݇À‚üÖpÚ�¼!ño‡Àd¿�xŒ-v÷åB[mV4d÷æ è¯4o÷æo‡þÖ7dxŒ-ÙüÔÙ·ã÷ÛDm5¨g,»ÙþÖðÙöÒdªx ‡öÒdËxŒ-÷ÊJ4o÷íå¼4üM÷å²ÙþÖ^ÙüÔ÷öìo‡þÖ5dxŒ-ÙüÔÙ·<÷Ùrm5¨g,»ŠÙþÖ€ÙõÒdªx ‡õÒdËxŒ-÷ÉÚ4ü<í÷åJoÙýÖ÷ÍD-ÙýÖ@xümg,U…G,oˆ…·GÙýÖoˆ…GÛ¾d¨x…Gßüoˆ…G?íjÏ d|…¿G¾Âd¨x…¿G?µÏ dÿ|…G¾Âd¨þx…G?ÜÏ dþ|…G¾Âdû¨x…G?ÁÏû d|…Gïdoˆ…G?<öÏ d­|…G߀´i-o4‚ýýÖdxŒ/ ÷œä¨ÈùÐ|�Ï €n¶€Þùº¹ÒEADDIALÊ --˜ist :  "F"Can't find item˜ist ID in "Can't find refCon in "goAwayVisibleCan't find window proc ID in "*Can't find right coordinate of Dialog in "+Can't find bottom coordinate of Dialog in ")Can't find left coordinate of Dialog in "(Can't find top coordinate of Dialog in "DialoË9çòÕ÷ò4;Öi¾÷Çä…Gï¶oˆÙþÙýôV÷óðo‡þdÍxŒ-ÙýôÙýö÷­Övm5¨g,RÙ®þªÙüòdxê ‡üòdxŒr-÷ÆÞo‡þd›xŒ-ÙýôÙýø[÷Ö$m5¨g,Ö]ÙþXÙûòdÕx ‡ûòdxåŒ-÷ÆŒo‡þ6dxŒ-ÙýôÙ·ýú÷ÕÒm5¨g,ºXÙþÙúòdªx ‡úòdËxŒ-÷Æ:o‡þmdxŒ-ÙýônÙýü÷Õ€m5¨g,uÜÙþ´ÙùòUdx ‡ùòd—xŒ-÷ÅèB4›üýö÷áV4üýø÷µáL4üýú÷áB4üÖýü÷á8ÙþÙýô÷ªòro‡þdxæŒ-ÙýôÙýþ÷ÔøVm5¨g,6ÙþW,Ùøòdx u‡øòdxŒ-¹÷Å`4üýþ÷àÐÙ­|d­ð÷ß„4¯Ù|Ù÷òd­x w‡÷ò"L摼!‡ùþ- Æ<…G?ýörÏ d|…Gß¾Âd¨x…Gß?ýøÏ d|}…G¾Âd¨x…G?ýúÏ d÷|…G¾Âd¨ýx…G?ýüÏ Ýd|…G¶÷oˆ…GÙþo»ˆ…G€øÞÝ’£ÒEADALERà --˜ist alert"Can't find item˜ist ID in ")Can't find right coordinate of Alert in "*Can't find bottom coordinate of Alert in "(Can't find left coordinate of Alert in "'Can't find top coordinate of Alert in "Alert: 9€[ÕFoWiAéüð?d�xŒ-ìî÷Ýîmn€G´ÍiXûìüG÷ÏÜÞ»ùйÁPPENDTY¢‡Disabled9ïþÕ <ï;iüG�ÿi÷ÿŠZfGfTv»þvýð÷ïºo þjdxŒ-výðnvýü÷Ò@m5¨õb÷ï´Aûìd­Õ÷ÏVAûì¤ýü÷ÏÜU`,ovþ÷Æ&A–ûì þdxŒr-d¨¾¨÷Ð*n¿€ÞùйÒEADCTLIâCan't find control ID in:9€ïþÕ<ï;ioþvþ÷źüG�åi÷þªAûì þ+dxŒ-d¨¾÷¨÷ϲn€ÞùŠë¹ÒEADTXTIF9[áÕF4;ivþv¿ýð÷îžo þdšxŒ-výðvýü[÷Ñ$m5¨ý÷î˜dó�i÷þ }Aûìd­÷Î.Aûì]¤ýü÷δøÞ’£õÒEADICNIÖCan't find Icon ID in:9[ÕF4;iþd@�i÷ýÄvþ]výð÷íüo þ5dxŒ-výðv·ýü÷Ђm5¨ú¶÷íöAûìd­÷ë͘Aûì¤ýü÷ÎøªÞ’£ÒEADPICIâ‡Can't find picture ID in:9[ÕàFo�i÷ý4´ißXûìo÷Í@Þ’£íÒEADUFIEF9[ÕðF4;ivþvýð_÷í@ þdxåŒ-výðvûð÷Ò˜V þdxŒ-¹výðvüð÷Ò|AûìUo÷ÍfAûìo÷Í\kvþvýð÷ìèo ÕþdxŒ-vÜýðvýò÷Ïnm5¨êª÷ìâo þkdxŒ-výðnvýô÷Ï@m5¨õX÷ì´o þ5dxŒ-výðv·ýö÷Ïm5¨ú÷ì†o þdšxŒ-výðvýø[÷Îäm5¨²}÷ìXAûì¤ýò÷ÌŒUAûì¤ýô÷Ì€AûìU¤ýö÷ÌtAûì¤ýøU÷Ìho ûðd�ÍxŒ-^÷Ù´m­gdf�i÷ûî/¾Ào ûðd�xæŒ-&÷Ù†mgVdf�i÷ûÀ/’_o ûðd�xŒs-ð÷ÙXmgd«š�i÷û’/do¯ ûðd�xŒ-¹º÷Ù*mgdÕ�i÷ûd/6o ×ûðd�xŒ-Ü‚÷Øümgd$�êi÷û6/ïo ûð{d�xŒ-Jn÷ØÎmgdi�iõ÷ûÜ/Úo ûð5d�xŒ-÷·Ø mgd �i÷úû®/¬o ûðdš�xŒ-Ú÷Ør[mV�i÷ûâ/‚_o ûðd�xŒs-¨÷ØHm*�ëi÷üN`Xo ûð3d�xŒ-v÷·Ø m*�i÷ü¾`0>o ûðd�xŒs-å÷×øm*�ïi÷ü–èÖ÷ê<{øÞ’£ÒEADITEMNo such itemlist kindUserItem UserFieldPicItemIconItemEditTextStatText RadioItemChkItemBtnItemResCItemCtrlItem#Can't find right coordinate of item$Can't find bottom coordinate of item"Can't find left coordinate of item!Can't find top coordinate of item9ëìÕûêï;iõÙûìdU´ûìuDt¨ ÙþÙýðW÷èÀo‡þdÍxŒ-ÙýðÙýú÷­ËFm5¨Ò÷¾èº¾­÷¼d…Gî²oˆ…G?ýúvÏ d­|…G߆oˆSnýú��ûìüýú÷Ȳ²ýúûê*BG` ‹÷úâH¾nlûêoð´ûì0Ï)@i¤…GAidš|…G*oˆ…·G€)nûìén€cÞ’£ÒEADITEM¶‡ bytes. items, Item list: Can't find nItems9íòÕýðú;iõÙdU´÷Dt¨ ÙýüÙýòW÷ç€o‡ýüdÍxŒ-ÙýòÙýô÷­Êm5¨�÷¾çz�üýô÷Ç®²®ýôýð|`:ÙþüdiÐ\÷ÔªÌ`�ÕO¼‡þü0¯cæT÷ÆähioÞRF;H¼nýðoÀ´0ϱ)@i)nénÀÞº’£ÒEADPATL pCattern˜istCan't find number of patterns9íòÕ ýò4;iÙd~U´Dt¨ ÙýüÙýò÷æxo‡ÕýüdxŒ-ÙÜýòÙýô÷Èþm5¨ê&÷æro‡ýükdxŒ-ÙýònÙýö÷ÈÐm5¨õæ÷æD˜é‚þüu摼!¾š÷¹Þ…G°oˆ…·GÙþüoˆ…GÛ�oˆ…G?íýöÏ dš|…¾Ghoˆ…GÛ?ýôÏ dš|}…G€‡þüd—xŒ-üýôüýö[�÷ܼ´0Ï·)@i)néøÞ’ú£ÒEADRAW @ for  @ Raw binary from: Can't find offsetCan't find nBytes9ïì@ÕžsöväGß]öv1@GÙdóûU;védÿUB”)mövš‰ÆGt¨ B¬ÆØ^ç»pÿ)@Ö9ni+B¬i:¬Ùãd"¿UrãBSo÷Â@>7o÷Â8<›€÷Äìs›á÷Ää·Ð|òÏ×�ü zÁÆ8=DžzF`›o÷Áª÷Ä,RE.Hºnžoê0Ï)@i¥¾÷¸…G„woˆ…G?iÏû di|…Gï\oˆ…GAiödi|…G€w)KéJ­öXf+nöXB+möXöP`öP ®�+nöPn2ÞùÒú¹ÍAKEABMAÖ is! Bitmap length for9îþÕþþ(´Ô¢‚|ëæ‘¼!ÿ‡|dxŒ-»÷Â>Ì`·Ðni¼ÕT÷þHhfoêE»ùào ÐÞùŠö¹ÒEADALI1F9ìÜaÕüÜ´¢‚|õëæ‘¼!qé‡ÿ|dxŒ-÷ÝÂ~Bo÷ÀJ;_ùÞQŒ÷ÀÌÐ m€ùÞlN?-ùÞ‡þÞ- Æ ·T@SAUC¼þz}¦B;pFörL·V@SAC¼þz}ŦB;pFöt)mör­0D¼A¼þ·z}¦B;p9För·]SAC¼þz}¦B;pFöt)mörG·X@SAC¼þz‹}¦B9pF$RFi¼n™oÿP/Ž;m¦\æH ;m¦^æF:-æFo÷°Þ`…G˜oˆ…·G0-æHÏ dù|…G‚oˆn…G€…G`woˆ…G0-æFÏ› d|…Gï(oˆ…G€v=mæHÁ|/0¼”A¼ é@}æ:IðF–8†0-æFÐ|ò"SA(éAÒ@>·Z@SAC¼(þz}¦B20FHÁ)A&­·T@SAC¼þz‹}¦B;pFör·V@©SAC¼þz}¦B;pF˜öt)mörG·]SAxC¼þz2-æFåAÒ| „4SBE¼þãA}¦B40 F}¦B”p9B¢¼mCæHî9Ei`8·Ð|*SAC¼þz"RA4SBE¼þãA}¦B40F�}¦B”pHÂ…üi9BAišliRFi¼nÁoEþü/ò;m¦\æH=mæHÜ|/Ø0¼A¼¥ é@}æ:IðF8† ¥¼é@Ð|é>·Z@©SAC¼þz}¦B20F˜HÁ)A­·T@SAC¼,þz}¦B;pFör·¦V@SAC¼þz}¦Bb;pFöt)mörG·]âSAC¼þz}¦B201F’m¦`HÁƒü¢çA9A!¢·Ð|SAC¼þz"RA4SBE¼þãA}¦B40F}¦B”pHÂ…ü¢9BiRFi¼nÜoÿ$nàÞ£ÍAiKESEGL. jump table entries. There are segments.9îüÕþü4¨´i‚|ëæ‘¼ÿ!öväG]öv{1@GÙþüdûUö;þüvédUÝB”)mövšB¬it¨èG˜é‚|æÚ¼ÿ!B¬ÆØ^»pÿ)@=Ö¬+B¬:ض÷J­öXf+nþüöX+möXöP`öP ®þü+nþüöPÇþüGøÞ’£úÄEFINECOF9îúÕ°�ï´i‚|ëÿ摼!=mæH�BGO/ðQ‡|dÝxŒ-÷þþø9G+­Jl+îØó l¨¾+f 8X@9@JGMg0¼A¼·é@}´æ<"0FX�)Ai/�d-^BgN¼¼g4v`v0-æHN$Ð|»ØSAC¼þz}¦B;pF˜æF0-æFç@Ð| Ï+@`æB`D0-æFç@Ð| ÏÀ+@æB`20-æHé@Ð|ò€SAC¼þz}¦B201F’m¦`HÁƒü¢çAÒ|! HÁ+AæB)mæBiÁi¾n�oÿ n€Þ¤’£ÄEFINESEF9ÃïÕ|´i‚|ëþ摼!‡|d¿xŒ-÷ø8÷ú [‡|dxŒ-»÷þˆÞ’£ÍAKECODEF9ïîÕ0v-ö]g:…G~o¸ˆ…G -æBr�� d¨|…GïLoˆ…G€vo÷±ì -æBr Ð�r��T÷±Ú;m¦Lör;m¦Nöt-mörÜ;m¦Pör;m¦Röt-mör™�™àЮÜ( „Fl(<F/÷±Î -æBr �� ÷±Àp ÷±¸f-^BË6¼*¼îË„/¤0-æHN$ÅÐ|<=mæHãÌ`\`o€÷öž=_žz`B' T@SAC¼þz}ŦB20FQA?÷±$VF$dd÷±€÷±d·©÷°dð÷° RE*Hºnžo¸H¾nãµož/&|=mæHÃÌÂ/’0¼A¼·é@i}æB=pF†z`l0¼A¼þ z}¦B?09F÷°¬ ]SAC¼;þz}¦B?0F÷°’f T@SAC¼þz}ŦB?0F÷°x V@¬SAC¼þz}¦B?0F˜÷°^XFREHºn†oŽQi¾nÃoÿj`|0- æH]é@<=mæHLÌÂ`b0¼A¼·é@}´æB=pF0z`> ]ÌSAC¼þz}¦B?01F÷¯üZFdd÷¯òs€÷¯ìd©÷®êd«ð÷®âREHºn0o¼RH¾nLo˜nðÞ«£ÏUTPUTJU by!tes long.The jump table is 9€[ÕF(>.GhõïOhEªhNíª¿h}ªhCíª¿hEíªhGíª»hIíªhKíª»hMíªhOíª»P¨éYçéÿÐÞùйÓHOULDPAF9[ÕFïþ>.G;iöþñ5¨Þgo€�i÷ÿRm¾t¨þñY‰þñ`V7‰þñ¾lþîoL-^BÁg.¼¼g`:·�lNþîÏ�ü$ç@Ð|óT@J>`":o÷¦2`4·�lþîÏ�ü¢ç@Ð|)óT@>=Gén€Þ±ùйÃODEFILT»‡Internal logic error!9íæÕý⨴¢‚|ëæ‘þ¼!8.iJD>÷ûæk/®0¼A¼ é@)}æ:IðFçþñ-^™Bg8¼¼g0`V0-¦ZÐm¦Fr ÃíæHÒ@=Aþîo?÷ò¨÷­Ôoª?÷ó ÷­È`(0-¦Z Ðm¦V2-æHëAÒ@Ò|¢€=Aþ÷­¦¤iÜ÷­ž‡|dxíŒ-÷²ÈAG÷±˜vBo÷°Œpç@2’@;AùÞQ÷±: m,ùÞß Y@Ï ÷å±f`rQ÷±"Ýþò -,­^g4A­p xÛØ ýäÌ`ooÖ÷°Š‹÷þ ÷­­H¾nýäoä`*A­pa xØ ýâÌ`[o÷°X÷¬èH¾nkýâoì|EùਠE(ÿ^ÀÀ€ËÿHEùàPo  5¨gB?;‡þæ- Æ RÙ¥þæåÙ|:Ù¾ýædx ‡ýæ.dxŒ-o÷¤wnðÞùйÏUTP=UTCO:" of "Cannot find segment 9ïæÕ†…Gô´iŽšÅšdšÿo„…G¾ódû¨x…G´iXûéoˆ…Gˆwd¨´iŽéc¿r’@?Ù†xqÙ†oˆ…GïPoˆ…G´iöXid|…Gßóoˆ…Gï€Þ’£ÐR•ÒBJn. bytes long. is  &&&&ð&&&&&&& 9ëþÕûþï;iõ+LöToAš÷¼·>mgB8+Ï�ü@:H@J@J@îB¬i`&o¨˜édxŒ-»o÷¸ÖÈÏ)@i4Û÷þ²/oAšõ´÷¶êmg*o˜éêdxŒ-o÷ÈÏ)@i4÷þvv/âoAš÷·jm½Ë¬o˜édÝxŒ-÷îÂÈÏ)@mi4÷þ>oAš÷>÷¶zmgpJ¬ÆgjJ˜Æ0F¡ Aw. ˜Ær0B B3)=g>`A]þrC¼‡þ�2F˜Æ-ÙþAÆßÙüþd­x ù‚ÝüþæÚ¼!/(o¾Aš²÷µômgWp)@i‰GAé÷ü¿x/oAš„z÷µÌm߉G4÷ýçÀ/àoAš^z÷µ¬mgpD)@i‰ÅGAé÷¿`/¸o¯Aš0÷µ„mgW)|F€i‰GAéú÷¿Ì/ŽoAšõ÷µZmg8t¨ jE¦@dU¦@uDo…¦@÷Á$ÈÏ×)@i)m¦@é‰G/òDoAš°÷µ^mg2o˜édÝxŒ-¾¨÷¶¾È½Ï)@it¨G4÷ýü”/oAšfz÷´ÌoAšR÷½´¾m€gnoAé÷ò¥ 6AéÙûþtd­x ‡|‚ûþwæÚ¼!˜éc¿]Ï)@i",i·S�C¼‡|�F˜Üé‚|æÚ¼!‰ÿG/poAšÈ{÷´ÈÏ)@iµ)m¦@é‰G`HoAÜšT÷²mg6t«¨ E¦@dUÕ¦@D…¦@÷Ãd­¦@0Ï)@i)m¦@锉Gn€Þ’£ÃAwSEOBJE˜GNRLICN#BNDLFREFANYBRAWBCNTLW•ˆMENUD ITLLSTRSTR#DLOGALRT STRGSTR PICTHEXAICONCURSPAT#PAT DRVRFWIˆFONT9[ÕF4;içÿ (­özJ”g"~Xˆ‚¡Gp± VÈf P¨Ñ èY~(�`ÚøÞÏùº¹ÆINDTYPEF‡9íðÕýðú´iõ‚|ëæ‘¼!çÿG`¨þüÄ|c÷>JGf/„-|&&Èýô¾nþü\À—þüC¼�‡|0B Bó£ª=Rnþü`Ö¾nþül/H‡ýüCúXÚŠñ|`No?þüA¼™‡|0F¡?÷»«ÒM¼‡ýü0/c̰_¥/0¼A¼M ‡ý÷¼óFRngþüRF Fšo¬P¨Gè‡|dxŒ-»ÙýøÙþü÷º¬¾nþü^À—þüC¼‡|0rB B=)=äRnþü`Ö?þüA¼‡È|0F¡ A=f Rnþü‡|dxìŒ-ÙýôÙþü÷ºHV‡ýøCújp± VÈ�>-|STR ýøo�ýøaEöv÷þ*m_`.EµövdÆURmöLžöv(­öz)nýøš)nýô i¬G+mövöznÀGÞ’£ÔYPEDEFI¢‡STTYPE9íüÕ¢ýüÖ´ ‚|ëþ摼!´G‚þëæ‘¼!r�ðÿG]7@GÙýüdûÛU;ýüvédwU‰ B”)KšB¬Git¨G˜é‚þæÚ¼!Ù|°xèmB¬Æ`v­ÆdU˜Æ‚û|æÚ¼!Ø^»ÿpÿ)@Ö9n¢+B¬:´9niÄ|cJ@~o´ýü1möN»RmöN"` ´ýü1|^»�ýür÷ö®J­öXf+nýüöX+möXöP`öP ®ýü+nýüöPnaÞùø ¹ÍAKEOBJE­FÃ9ïúÕôsrGý>.Æ;iç�BSq¾|BB¾n _À"!ÂËšO¼ |0r¯c @@f z=SBS`rO¼ |0q¯c @¶\ÀO¼— |0¯¡ A9;_Á=g&0N¢O¼² |0¯¡Ò@’|;¶6�P¨�`O¼� |0¯c @-;fx®B/ÿ\4?ï@ÑS0GJ6€n2ÞùGý¹ÇETNUM&F9éòqÕùò´+‚|õëæ‘¼!çó´ÿÖB´�B´ Dí´GDÄ|c<JFf/ò̼G\ÀO¼‡|0¯¡ Awóª=¥`Þ¼Gl/Æ8¼G\ÀO¼‡Á|0¯¡ AÂ)Ý=¥`Þ¼Gl,²GÙ|Ùüòd­x w‡üòdxŒ-¹÷™/r=Gýøz¼E\ÀK¼‡|0P¡œ A�)=¥RE`Þ=`¨ýô¼nýô\À—ýôCC¼‡|0BŽ B))=Rnýô`Ö¼El:¼nýôl=Fýôo·]T?� ‹ï÷ý¾m5¨¥/ê}o ]Tüýô�GÝ‹÷ýœm5¨´ûGDP¨ó¸nýøf/¶>¾nýø]ÀO¼�‡|0¯¡ A!;)=¥`ܾnýøm0´�-Ù|?·�D_TÙûòxù‚ûòkæÚ¼!´ÖB`X?´�-Ù|?·�D_TÙúòxù‚úòkæÚ¼!´Ö-Ùÿ|·]T?ýø�G¼ŸTÙùòxù‚ùòkæÚ¼!nðÞùßÖ¹ÐARSESTR�‡Missing comma in: 9éúÕùú(´Ôi‚|ëæ‘¼!ÿEü0Ù|d<<}ü>JGg..Ù¡|Ùùúdxë ‡ùúdxŒr-€÷•˜…G€w…GÀoˆ…·GÙ|oˆ…Gß oˆ…Gí€Ùúú÷šŠ}ø~‚ªúúæÚ¼!Eü0¾¨m5¨ËUoÙþþ÷—ømËo‡ÚþdxŒ-÷Üø m5¨Ëäo‡ÞþdxŒ-ÙÜûþÙüþÙûüEöJ‹ª÷üzmˬÙûþ­xèmg‡ûþ‚ªüþæÚ¼!övXˆ>CúÚp± VÈf‡ üþdxŒ-÷Üê^`^övXˆCú¬p± VÈf‡üþd”xŒ-üûü÷Þæ[`0…öv‡ûþdÊxŒ-‡üþdÍxŒ-üûü?-öJ÷�ùš` �o÷”"/¼þÚEü0o ÐÞÚ’£ÓCANFILEŠ(Syntax error in resource definition fileALI1CODE*".#Scanning resource definition file "" (incanFile)RESETàrror trying to open "9[ÕFðB­öXB­özBmöNBmöLÞ£ÉNITOBJLF9Ã[ÕF…þŠ/oA:ê÷$÷™*Q÷™Z(T5`¬&S`šnaÞ£×RxITEOPTF9ïøÕ™Øú|+mþŠöb0-öL¼T÷˜êöz Ë—°-ö]gf*…Gà€B…G¶o¹ˆ…Gvšdšýo„…G�o»ˆ…G8GÏ ýdš|…Gdwoˆ…G€Ì»`0¼A¼4pc”T÷—`hšoâw8G¼T÷˜F ,éŸ�­öbT÷˜8(T/ÿNLnÀÞ£×RITETYP » objects. has Type 9ïöÕÁÐï+mþŠö^öXB‡#öX gVJ¬ÆgL˜¡Æ-Zxümg:W)GÖ˜ÆcTî÷–ĘÆdxíŒ-÷˜˜Æc¶ÏЇR€.(T`¦nƒ€Þ£×RITENAM­†F9[ÕF÷ûò÷¿üF÷ûº÷ýŠ÷þ\÷ªýÐ÷ÿT-ö]5¨¥â÷ûœÞ£×RITEEVE FxÕF,_NU¥.Ÿí x8+O¥6+N¥2QxH+_¥.B-ùÛ|¨¥}¥>CúîÚñBmæH}÷~d“xŒ-÷ø B­þŠ|¨ö]÷þÚ+mþŠöf …G€…G¢woˆ…G -ön�­öj d$|…GÞdoˆ…G퀅GBoˆn…G -öf�­ön dÃ|…Go»ˆ…G€B­þŠB-ö]÷’Â÷þH÷“`T…G€-¥€¹¯/šùÛÒ>€¹"_ùÈ2�50�NÑ"_ùÈ2Á0�NÑ�t™²›ô)hPASLIB UNITSTD GRAFUTILUNITHZ STORAGE QUICKDRAHWINT FEDEC FONTMGR EVENTS WINDOWS FOLDERS MENUS FLDUT WMLSTD WMLCRS WMLGROW WMLSB INTERNATFPLIB ALERTMGRMATHLIB UNITFF UNITCS UNITFILEUNITFMT UUNIVERS FMGRUTIL*PMM +PMDECL ,UNITFIGA-SYS1LOCK.UCLASCAL/DBENV ?FIELDEDIGSCRAP IFILERCOMKPRSTDINFMBLKIOINTfBLOCKIO gPASHEAP h˜Šø ^BÔ(vøŽ n NùªNù ŒNùNùbNù¤NùNù Nù 8Nù�NùÖNù*š²&PASLIB1 LWWORK OTHRWORKACTIVATEOPENSEG1INcold NEVER alert WMcold SMcold SUcold "SCROLL &UT 3SYSINIT APMMSeg CWORKSET DGRAFSEG EFEcutCopFFEcold GSBcold HOPENSEG2IMOVERS KALRTDIALNOPEN1LW Ofpsane Sfpelems Tfpreal UfprealioVfpdecstrWcorrbd Ymathlib Zfinance [matrix \double ]mathsort^solve _PASIOLIB`SgPASinib€MainProg „ BÔ…øJoðNV/- Hz&Bg Àˆ/-  À€ "0N^ _\ONÐÈEAPERRO43The heap is full. The program must now terminate! JoïÜNVÿÜHç n CîÿôJ"Ø"Ø"Ø nCîÿèJ"Ø"Ø"Ø/.ÿè/.ÿô ª4./.ÿì/.ÿø ª4,/.ÿð/.ÿü ª4*B§// ª(// ª( ª // ª( ª  ª\-_LßàN^ _PONÐÄISTANCEJoï´NVÿ°HçBg Š¤0HÀ�üFH@J@�|HÀ/ ª8-_ÿÄBg Š¤0HÀ�üFH@J@�| HÀ/ ª8-_ÿÈB®ÿÌ/.ÿÄp / ª8 ª Bg Š¤0jD@HÀ�üH@J@HÀ/ ª8 ª -_ÿÐ/.ÿÈp / ª8 ª Bg Š¤0jD@HÀ�ü-H@J@HÀ/ ª8 ª -_ÿÔ/.ÿÌp / ª8 ª Bg Š¤0jD@HÀ�ü#H@J@HÀ/ ª8 ª -_ÿØHnÿ¼/.ÿÄ ªT ?/.ÿÈ ªT ?/.ÿРªT ?/.ÿÔ ªT ? Š(0-½.S@=@ÿ²BG`fO¼ ÁüAí½0IðHnÿ´/ ªT ?/, ªT ?/,  ªT ?/, ªT ? Š(BgHnÿ¼Hnÿ´Hnÿ´ ŠØg`:RGi¾nÿ²o”AîÿäCîÿÄ Ù Ù ÙAîÿðCîÿÐ Ù Ù Ù/.ÿÄ/.ÿРª /<@ ª-_ÿÄ/.ÿÈ/.ÿÔ ª /<@ ª-_ÿÈ/.ÿÌ/.ÿØ ª /<@ ª-_ÿÌHnÿÄHnÿÐN­ìB§HnÿÐ m¾ðHh4Nºý<-_ÿüBG0-½.A¼ÁüAí½H!®ÿü/.ÿüO¼ ÁüAí½H/0 ªgRG`Þ R@=@ÿ°<-½.`2M¼ Áü"SAC¼ÃüCí½0AñEí½0Còp ÙS@núSFi¼nÿ°lÈO¼ ÁüCí½0AñCîÿäp ÙS@núRm½.LßÀN^NuÍAKEBOX JoïäNVÿäHç n CîÿôJ"Ø"Ø"Ø nCîÿèJ"Ø"Ø"Ø(mB§ ŠÔ&_ Š/.ÿô/.ÿø/.ÿüN­Ô/.ÿô/.ÿø/.ÿðN­È/.ÿè/.ÿø/.ÿðN­È/.ÿè/.ÿø/.ÿüN­È/.ÿô/.ÿø/.ÿüN­È/  ŠÀ/ Hlÿô Š  Š/.ÿô/.ÿø/.ÿðN­Ô/.ÿô/.ÿì/.ÿðN­È/.ÿè/.ÿì/.ÿðN­È/.ÿè/.ÿø/.ÿðN­È/.ÿô/.ÿø/.ÿðN­È/  ŠÀ/ Hlÿä Š  Š/.ÿè/.ÿø/.ÿüN­Ô/.ÿè/.ÿø/.ÿðN­È/.ÿè/.ÿì/.ÿðN­È/.ÿè/.ÿì/.ÿüN­È/.ÿè/.ÿø/.ÿüN­È/  ŠÀ/ Hlÿì Š Hlÿô Š0/.ÿè/.ÿì/.ÿðN­Ô/.ÿè/.ÿì/.ÿüN­È/.ÿè/.ÿø/.ÿüN­È Š,/  Š$LßN^ _PONÐÄRAWBOX  "NV,_NU½,Ÿí "8Aí¿þ/Aíÿþ/Aúú:/NºÊAí¿’+H¾ô/-¾ô ŠüAí¾ø+H¾ð/-¾ðN­Ú m¾ôHhN­øpœ/ ª8pK/ ª8pd/ ª8pµ/ ª8N­Îp/ ª8N­òN­Âp/ ª8N­æpF/ ª8N­à mHhÿô Š0 mHhÿì Š4 m¾ôHh Š€;|ÿö½,`Dp Áí½,HÀ/ ª8pœ/ ª8B§ ª8N­Ôp Áí½,HÀ/ ª8pd/ ª8B§ ª8N­ÈRm½, m ½,o´;|ÿö½,`Dpœ/ ª8p Áí½,HÀ/ ª8B§ ª8N­Ôpd/ ª8p Áí½,HÀ/ ª8B§ ª8N­ÈRm½, m ½,o´Bm½.Nºùæ m½.fô0-½.S@;@½,`00-½,A¼ÁüAí½0Hp0-½,A¼ÁüAí½BgHnÿôHl(HnÿìHnÿðNº¸g?.ÿî?.ÿì ŠÈ?.ÿò?.ÿ𠊀(_N^ _Þü NÐÌINETO3DJoðNVHç(m½(Gì0+�kHÀ/ ª8/<@ ª)_@0+�SHÀ/ ª8/<À ª)_D0+HÀ/ ª8/,@ ª )_H0HÀ/ ª8/,D ª4)_LLßN^NuÖIEWLOOKJoïøNVÿø nCîÿøJ"Ø"Ø m½(XˆCîÿø Ù ÙNºÿLN^.ŸNuÖIEWPORTJoðNV/ (m½()n )n )n)n/./.  ª /<@ ª)_4/./. ª /<@ ª)_8NºþÞ(_N^ _ÞüNÐÌOOKAT JoðNVHç..(m½(//<=ÌÌÍ ª$g.<=ÌÌÍ//<@/ boxArray[i].dist DO i:=i+1; { insert in order of dist } "FOR j:=nBoxes DOWNTO i+1 DO boxArray[j]:=boxArray[j-1]; "boxArray[i]:=myBox; "nBoxes:=nBoxes+1; END; PROCEDURE DrawBox(pt1,pt2: Point3D); { draws a 3D box with shaded faces. } { only shades correctly in one direction } VAR tempRgn: RgnHandle; BEGIN "tempRgn:=NewRgn; "OpenRgn; $MoveTo3D(pt1.x,pt1.y,pt1.z); { front face, y=y1 } $LineTo3D(pt1.x,pt1.y,pt2.z); $LineTo3D(pt2.x,pt1.y,pt2.z); $LineTo3D(pt2.x,pt1.y,pt1.z); $LineTo3D(pt1.x,pt1.y,pt1.z); "CloseRgn(tempRgn); "FillRgn(tempRgn,white); "OpenRgn; $MoveTo3D(pt1.x,pt1.y,pt2.z); { top face, z=z2 } $LineTo3D(pt1.x,pt2.y,pt2.z); $LineTo3D(pt2.x,pt2.y,pt2.z); $LineTo3D(pt2.x,pt1.y,pt2.z); $LineTo3D(pt1.x,pt1.y,pt2.z); "CloseRgn(tempRgn); "FillRgn(tempRgn,gray); "OpenRgn; "MoveTo3D(pt2.x,pt1.y,pt1.z); { right face, x=x2 } $LineTo3D(pt2.x,pt1.y,pt2.z); $LineTo3D(pt2.x,pt2.y,pt2.z); $LineTo3D(pt2.x,pt2.y,pt1.z); $LineTo3D(pt2.x,pt1.y,pt1.z); "CloseRgn(tempRgn); "FillRgn(tempRgn,black); "PenPat(white); "MoveTo3D(pt2.x,pt2.y,pt2.z); { outline right } "LineTo3D(pt2.x,pt2.y,pt1.z); "LineTo3D(pt2.x,pt1.y,pt1.z); "PenNormal; "DisposeRgn(tempRgn); END; BEGIN { main program } "{----- Initialization - Generic to all applications using QuickDraw -----} "QDInit(@heapBuf, @heapBuf[8192], @heapError); { Must do this once at beginning } "myPort := @GPort1; "OpenPort(myPort); "myPort3D := @GPort2; "Open3DPort(myPort3D); "ViewPort(myPort^.portRect); { put the image in this rect } "LookAt(-100,75,100,-75); { aim the camera into 3D sapce } "ViewAngle(30); { choose lens focal length } "Identity; Roll(20); Pitch(70); { roll and pitch the plane } "PenPat(white); "BackPat(black); "EraseRect(myPort^.portRect); "FOR i:=-10 TO 10 DO $BEGIN &MoveTo3D(i*10,-100,0); &LineTo3D(i*10,+100,0); $END; "FOR i:=-10 TO 10 DO $BEGIN &MoveTo3D(-100,i*10,0); &LineTo3D(+100,i*10,0); $END; "nBoxes:=0; "REPEAT MakeBox; UNTIL nBoxes=boxCount; "FOR i:=nBoxes-1 DOWNTO 0 DO $DrawBox(boxArray[i].pt1,boxArray[i].pt2); "Tone(2000, 500); { Beep tone of (1/2000)*10^6 == 500 cycles/sec for 6500 milliseconds } "ReadLn; { Wait until RETURN entered before terminating program } END. ’GRAF3D "€OPEN3DPOGraf ‚OPEN3DPOOPEN3DPO‰$%I_FLT %I_FLT ‚|vh^RF<‰MOVETO3DMOVETO3D†‰IDENTITYIDENTITYp‰VIEWANGLVIEWANGLl‰LOOKAT LOOKAT b‰VIEWPORTVIEWPORT(‡GRAF3D ‡QUICKDRA…¤JoðNVHç&m+nÿü n «ÿü kÿüHhNº kÿüIè0,HÀ/Nº0HÀ/Nº0,HÀ/Nº0,HÀ/NºNºB§NºNºNºB§NºB§NºB§NºNºLßN^.ŸNuÏPEN3DPO�œ€SETPORT3Graf ‚SETPORT3SETPORT3‰SETPORT SETPORT ‡GRAF3D …0JoðNV+nÿü n/NºN^.ŸNuÓETPORT3�(€GETPORT3Graf ‚GETPORT3GETPORT3‡GRAF3D …(JoðNV n ­ÿüN^.ŸNuÇETPORT3� €MOVETO3DGraf ‚MOVETO3DMOVETO3D‰MOVETO MOVETO ^‰CLIP3D CLIP3D N‰TRANSFORTRANSFOR8‡GRAF3D …~JoïìNVÿì/ (mÿüAîÿìCì( Ù Ù Ù)n)n )n$HlHl(NºBgHnÿìHl(HnÿøHnÿüNºg ?.ÿþ?.ÿüNº(_N^ _Þü NÐÍOVETO3D�v€LINETO3DGraf ‚LINETO3DLINETO3D‰LINETO LINETO j‰MOVETO MOVETO ^‰CLIP3D CLIP3D N‰TRANSFORTRANSFOR8‡GRAF3D …ŠJoïìNVÿì/ (mÿüAîÿôCì( Ù Ù Ù)n)n )n$HlHl(NºBgHnÿôHl(HnÿìHnÿðNºg?.ÿî?.ÿìNº?.ÿò?.ÿðNº(_N^ _Þü NÐÌINETO3D�‚€MOVE3D Graf ‚MOVE3D MOVE3D ‰%F_ADD %F_ADD 0$‰MOVETO3DMOVETO3D4‡GRAF3D …TJoðNV/ (mÿü/,/.Nº/, /. Nº/,$/.NºNº(_N^ _Þü NÐÍOVE3D �L€LINE3D Graf ‚LINE3D LINE3D ‰%F_ADD %F_ADD 0$‰LINETO3DLINETO3D4‡GRAF3D …TJoðNV/ (mÿü/,/.Nº/, /. Nº/,$/.NºNº(_N^ _Þü NÐÌINE3D �L€MOVETO2DGraf ‚MOVETO2DMOVETO2D‰MOVETO3DMOVETO3D‡GRAF3D …6JoðNV/. /. mÿü/($NºN^ _PONÐÍOVETO2D�.€MOVE2D Graf ‚MOVE2D MOVE2D ‰MOVE3D MOVE3D …0JoðNV/. /.B§NºN^ _PONÐÍOVE2D �(€LINETO2DGraf ‚LINETO2DLINETO2D‰LINETO3DLINETO3D‡GRAF3D …6JoðNV/. /. mÿü/($NºN^ _PONÐÌINETO2D�.€LINE2D Graf ‚LINE2D LINE2D ‰LINE3D LINE3D …0JoðNV/. /.B§NºN^ _PONÐÌINE2D �(€VIEWLOOKGraf ‚$1000000VIEWLOOK‰%F_SUB %F_SUB v‰%F_ADD %F_ADD `‰%F_DIV %F_DIV H,‰%I_FLT %I_FLT nX>"‡GRAF3D …–JoðNVHç(mÿüGì0+�kHÀ/Nº/<@Nº)_@0+�SHÀ/Nº/<ÀNº)_D0+HÀ/Nº/,@Nº)_H0HÀ/Nº/,DNº)_LLßN^NuÖIEWLOOK�Ž€VIEWPORTGraf ‚VIEWPORTVIEWPORT‰$1000000VIEWLOOK&‡GRAF3D …@JoïøNVÿø nCîÿøJ"Ø"Ø mÿüXˆCîÿø Ù ÙNºN^.ŸNuÖIEWPORT�8€LOOKAT Graf ‚LOOKAT LOOKAT ‰%F_DIV %F_DIV T:‰%F_ADD %F_ADD J0‰$1000000VIEWLOOK\‡GRAF3D …|JoðNV/ (mÿü)n )n )n)n/./. Nº/<@Nº)_4/./.Nº/<@Nº)_8Nº(_N^ _ÞüNÐÌOOKAT �t€VIEWANGLGraf ‚VIEWANGLVIEWANGL‰%I_FLT %I_FLT œ‰%F_SUB %F_SUB �xh‰%_SIN %_SIN P‰%_COS %_COS H‰%F_DIV %F_DIV  |T>‰%F_MUL %F_MUL ”l:‰%F_LT %F_LT ‡GRAF3D …ÂJoðNVHç..(mÿü//<=ÌÌÍNºg.<=ÌÌÍ//<@/  üð¦ˆtpdöâÞÒÆˆ^JF:®–~nV>‰$2000000CODE š|ÎÀ‡GRAF3D ¨2…tJoïÌNVÿÈHç nCîÿôJ"Ø"Ø"Ø nCîÿèJ"Ø"Ø"ØB.(mÿü/.ÿô/,4Nº/,PNº-_ÿô/.ÿø/,8Nº/,TNº-_ÿø/,JoïôNVÿôHç(.//JoïôNVÿôHç(.//JoïôNVÿôHç(.// GRAFTYPES.TEXT ; ; QUICKDRAW TYPE DECLARATIONS, USED BY ALL GRAPHICS ROUTINES ; SYMBOLS .EQU 1 FORMAC .EQU 0 NIL .EQU 0 ;IMPLEMENTATION VALUE OF NIL ;----------------------------------------------- ; ; QuickDraw VERBS: ; FRAME .EQU 0 PAINT .EQU 1 ERASE .EQU 2 INVERT .EQU 3 FILL .EQU 4 ;----------------------------------------------- ; ; QuickDraw transfer MODES: ; srcCopy .EQU 0 srcOr .EQU 1 srcXor .EQU 2 srcBic .EQU 3 notSrcCopy .EQU 4 notSrcOr .EQU 5 notSrcXor .EQU 6 notSrcBic .EQU 7 patCopy .EQU 8 patOr .EQU 9 patXor .EQU 10 patBic .EQU 11 notPatCopy .EQU 12 notPatOr .EQU 13 notPatXor .EQU 14 notPatBic .EQU 15 ;----------------------------------------------- ; ; QuickDraw Color Separation: ; normalBit .EQU 0 ;normal screen mapping inverseBit .EQU 1 ;inverse screen mapping redBit .EQU 4 ;RGB additive mapping greenBit .EQU 3 ;for photos from screen blueBit .EQU 2 cyanBit .EQU 8 ;CMYBk subtractive mapping magentaBit .EQU 7 ;for ink jet printer yellowBit .EQU 6 blackBit .EQU 5 blackColor .EQU 33 whiteColor .EQU 30 redColor .EQU 205 greenColor .EQU 341 blueColor .EQU 409 cyanColor .EQU 273 magentaColor .EQU 137 yellowColor .EQU 69 ;----------------------------------------------- ; ; OFFSETS WITHIN A POINT: ; V .EQU 0 ;WORD H .EQU 2 ;WORD ;----------------------------------------------- ; ; OFFSETS WITHIN A RECT: ; TOPLEFT .EQU 0 ;POINT BOTRIGHT .EQU 4 ;POINT TOP .EQU 0 ;INTEGER LEFT .EQU 2 ;INTEGER BOTTOM .EQU 4 ;INTEGER RIGHT .EQU 6 ;INTEGER ;----------------------------------------------- ; ; OFFSETS WITHIN A BITMAP: ; BASEADDR .EQU 0 ;LONG ROWBYTES .EQU 4 ;WORD BOUNDS .EQU 6 ;RECT ;----------------------------------------------- ; ; OFFSETS WITHIN A CURSOR: ; DATA .EQU 0 ;16 WORDS MASK .EQU 32 ;16 WORDS HOTSPOT .EQU 64 ;POINT ;----------------------------------------------- ; ; OFFSETS WITHIN A POLYGON: ; POLYSIZE .EQU 0 ;WORD, TOTAL BYTES POLYBBOX .EQU 2 ;RECT POLYPOINTS .EQU 10 ;ARRAY[0..0] OF Point ;----------------------------------------------- ; ; OFFSETS WITHIN A REGION: ; RGNSIZE .EQU 0 ;WORD, TOTAL BYTES RGNBBOX .EQU 2 ;RECT RGNDATA .EQU 10 ;START OF RGN DATA ;----------------------------------------------- ; ; OFFSETS WITHIN A PICTURE: ; PICSIZE .EQU 0 ;WORD, TOTAL BYTES PICFRAME .EQU 2 ;RECT PICDATA .EQU 10 ;START OF BYTE CODES ;----------------------------------------------- ; ; OFFSETS WITHIN QDProcs RECORD: ; textProc .EQU 0 ;PROCPTR lineProc .EQU textProc+4 ;PROCPTR rectProc .EQU lineProc+4 ;PROCPTR rRectProc .EQU rectProc+4 ;PROCPTR ovalProc .EQU rRectProc+4 ;PROCPTR arcProc .EQU ovalProc+4 ;PROCPTR polyProc .EQU arcProc+4 ;PROCPTR rgnProc .EQU polyProc+4 ;PROCPTR bitsProc .EQU rgnProc+4 ;PROCPTR commentProc .EQU bitsProc+4 ;PROCPTR txMeasProc .EQU commentProc+4 ;PROCPTR getPicProc .EQU txMeasProc+4 ;PROCPTR putPicProc .EQU getPicProc+4 ;PROCPTR ;----------------------------------------------- ; ; OFFSETS WITHIN A GRAFPORT: ; device .EQU 0 ;WORD portBits .EQU device+2 ;BITMAP portRect .EQU portBits+14 ;RECT visRgn .EQU portRect+8 ;RGNPTR clipRgn .EQU visRgn+4 ;RGNPTR bkPat .EQU clipRgn+4 ;PATTERN fillPat .EQU bkPat+8 ;PATTERN pnLoc .EQU fillPat+8 ;POINT pnSize .EQU pnLoc+4 ;POINT pnMode .EQU pnSize+4 ;WORD pnPat .EQU pnMode+2 ;PATTERN pnVis .EQU pnPat+8 ;WORD txFont .EQU pnVis+2 ;WORD txFace .EQU txFont+2 ;WORD txMode .EQU txFace+2 ;WORD txSize .EQU txMode+2 ;WORD spExtra .EQU txSize+2 ;Fixed Point fgColor .EQU spExtra+4 ;LONG bkColor .EQU fgColor+4 ;LONG colrBit .EQU bkColor+4 ;WORD patStretch .EQU colrBit+2 ;WORD picSave .EQU patStretch+2 ;handle rgnSave .EQU picSave+4 ;handle polySave .EQU rgnSave+4 ;handle grafProcs .EQU polySave+4 ;Pointer PORTREC .EQU grafProcs+4 ;SIZE OF A GRAFPORT PORTBOUNDS .EQU PORTBITS+BOUNDS ;----------------------------------------------------- ; ; OFFSETS IN A REGION STATE RECORD: ; RGNPTR .EQU 0 ;LONG DATAPTR .EQU RGNPTR+4 ;LONG SCANBUF .EQU DATAPTR+4 ;LONG SCANSIZE .EQU SCANBUF+4 ;WORD THISV .EQU SCANSIZE+2 ;WORD NEXTV .EQU THISV+2 ;WORD MINH .EQU NEXTV+2 ;WORD MAXH .EQU MINH+2 ;WORD LEFTH .EQU MAXH+2 ;WORD RGNREC .EQU LEFTH+2 ;SIZE OF A REGION RECORD ;----------------------------------------------------- ; ; Offsets in a PicSave record: ; thePic .EQU 0 ;PICHANDLE picMax .EQU thePic+4 ;INTEGER picClipRgn .EQU picMax+2 ;RgnHandle picBkPat .EQU picClipRgn+4 ;Pattern picTxFont .EQU picBkPat+8 ;WORD picTxFace .EQU picTxFont+2 ;Style picTxMode .EQU picTxFace+2 ;WORD picTxSize .EQU picTxMode+2 ;WORD picSpExtra .EQU picTxSize+2 ;Fixed Point picTxNumer .EQU picSpExtra+4 ;Point picTxDenom .EQU picTxNumer+4 ;Point picTxLoc .EQU picTxDenom+4 ;Point picPnLoc .EQU picTxLoc+4 ;Point picPnSize .EQU picPnLoc+4 ;Point picPnMode .EQU picPnSize+4 ;WORD picPnPat .EQU picPnMode+2 ;Pattern picFillPat .EQU picPnPat+8 ;Pattern picTheRect .EQU picFillPat+8 ;Rect picOvSize .EQU picTheRect+8 ;Point picOrigin .EQU picOvSize+4 ;Point picFgColor .EQU picOrigin+4 ;Long picBkColor .EQU picFgColor+4 ;Long picSaveRec .EQU picBkColor+4 ;total size in bytes ;----------------------------------------------------- ; ; QuickDraw GLOBAL VARIABLES: ; ; 52(A5) CONTAINS A POINTER TO THEPORT. ; ALL OTHER GLOBAL VARIABLES ARE EXPRESSED RELATIVE TO THEPORT. ; (.IF FORMAC GRAFGLOBALS .EQU 0 ;A5 OFFSET TO GLOBALPTR (.ELSE GRAFGLOBALS .EQU 52 ;A5 OFFSET TO GLOBALPTR (.ENDC ;----------------------------------------------------------- ; ; QuickDraw PUBLIC GLOBAL VARIABLES: ; thePort .EQU 0 ;GrafPtr white .EQU thePort-8 ;Pattern black .EQU white-8 ;Pattern gray .EQU black-8 ;Pattern ltGray .EQU gray-8 ;Pattern dkGray .EQU ltGray-8 ;Pattern arrow .EQU dkGray-68 ;Cursor screenBits .EQU arrow-14 ;BitMap randSeed .EQU screenBits-4 ;LONGINT ;------------------------------------------------------------ ; ; QuickDraw private global variables: ; wideOpen .EQU randSeed-4 ;RgnHandle wideMaster .EQU wideOpen-4 ;RgnPtr wideData .EQU wideMaster-10 ;Fake Region rgnBuf .EQU wideData-4 ;PointsHandle rgnIndex .EQU rgnBuf-2 ;INTEGER rgnMax .EQU rgnIndex-2 ;INTEGER playPic .EQU rgnMax-4 ;Long playIndex .EQU playPic-2 ;INTEGER; thePoly .EQU playIndex-4 ;POLYHANDLE polyMax .EQU thePoly-2 ;INTEGER patAlign .EQU polyMax-4 ;Point fontAdj .EQU patAlign-4 ;Fixed Point fontPtr .EQU fontAdj-4 ;long, ^FMOutput record fontData .EQU fontPtr-26 ;FMOutput record lastGrafGlob .EQU fontData grafSize .EQU 4-lastGrafGlob ;total size in bytes (.MACRO UNLINK ;-------------------------------------------------------------- ; ; UNLINK A6, STRIP PARAMETERS, AND RETURN. ; IF SYMBOLS=TRUE, THEN ALSO PUT ASCII FOR PROCEDURE IDENTIFIER. ; ; FIRST PARAM IS NUMBER OF BYTES OF STACK BIAS. ; SECOND PARAM IS PROCEDURE IDENTIFIER. ; (UNLK A6 ;RELEASE LOCAL VARIABLES (.IF %1=0 ;NO PARAMETERS ? (RTS ;THEN JUST RTS (.ELSE (.IF %1=4 ;4 BYTES OF PARAMS ? (MOVE.L (SP)+,(SP) ;YES, STRIP AND ADJUST RET ADDR (RTS (.ELSE ;NOT 0 OR 4 BYTES OF PARAMS (MOVE.L (SP)+,A0 ;POP RETURN ADDR INTO A0 (ADD #%1,SP ;STRIP PARAMETERS (JMP (A0) ;JUMP THRU A0 TO RETURN (.ENDC (.ENDC (.IF SYMBOLS ;DO WE WANT SYMBOLS ? (.ASCII %2 ;YES, PUT PROCEDURE IDENTIFIER (.ENDC (.ENDM (.MACRO FAKEHEAD ;-------------------------------------------------------------- ; ; FAKEHEAD, (no params) ; ; Puts in a LINKA6 NOP to fake out the debugger's symbol mechanism. ; (.IF SYMBOLS (LINK A6,#0 ;DO THE LINK (MOVE.L (SP)+,A6 ;UNDO THE LINK (.ENDC (.ENDM (.MACRO FAKETAIL ;-------------------------------------------------------------- ; ; FAKETAIL, 'ProcName' ; ; Fake out the debugger's symbol mechanism. ; Put FAKETAIL,'ProcName' after executable code. ; (.IF SYMBOLS (UNLK A6 ;RELEASE LOCAL VARIABLES (RTS ;THEN JUST RTS (.ASCII %1 ;YES, PUT PROCEDURE IDENTIFIER (.ENDC (.ENDM (.MACRO CHECKSTACK ;-------------------------------------------------------------- ; ; CHECKSTACK byteCount ; ; Does a TST.W to expand the stack if not enough room. ; Does nothing on the Mac version. ; NOTE: %1 param should be an even negative number. ; SLOP .EQU 256 (.IF FORMAC=0 (TST.W %1-SLOP(SP) ;EXPAND STACK (.ENDC (.ENDM ’HARDWARE Interface type #Pixels = Integer; #ManyPixels = LongInt; #CursorHeight = Integer; #CursorPtr = ^Integer; #DateArray = Record 7year: Integer; 7day: Integer; 7hour: Integer; 7minute: Integer; 7second: Integer; 7end; #Frames = LongInt; #Seconds = LongInt; #MilliSeconds = LongInt; #MicroSeconds = LongInt; #SpeakerVolume = Integer; #ScreenContrast = Integer; #KeybdQIndex = 1..1000; #KeybdId = Integer; #KeyCap = 0..127; #KeyCapSet = Set of KeyCap; #KeyEvent = Packed Record 7key: KeyCap; 7ascii: Char; 7state: Integer; 7mouseX: Pixels; 7mouseY: Pixels; 7time: MilliSeconds; 7end; { Mouse } #Procedure MouseLocation (var x: Pixels; var y: Pixels); #Procedure MouseUpdates (delay: MilliSeconds); #Procedure MouseScaling (scale: Boolean); #Procedure MouseThresh (threshold: Pixels); #Function MouseOdometer: ManyPixels; { Cursor } #Procedure CursorLocation (x: Pixels; y: Pixels); #Procedure CursorTracking (track: Boolean); #Procedure CursorImage (hotX: Pixels; hotY: Pixels; height: CursorHeight; &data: CursorPtr; mask: CursorPtr); #Procedure BusyImage (hotX: Pixels; hotY: Pixels; height: CursorHeight; &data: CursorPtr; mask: CursorPtr); #Procedure BusyDelay (delay: MilliSeconds); { Screen } #Function FrameCounter: Frames; #Procedure ScreenSize (var x: Pixels; var y: Pixels); #Function Contrast: ScreenContrast; #Procedure SetContrast (contrast: ScreenContrast); #Procedure RampContrast (contrast: ScreenContrast); #Function DimContrast: ScreenContrast; #Procedure SetDimContrast (contrast: ScreenContrast); #Function FadeDelay: MilliSeconds; #Procedure SetFadeDelay (delay: MilliSeconds); { Speaker } #Function Volume: SpeakerVolume; #Procedure SetVolume (volume: SpeakerVolume); #Procedure Noise (waveLength: MicroSeconds); #Procedure Silence; #Procedure Beep (waveLength: MicroSeconds; duration: MilliSeconds); { Keyboard } #Function Keyboard: KeybdId; #Function Legends: KeybdId; #Procedure SetLegends (id: KeybdId); #Function KeyIsDown (key: KeyCap): Boolean; #Procedure KeyMap (var keys: KeyCapSet); #Function KeybdPeek (repeats: Boolean; index: KeybdQIndex; var event: KeyEvent): &Boolean; #Function KeybdEvent (repeats: Boolean; wait: Boolean; var event: KeyEvent): &Boolean; #Procedure RepeatRate (var initial: MilliSeconds; var subsequent: MilliSeconds); #Procedure SetRepeatRate (initial: MilliSeconds; subsequent: MilliSeconds); { Timers } #Function MicroTimer: MicroSeconds; #Function Timer: MilliSeconds; { Date and Time } #Procedure DateTime (var date: DateArray); #Procedure SetDateTime (date: DateArray); #Procedure DateToTime (date: DateArray; var time: Seconds); { Time Stamp } #Function TimeStamp: Seconds; #Procedure SetTimeStamp (time: Seconds); #Procedure TimeToDate (time: Seconds; var date: DateArray); Implementation 3Þ÷È÷Ó.½Î "˜6Fø€^7XE’D!$÷Ç�÷ð™àðšªð™Ü^lœÏ³úns}Q{quit} g } ÷Ç<$EXEC P{pascal}QD/BOXES L{link}QD/BOXES QD/SUPPORT QD/GRAF3D SYS1LIB IOSFPLIB IOSPASLIB QD/XBOXES S{sys-mgr}V{validate}Y{validate file xfers}N{don't validate selections}Q{quit} F{file-mgr}D{delete}QD/BOXES.I D{delete}QD/BOXES.OBJ R{rename}QD/XBOXES.OBJ,QD/BOXES.OBJ Q{quit} R{run}QD/BOXES $ENDEXEC 3Þ÷È÷Ó.½Î "˜6Fø€^7XE’D!$÷Ç�÷ð™àðšªð™Ü^  aœÏ´Fdsample} } g } ÷Ç<$EXEC P{pascal}QD/SAMPLE L{link}QD/SAMPLE QD/SUPPORT {regular unit} SYS1LIB {intrinsic units} IOSPASLIB QD/XSAMPLE S{sys-mgr}V{validate}Y{validate file xfers}N{don't validate selections}Q{quit} F{file-mgr}D{delete}QD/SAMPLE.OBJ {delete the raw object qdsample} R{rename}QD/XSAMPLE.OBJ,QD/SAMPLE.OBJ {rename the executable qdsample} Q{quit} R{run}QD/SAMPLE $ENDEXEC ’QDSUPPOR€QDINIT ‚QDINIT QDINIT ‰FMOPEN FMOPEN 2‰HIDECURSHIDECURS*‰INITCURSINITCURS&‰INITGRAFINITGRAF"‰INITHEAPINITHEAP‡QUICKDRA…FJoïþNVÿþ/./. /.Nº mYˆ/NºNºNºHnÿþNºN^ _Þü NÐ�>€GETMOUSE ‚GETMOUSEGETMOUSE‰GLOBALTOGLOBALTO ‰MOUSELOCMOUSELOC…0JoðNV nHh n/Nº/.NºN^.ŸNu�(€MOUSEBUT ‚MOUSEBUTMOUSEBUT‰KEYISDOWKEYISDOW…"JoðNVBg<Nº_N^Nu�€TONE ‚TONE TONE ‰BEEP BEEP …$JoðNV/. /.NºN^ _PONÐ� INTERFACE USES $UnitStd, $UnitHz, $Hwint, $QuickDraw, $Fontmgr; CONST "{---------- Font Numbers ----------} "FTile12 = 4; {proportional} "FTile18 = 5; {proportional} "FTile24 = 6; {proportional} "FP15Tile = 7; {Monospaced - 8 lines/inch & 15 chars/inch} "FP12Tile = 8; {Monospaced - 6 lines/inch & 12 chars/inch} "FP10Tile = 9; {Monospaced - 6 lines/inch & 10 chars/inch} "FCent12 = 10; {proportional} "FCent18 = 11; {proportional} "FCent24 = 12; {proportional} "FP12Cent = 13; {Monospaced - 6 lines/inch & 12 chars/inch} "FP10Cent = 14; {Monospaced - 6 lines/inch & 10 chars/inch} "FP20Tile = 19; {Monospaced} PROCEDURE QDInit(startPtr, limitPtr: QDPtr; ErrorProc: QDPtr); { QDInit: Initializes QuickDraw unit by setting up its heap zone, 0global vars, cursor, and the Font Manager it calls on. } PROCEDURE GetMouse(VAR pt: Point); { GetMouse: Returns the current mouse location in the local coordinates 0of the current grafPort. } FUNCTION MouseButton: BOOLEAN; { MouseButton: Returns TRUE if the mouse button is currently held down, 0otherwise FALSE. } PROCEDURE Tone(waveLength, duration: LongInt); { Tone: Produces a square wave tone of the specified wavelength 0(microseconds) for the specified duration (milliseconds). } IMPLEMENTATION � !n  ^x÷¿Ø÷÷ÀÚ¶Ò̃ô÷»–µó{»t TRANS÷µôÎ|Î̃ü ^� $× :a$k€Tþk ^!n$¡ƒ4®ø#ø"ø#ø#ø"ø#ú!€ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLr€€ÿÿÿÿ.™²›Ü'hPASLIB UNITSTD GRAFUTILUNITHZ STORAGE QUICKDRAHWINT FEDEC FONTMGR EVENTS WINDOWS FOLDERS MENUS FLDUT WMLSTD WMLCRS WMLGROW WMLSB INTERNATALERTMGRUNITFF UNITCS UNITFILEUNITFMT UUNIVERS FMGRUTIL*PMM +PMDECL ,UNITFIGA-SYS1LOCK.UCLASCAL/DBENV ?FIELDEDIGSCRAP IFILERCOMKPRSTDINFMBLKIOINTfBLOCKIO gPASHEAP h˜Bø S(>ÊNùðšÚPASLIB1 LWWORK OTHRWORKACTIVATEOPENSEG1INcold NEVER alert WMcold SMcold SUcold "SCROLL &UT 3SYSINIT APMMSeg CWORKSET DGRAFSEG EFEcutCopFFEcold GSBcold HOPENSEG2IMOVERS KALRTDIALNOPEN1LW OPASIOLIB`SgPASinib€MainProg „ S…ÊJoðNV/- Hz&Bg Àˆ/-  À€ "0N^ _\ONÐÈEAPFULL43The heap is full. The program must now terminate! JoðNVAí¬ò/Hz Ú Š¬Aí­ /Hz š Š¬Aí­"/Hz Z Š¬Aí­:/Hz  Š¬Aí­R/Hz Ú Š¬Aí­j/Hz š Š¬Aí­‚/Hz Z Š¬Aí­š/Hz  Š¬Aí­²/Hz0 Š¬Aí­Ê/HzÌ Š¬Aí­â/HzŒ Š¬Aí­ú/HzL Š¬Aí®/Hz  Š¬Aí®*/HzÌ Š¬Aí®B/HzŒ Š¬Aí®Z/HzL Š¬Aí®r/Hz  Š¬Aí®Š/HzÌ Š¬Aí®¢/HzŒ Š¬Aí®º/HzL Š¬Aí®Ò/Hz  Š¬Aí®ê/HzÌ Š¬Aí¯/HzŒ Š¬Aí¯/HzL Š¬Aí¯2/HzP Š¬Aí¯J/Hzþ Š¬Aí¯b/Hz¾ Š¬Aí¯z/Hz~ Š¬Aí¯’/Hz> Š¬Aí¯ª/Hzþ Š¬Aí¯Â/Hz¾ Š¬Aí¯Ú/Hz~ Š¬Aí¯ò/Hz> Š¬Aí° /Hzþ Š¬Aí°"/HzZ Š¬Aí°:/Hz° Š¬Aí°R/Hzp Š¬Aí°j/Hz0 Š¬Aí°‚/Hz𠊬Aí°š/Hz° Š¬Aí°²/Hzp Š¬Aí°Ê/Hzb Š¬Aí°â/HzT Š¬Aí°ú/Hz Š¬Aí±/HzÔ Š¬Aí±*/Hz” Š¬Aí±B/HzT Š¬Aí±Z/Hz Š¬N^NuÉNITICONf000203FF01600002000001C00002000001800003FFFFFF000000201FE01560002000001AC0002000001580002020101B0000020000013500020000016B000201FE01D50002010201AB000000380000300000680000700000D80000D0003FFFFFF1B0000000000000000000000000000000000000000001FFFFFF00000000000000000000000000000000000000000000000000000A00002B00000BFFFFEE00000800000C00000FFFFFF8000000A00002AC0000A08082D40000A0FF82AC0000A00002D800000A00002AC0000A07F02D40000A04102AC0000A07F02D400000A00002AC0000BFFFFED40000800000AC0000BFFFFED400000A00002AC0000A08082D40000A0FF82AC0000A00002D4000004000006C0000FFFFFFD40000800000AC0000BFFFFED40000007FFFFFC00000800000C00001000001C000020000034000040000000B80040000000F00040000000E0007FFFFFFFC00006B000000AB807FC000FFD70040600180AE00403FFF00DC00040000000AB807FFFFFFFD5806AC00000AB8055800000D580040600180AB80403FFF00D58040000000AB8040000000D58000D7FFFFFFB801AC000003580358000006B807FC000FFD580000E00000018001A00000038003600000078006A000000D800000000000000000000000000000000000000007FFFFFFF000784249258E70003049233100000E000E40800001FFFC3F00932524924C82A44524924D01C88524924CF10C4524924C090000524024C00000524924C00600524924C0090E524924C7C0000500004C000005259A4C000005250A4C00000525FA4C0000033E3801C0000180E002C00000FF801CC0000047FFE0C0000010064FE0000031199830000020E6301800002418E00800000013849800000026C4980000004C09300000008612600000000001FC000000000E0600000000300300000000C091800008000000001C0C000000003807FFFFFFFFF0007800001E00008000000001AC87F000000158841000CCC1B087F000CCC160018000000006B3000000000D77FFFFFFFFFABC0000000035600184000013870327FFFFF10F06400000021B0CFFFFFFFC3700004000010000004A54510000004000017FE00F4A515100300002000008400004454510400004000017C00004A5151000000000000000000007FFFFF000000800002800001115144400800000000980FFFFFFFFF300800000001600FFFFFFFFFC00018000000013832AAAAA8A9F0655555515380C2AAAA82A580008000000004307FFFFFFFFA30100000000260FFFFFFFFE2C01200000BF923120000080F2312000008002311FFFFF000230120000080F23120000080023120000080023120000080F23018000000004311FFFFF00023120000080F231200000BF923000600000000601800000000B0600000000130FFFFFFFFFA30000000000000000000000000000000000000001FFFFFFFFCJoïâNVÿâ0. A¼ÁüÀCí¬òAñ-Hÿò=|ÿöHnÿøBgBg?<0?<  Š(AîÿâCîÿø Ù ÙAîÿêCîÿâ Ù ÙHnÿê?. ?. ŠìHnÿò m hÿüHhHnÿâHnÿê?<B§ ŠÔN^ _\ONÐÄRAWICONJoïæNVÿæHç(mAîÿæ/Hz¤ Š¬ lÿüCîÿöAè"Ø"ØHnÿö Š°Hnÿö?<?< ŠˆHnÿö?<?< ŠÐBg?< ŠÈ?<Ï?< Š€Bg?< ŠÈ?<Ï?< Š€Bg?<† ŠÈ?<Ï?<† Š€Bg?<ø ŠÈ?<Ï?<ø Š€?<ð?< ŠÈ?<ð?<k Š€?<à?< ŠÈ?<à?<k Š€Bg Š¸?<Ò?< ŠÈHz¤ ŠP?<P?<" ŠÈHzŠ ŠP?:€ Š´?<F?<7 ŠÈHzf ŠP?:\ Š´?<F?<F ŠÈHz@ ŠP?:6 Š´?<F?<U ŠÈHz ŠP?: Š´?<F?<d ŠÈHzò ŠP?:è Š´?<F?<s ŠÈHzÌ ŠP?: Š´?<J?<" ŠÈHz¨ ŠP?<?< ŠÈ?< ?<( Š„?<?< Š4?<?<# ŠÈ?< ?<( Š„?<?< Š4?<?<. ŠÈ?< ?<( Š„?< ?< Š4Hlÿä Š0?<?<= ŠÈ?< ?<( Š„?<?<  Š4Hnÿæ Š0?<?<P ŠÈ?< ?<( Š„ Š,?<0?<" ŠÈHzÌ ŠPHnÿö?<þ?<(?<:?<F Š(Hnÿö ŠÈHnÿö?<?< Šì?<?< Š4Hnÿö Š€Hnÿö ŠÈHnÿö?<?< ŠìHnÿö ŠHnÿö?<?< Šì Š,HnÿöHlÿä ŠœHnÿö ŠÈHnÿö?<?< ŠìHnÿöHnÿæ ŠœHnÿö ŠÈ?<F?<” ŠÈHzü ŠPHnÿö?<?<–?<Z?<´ Š(Hnÿö?<?< ŠÐHnÿö?<?< Šì?<?< Š4Hnÿö?<?< ŠˆHnÿö?<?< ŠÐHnÿö?<?< ŠìHnÿö?<?< Š Hnÿö?<?< Šì Š,Hnÿö?<?<Hlÿä Š¤Hnÿö?<?< ŠÐHnÿö?<?< ŠìHnÿö?<?<Hnÿæ Š¤Hnÿö?<?< ŠÐ?<@?<” ŠÈHzì ŠPBg?< ?<œNºû?<?<P?<œNºû?<?<–?<œNºúò?<?< ?<ÄNºúâ?<?<P?<ÄNºúÒ?<?<–?<ÄNºúÂ?<:?<” ŠÈHzr ŠPHnÿö?<?<™?<�?<ó Š(Hnÿö?<‡?<AHlÿÔ Š�Hnÿö?<È?<‚Hnÿæ Š�Hnÿö?<J?<KHlÿä Š�Hnÿö?<‡?< Š¸Hnÿö?<Bg ŠìHnÿö?<-?<Z Š ?<P?< ŠÈHzÒ ŠPB§ Šø&_?<?<" ŠÈ?<?< Š€?<2?<  Š€?<Z?<  Š€?<P?< Š€?<_?<" Š€?<?<" Š€ Š¸/  ŠÄ/ ?<?< Šè?<?< Š4/  Š|/  ŠÄ/ ?<?< Šè/  Š/ ?<?< Šè Š,/ Hlÿä Š˜/  ŠÄ/ ?<?< Šè/ Hnÿæ Š˜/  ŠÄ/  Št?<@?< ŠÈHzРŠPB§ ŠÔ. Š ŠPHnÿö?<?<?<Ì?<^ Š(Hnÿö?<?< ŠÐ?<?<O ŠÈ?<E?< Š€?<w?<O Š€?<?<O Š€Hnÿö?<m?<?<½?<E Š(Hnÿö ŠÀ Š / ŠÀ/ ŠèBF`?< Áü Ð|? ŠÈHzü ŠPRF FoÜ lÿüHh Š°/ Š$?<D?< ŠÈHzÈ ŠPHnÿö?<þ?<?<:?<& Š(Hnÿö ŠÀHnÿö?<?< Šì?<?< Š4Hnÿö ŠxHnÿö ŠÀHnÿö?<?< ŠìHnÿö ŠHnÿö?<?< Šì Š,HnÿöHlÿä Š”Hnÿö ŠÀHnÿö?<?< ŠìHnÿöHnÿæ Š”Hnÿö ŠÀLßÀN^NuÄRAWSTUFØOvalsArbitrary Clipping RegionsRegionsPolygonsWedges Bit Images RoundRects RectanglesLinesShadowOutline UnderlineItalicBoldText%Look what you can draw with QuickDraw8040200002040800 "NV,_NU¬òŸí "8Aí±Þ/Aíÿþ/Aúêô/NºVAí±r/ Šü m hÿüHh ŠNºë8Nºöæ/<Ð/<ôNºb/- Àh "�N] " NuN^NuÑDSAMPLEJoïþNVÿþ/./. /. *$ mYˆ/ Š  Š ŠHnÿþ *N^ _Þü NÐJoðNV/. /. Š8N^ _PONÐ�ÂO^ E¢67dLP÷ÍæH r÷ð™Ôð›�ð™Ð^aèrœÏ´xor beginning } ÷Ï<"OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseRoundRect(tempRect,30,20); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PaintRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PenNormal; "FillRoundRePROGRAM QDSample; { Sample program illustrating the use of QuickDraw. } USES 7QuickDraw, { Intrinsic Unit } %{$U QD/Support } QDSupport; { Regular Unit } TYPE IconData = ARRAY[0..95] OF INTEGER; VAR heapBuf: ARRAY[0..10000] OF INTEGER;{must keep array under 32K byte limit} $myPort: GrafPort; $icons: ARRAY[0..5] OF IconData; FUNCTION HeapFull(hz: QDPtr; bytesNeeded: INTEGER): INTEGER; { This function will be called if the heapZone runs out of space } BEGIN "WRITELN('The heap is full. The program must now terminate! '); "Halt; END; PROCEDURE InitIcons; { Manually stuff some icons. Normally we would read them from a file } BEGIN "{ Lisa } "StuffHex(@icons[0, 0],'000000000000000000000000000000000000001FFFFFFFFC'); "StuffHex(@icons[0,12],'00600000000601800000000B0600000000130FFFFFFFFFA3'); "StuffHex(@icons[0,24],'18000000004311FFFFF00023120000080F231200000BF923'); "StuffHex(@icons[0,36],'120000080F23120000080023120000080023120000080F23'); "StuffHex(@icons[0,48],'1200000BF923120000080F2312000008002311FFFFF00023'); "StuffHex(@icons[0,60],'08000000004307FFFFFFFFA30100000000260FFFFFFFFE2C'); "StuffHex(@icons[0,72],'18000000013832AAAAA8A9F0655555515380C2AAAA82A580'); "StuffHex(@icons[0,84],'800000000980FFFFFFFFF300800000001600FFFFFFFFFC00'); "{ Printer } "StuffHex(@icons[1, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[1,12],'00000000000000007FFFFF00000080000280000111514440'); "StuffHex(@icons[1,24],'0002000008400004454510400004000017C00004A5151000'); "StuffHex(@icons[1,36],'0004000010000004A54510000004000017FE00F4A5151003'); "StuffHex(@icons[1,48],'0184000013870327FFFFF10F06400000021B0CFFFFFFFC37'); "StuffHex(@icons[1,60],'18000000006B3000000000D77FFFFFFFFFABC00000000356'); "StuffHex(@icons[1,72],'8000000001AC87F000000158841000CCC1B087F000CCC160'); "StuffHex(@icons[1,84],'8000000001C0C000000003807FFFFFFFFF0007800001E000'); "{ Trash Can } "StuffHex(@icons[2, 0],'000001FC000000000E0600000000300300000000C0918000'); "StuffHex(@icons[2,12],'00013849800000026C4980000004C0930000000861260000'); "StuffHex(@icons[2,24],'0010064FE0000031199830000020E6301800002418E00800'); "StuffHex(@icons[2,36],'0033E3801C0000180E002C00000FF801CC0000047FFE0C00'); "StuffHex(@icons[2,48],'000500004C000005259A4C000005250A4C00000525FA4C00'); "StuffHex(@icons[2,60],'000524024C00000524924C00600524924C0090E524924C7C'); "StuffHex(@icons[2,72],'932524924C82A44524924D01C88524924CF10C4524924C09'); "StuffHex(@icons[2,84],'0784249258E70003049233100000E000E40800001FFFC3F0'); "{ tray } "StuffHex(@icons[3, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[3,12],'0000000000000000000000000000000000000007FFFFFFF0'); "StuffHex(@icons[3,24],'000E00000018001A00000038003600000078006A000000D8'); "StuffHex(@icons[3,36],'00D7FFFFFFB801AC000003580358000006B807FC000FFD58'); "StuffHex(@icons[3,48],'040600180AB80403FFF00D58040000000AB8040000000D58'); "StuffHex(@icons[3,60],'040000000AB807FFFFFFFD5806AC00000AB8055800000D58'); "StuffHex(@icons[3,72],'06B000000AB807FC000FFD70040600180AE00403FFF00DC0'); "StuffHex(@icons[3,84],'040000000B80040000000F00040000000E0007FFFFFFFC00'); "{ File Cabinet } "StuffHex(@icons[4, 0],'0007FFFFFC00000800000C00001000001C00002000003400'); "StuffHex(@icons[4,12],'004000006C0000FFFFFFD40000800000AC0000BFFFFED400'); "StuffHex(@icons[4,24],'00A00002AC0000A07F02D40000A04102AC0000A07F02D400'); "StuffHex(@icons[4,36],'00A00002AC0000A08082D40000A0FF82AC0000A00002D400'); "StuffHex(@icons[4,48],'00A00002AC0000BFFFFED40000800000AC0000BFFFFED400'); "StuffHex(@icons[4,60],'00A00002AC0000A07F02D40000A04102AC0000A07F02D400'); "StuffHex(@icons[4,72],'00A00002AC0000A08082D40000A0FF82AC0000A00002D800'); "StuffHex(@icons[4,84],'00A00002B00000BFFFFEE00000800000C00000FFFFFF8000'); "{ drawer } "StuffHex(@icons[5, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,12],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,24],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,36],'00000000000000000000000000000000000000001FFFFFF0'); "StuffHex(@icons[5,48],'0000380000300000680000700000D80000D0003FFFFFF1B0'); "StuffHex(@icons[5,60],'0020000013500020000016B000201FE01D50002010201AB0'); "StuffHex(@icons[5,72],'00201FE01560002000001AC0002000001580002020101B00'); "StuffHex(@icons[5,84],'00203FF01600002000001C00002000001800003FFFFFF000'); END; PROCEDURE DrawIcon(whichIcon,h,v: INTEGER); VAR srcBits: BitMap; $srcRect,dstRect: Rect; BEGIN "srcBits.baseAddr:=@icons[whichIcon]; "srcBits.rowBytes:=6; "SetRect(srcBits.bounds,0,0,48,32); "srcRect:=srcBits.bounds; "dstRect:=srcRect; "OffsetRect(dstRect,h,v); "CopyBits(srcBits,thePort^.portBits,srcRect,dstRect,srcOr,Nil); END; PROCEDURE DrawStuff; VAR i: INTEGER; $tempRect: Rect; $myPoly: PolyHandle; $myRgn: RgnHandle; $myPattern: Pattern; BEGIN "StuffHex(@myPattern,'8040200002040800'); "tempRect := thePort^.portRect; "ClipRect(tempRect); "EraseRoundRect(tempRect,30,20); "FrameRoundRect(tempRect,30,20); "{ draw two horizontal lines across the top } "MoveTo(0,18); "LineTo(719,18); "MoveTo(0,20); "LineTo(719,20); "{ draw divider lines } "MoveTo(0,134); "LineTo(719,134); "MoveTo(0,248); "LineTo(719,248); "MoveTo(240,21); "LineTo(240,363); "MoveTo(480,21); "LineTo(480,363); "{ draw title } "TextFont(0); "MoveTo(210,14); "DrawString('Look what you can draw with QuickDraw'); "{--------- draw text samples --------- } "MoveTo(80,34); Drawstring('Text'); "TextFace([bold]); "MoveTo(70,55); Drawstring('Bold'); "TextFace([italic]); "MoveTo(70,70); Drawstring('Italic'); "TextFace([underline]); "MoveTo(70,85); Drawstring('Underline'); "TextFace([outline]); "MoveTo(70,100); Drawstring('Outline'); "TextFace([shadow]); "MoveTo(70,115); Drawstring('Shadow'); "TextFace([]); { restore to normal } "{ --------- draw line samples --------- } "MoveTo(330,34); Drawstring('Lines'); "MoveTo(280,25); Line(160,40); "PenSize(3,2); "MoveTo(280,35); Line(160,40); "PenSize(6,4); "MoveTo(280,46); Line(160,40); "PenSize(12,8); "PenPat(gray); "MoveTo(280,61); Line(160,40); "PenSize(15,10); "PenPat(myPattern); "MoveTo(280,80); Line(160,40); "PenNormal; "{ --------- draw rectangle samples --------- } "MoveTo(560,34); Drawstring('Rectangles'); "SetRect(tempRect,510,40,570,70); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseRect(tempRect); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "PaintRect(tempRect); "OffsetRect(tempRect,25,15); "PenNormal; "FillRect(tempRect,gray); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "FillRect(tempRect,myPattern); "FrameRect(tempRect); "{ --------- draw roundRect samples --------- } "MoveTo(70,148); Drawstring('RoundRects'); "SetRect(tempRect,30,150,90,180); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseRoundRect(tempRect,30,20); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PaintRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PenNormal; "FillRoundRect(tempRect,30,20,gray); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "FillRoundRect(tempRect,30,20,myPattern); "FrameRoundRect(tempRect,30,20); "{ --------- draw bit image samples --------- } "MoveTo(320,148); Drawstring('Bit Images'); "DrawIcon(0,266,156); "DrawIcon(1,336,156); "DrawIcon(2,406,156); "DrawIcon(3,266,196); "DrawIcon(4,336,196); "DrawIcon(5,406,196); "{ --------- draw Wedge samples --------- } "MoveTo(570,148); Drawstring('Wedges'); "SetRect(tempRect,520,153,655,243); "FillArc(tempRect,135,65,dkGray); "FillArc(tempRect,200,130,myPattern); "FillArc(tempRect,330,75,gray); "FrameArc(tempRect,135,270); "OffsetRect(tempRect,20,0); "PaintArc(tempRect,45,90); "{ --------- draw polygon samples --------- } "MoveTo(80,262); Drawstring('Polygons'); "myPoly:=OpenPoly; $MoveTo(30,290); $LineTo(30,280); $LineTo(50,265); $LineTo(90,265); $LineTo(80,280); $LineTo(95,290); $LineTo(30,290); "ClosePoly; { end of definition } "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "PenSize(3,2); "ErasePoly(myPoly); "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "PaintPoly(myPoly); "OffsetPoly(myPoly,25,15); "PenNormal; "FillPoly(myPoly,gray); "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "FillPoly(myPoly,myPattern); "FramePoly(myPoly); "KillPoly(myPoly); "{ --------- demonstrate region clipping --------- } "MoveTo(320,262); Drawstring('Regions'); "myRgn:=NewRgn; "OpenRgn; $ShowPen; $SetRect(tempRect,260,270,460,350); $FrameRoundRect(tempRect,24,16); $MoveTo(275,335); { define triangular hole } $LineTo(325,285); $LineTo(375,335); $LineTo(275,335); $SetRect(tempRect,365,277,445,325); { oval hole } $FrameOval(tempRect); $HidePen; "CloseRgn(myRgn); { end of definition } "SetClip(myRgn); "FOR i:=0 TO 6 DO { draw stuff inside the clip region } $BEGIN &MoveTo(260,280+12*i); &Drawstring('Arbitrary Clipping Regions'); $END; "ClipRect(thePort^.portRect); "DisposeRgn(myRgn); "{ --------- draw oval samples --------- } "MoveTo(580,262); Drawstring('Ovals'); "SetRect(tempRect,510,264,570,294); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseOval(tempRect); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "PaintOval(tempRect); "OffsetRect(tempRect,25,15); "PenNormal; "FillOval(tempRect,gray); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "FillOval(tempRect,myPattern); "FrameOval(tempRect); END; { DrawStuff } BEGIN { main program } "{----- Initialization - Generic to all applications using QuickDraw -----} "QDInit(@heapBuf, @heapBuf[10000], @HeapFull); { Must do this once at beginning } "OpenPort(@myPort); "PaintRect(thePort^.portRect); { Paint grey background } "InitIcons; "DrawStuff; "Tone(2000, 500); { Beep tone of (1/2000)*10^6 == 500 cycles/sec for 6500 milliseconds } "ReadLn; { Wait until RETURN entered before terminating program } END. ’GRAF3D "€OPEN3DPOGraf ‚OPEN3DPOOPEN3DPO‰$%I_FLT %I_FLT ‚|vh^RF<‰MOVETO3DMOVETO3D†‰IDENTITYIDENTITYp‰VIEWANGLVIEWANGLl‰LOOKAT LOOKAT b‰VIEWPORTVIEWPORT(‡GRAF3D ‡QUICKDRA…¤JoðNVHç&m+nÿü n «ÿü kÿüHhNº kÿüIè0,HÀ/Nº0HÀ/Nº0,HÀ/Nº0,HÀ/NºNºB§NºNºNºB§NºB§NºB§NºNºLßN^.ŸNuÏPEN3DPO�œ€SETPORT3Graf ‚SETPORT3SETPORT3‰SETPORT SETPORT ‡GRAF3D …0JoðNV+nÿü n/NºN^.ŸNuÓETPORT3�(€GETPORT3Graf ‚GETPORT3GETPORT3‡GRAF3D …(JoðNV n ­ÿüN^.ŸNuÇETPORT3� €MOVETO3DGraf ‚MOVETO3DMOVETO3D‰MOVETO MOVETO ^‰CLIP3D CLIP3D N‰TRANSFORTRANSFOR8‡GRAF3D …~JoïìNVÿì/ (mÿüAîÿìCì( Ù Ù Ù)n)n )n$HlHl(NºBgHnÿìHl(HnÿøHnÿüNºg ?.ÿþ?.ÿüNº(_N^ _Þü NÐÍOVETO3D�v€LINETO3DGraf ‚LINETO3DLINETO3D‰LINETO LINETO j‰MOVETO MOVETO ^‰CLIP3D CLIP3D N‰TRANSFORTRANSFOR8‡GRAF3D …ŠJoïìNVÿì/ (mÿüAîÿôCì( Ù Ù Ù)n)n )n$HlHl(NºBgHnÿôHl(HnÿìHnÿðNºg?.ÿî?.ÿìNº?.ÿò?.ÿðNº(_N^ _Þü NÐÌINETO3D�‚€MOVE3D Graf ‚MOVE3D MOVE3D ‰%F_ADD %F_ADD 0$‰MOVETO3DMOVETO3D4‡GRAF3D …TJoðNV/ (mÿü/,/.Nº/, /. Nº/,$/.NºNº(_N^ _Þü NÐÍOVE3D �L€LINE3D Graf ‚LINE3D LINE3D ‰%F_ADD %F_ADD 0$‰LINETO3DLINETO3D4‡GRAF3D …TJoðNV/ (mÿü/,/.Nº/, /. Nº/,$/.NºNº(_N^ _Þü NÐÌINE3D �L€MOVETO2DGraf ‚MOVETO2DMOVETO2D‰MOVETO3DMOVETO3D‡GRAF3D …6JoðNV/. /. mÿü/($NºN^ _PONÐÍOVETO2D�.€MOVE2D Graf ‚MOVE2D MOVE2D ‰MOVE3D MOVE3D …0JoðNV/. /.B§NºN^ _PONÐÍOVE2D �(€LINETO2DGraf ‚LINETO2DLINETO2D‰LINETO3DLINETO3D‡GRAF3D …6JoðNV/. /. mÿü/($NºN^ _PONÐÌINETO2D�.€LINE2D Graf ‚LINE2D LINE2D ‰LINE3D LINE3D …0JoðNV/. /.B§NºN^ _PONÐÌINE2D �(€VIEWLOOKGraf ‚$1000000VIEWLOOK‰%F_SUB %F_SUB v‰%F_ADD %F_ADD `‰%F_DIV %F_DIV H,‰%I_FLT %I_FLT nX>"‡GRAF3D …–JoðNVHç(mÿüGì0+�kHÀ/Nº/<@Nº)_@0+�SHÀ/Nº/<ÀNº)_D0+HÀ/Nº/,@Nº)_H0HÀ/Nº/,DNº)_LLßN^NuÖIEWLOOK�Ž€VIEWPORTGraf ‚VIEWPORTVIEWPORT‰$1000000VIEWLOOK&‡GRAF3D …@JoïøNVÿø nCîÿøJ"Ø"Ø mÿüXˆCîÿø Ù ÙNºN^.ŸNuÖIEWPORT�8€LOOKAT Graf ‚LOOKAT LOOKAT ‰%F_DIV %F_DIV T:‰%F_ADD %F_ADD J0‰$1000000VIEWLOOK\‡GRAF3D …|JoðNV/ (mÿü)n )n )n)n/./. Nº/<@Nº)_4/./.Nº/<@Nº)_8Nº(_N^ _ÞüNÐÌOOKAT �t€VIEWANGLGraf ‚VIEWANGLVIEWANGL‰%I_FLT %I_FLT œ‰%F_SUB %F_SUB �xh‰%_SIN %_SIN P‰%_COS %_COS H‰%F_DIV %F_DIV  |T>‰%F_MUL %F_MUL ”l:‰%F_LT %F_LT ‡GRAF3D …ÂJoðNVHç..(mÿü//<=ÌÌÍNºg.<=ÌÌÍ//<@/  üð¦ˆtpdöâÞÒÆˆ^JF:®–~nV>‰$2000000CODE š|ÎÀ‡GRAF3D ¨2…tJoïÌNVÿÈHç nCîÿôJ"Ø"Ø"Ø nCîÿèJ"Ø"Ø"ØB.(mÿü/.ÿô/,4Nº/,PNº-_ÿô/.ÿø/,8Nº/,TNº-_ÿø/,JoïôNVÿôHç(.//JoïôNVÿôHç(.//JoïôNVÿôHç(.// 'EOF') AND (Name <> '') DO ($[Name] (READLN (OtherObjList) Name &ENDWHILE &CLOSE OtherObjList $ENDIF $$<[Unit2] "ELSE $IF Unit1 <> '' THEN &$[Unit1] $ENDIF $IF Unit2 <> '' THEN &$[Unit2] $ENDIF $IF Unit3 <> '' THEN &$[Unit3] $ENDIF $IF Unit4 <> '' THEN &$[Unit4EXEC { QPMAKE } (MainProg, ToolNumber, OfficeDiskName, { main input parms } 1Unit1, Unit2, Unit3, Unit4, { secondary input parms } 1Name) { local variable } #{ QPMAKE can be invoked in two ways, depending on how many units your %your program has. If you have 4 units or fewer, QPMAKE should be %invoked as follows: 'R '' THEN $IF COPY(OfficeDiskName, 1, 1) <> '-' THEN &SET OfficeDiskName TO CONCAT ('-', OfficeDiskName) $ENDIF $SET OfficeDiskName TO CONCAT (OfficeDiskName, '-') "ENDIF "IF EXISTS("QP/PHRASE") THEN $$F{fil-mgr}B{backup}QP/PHRASE,[OfficeDiskName]~{T[ToolNumber]~}PHRASE $$Q{quit} "ELSE $WRITELN CHR(7), 'The QuickPort PHRASE file (QP/PHRASE) is missing' "ENDIF "IF NOT (EXISTS('QPLIB.OBJ')) THEN $WRITELN CHR(7) $ABORT 'QPLIB.OBJ does not exist; cannot perform link' "ENDIF "{---- COMPILE PROGRAM AND UNITS ----} "IF Unit1 = '<' THEN { the units are in a UnitList } $RESET UnitList, Unit2 $IF IORESULT <> '' THEN &WRITELN CHR(7) &ABORT "Cannot open link list file ([Unit2])" $ENDIF $READLN (UnitList) Name $WHILE (Name <> 'EOF') AND (Name <> '') DO &SUBMIT comp([Name]) &READLN (UnitList) Name $ENDWHILE $CLOSE UnitList "ELSE $IF Unit1 <> '' THEN &SUBMIT comp([Unit1]) $ENDIF $IF Unit2 <> '' THEN &SUBMIT comp([Unit2]) $ENDIF $IF Unit3 <> '' THEN &SUBMIT comp([Unit3]) $ENDIF $IF Unit4 <> '' THEN &SUBMIT comp([Unit4]) $ENDIF "ENDIF "SUBMIT comp([MainProg]) "{---- LINK ----} "$L{link}? "$+w "$intrinsic.lib { use intrinsic.lib on prefix volume } "${ end of options } "$TKLIB "$TK2LIB "$QPLIB "$QP/UQuickPort "$QP/UQPortGraph "$QP/UQPortVT100 "$QP/UQPortSoroc "$SYS1LIB "$IOSPASLIB "$[MainProg] "IF Unit1 = '<' THEN $IF Unit3 <> '' THEN &RESET OtherObjList, Unit3 &IF IORESULT <> '' THEN (WRITELN CHR(7) (ABORT "Cannot open file with list of other OBJ files to link ([Unit3])" &ENDIF &READLN (OtherObjList) Name &WHILE (Name <> 'EOF') AND (Name <> '') DO ($[Name] (READLN (OtherObjList) Name &ENDWHILE &CLOSE OtherObjList $ENDIF $$<[Unit2] "ELSE $IF Unit1 <> '' THEN &$[Unit1] $ENDIF $IF Unit2 <> '' THEN &$[Unit2] $ENDIF $IF Unit3 <> '' THEN &$[Unit3] $ENDIF $IF Unit4 <> '' THEN &$[Unit4] $ENDIF $${ no more files } "ENDIF "${ no list file } "$[OfficeDiskName]~{T[ToolNumber]~} "{----RENAME OBJ FILE AFTER LINK----} "$F{fil-mgr}R{rename}[OfficeDiskName]~{T[ToolNumber]~}.OBJ "$~{T[ToolNumber]~}OBJ "$Y{yes}Q{quit fil-mgr} ENDEXEC wÿÿÿÔ File/PrintSet Aside Everything Set Aside - Save & Put Away Save & Continue Revert to Previous Version - Print As Is Format for Printer ... Print ... Monitor the Printer ... ÜýÜwÿÿÿxEditCopy Read Input From Clipboard - Erase Save Buffer Don't Save Buffer - Select All Text ÜýÜÿÿÿÿ.EditCopy Read Input From Clipboard ÜýÜwÿÿÿŒEditCopy Read Input From Clipboard - Erase Save Buffer Don't Save Buffer - Select All Text Select All Graph ÜýÜwýÿÿŒEditCopy Read Input From Clipboard - Erase Save Buffer Don't Save Buffer - Flush Input - Select All Text ÜýÜ ÷ÿÿÿBEditCopy Read Input From Clipboard - Flush Input ÜýÜ wýÿÿ EditCopy Read Input From Clipboard - Erase Save Buffer Don't Save Buffer - Flush Input - Select All Text Select All Graph ÜýÜÿÿÿÿFTerminal SpecificsSet up Show Tab Ruler Hide Tab Ruler ÜýÜÿÿÿÿ$ ExecutionRestart Resume ÜýܯÿÿÿÎ Page LayoutPreview Page Margins Preview Page Breaks Don't Preview Pages - Headings and Margins... - Set Horizontal Page Break Set Vertical Page Break Clear All Manual Breaks ÜýÜcÛÚþÿlDebugReport Every Event - "Check & Count Heaps after Commands Check List Indices - Dump Process Globals Dump Active Document Prelude - Enable Experimental Features - Report Garbage in Document Heap Free Garbage in Document Heap - Scramble Main Heap Scramble Document Heap - Edit Dialog Stop Editing Dialog ÜýÜdÿÿÿÿž BuzzwordsSet Aside ^Document^ Undo ^Last Change^ Redo ^Last Change^ Typing Move Box Create New Heading Set Margins Some Command ÜýÜè÷ÿÿÿ” File/PrintSet Aside Everything Set Aside Clipboard - Format for Printer ... Print... Print As Is Monitor the Printer ... ÜýÜPee fgh h i i j j klm n o o– œ ÉÉÉÉÉÉËËËËËËÌ ÌÌ ÌÎ Ï ‘ ’ “ • › œ � õ ú ý þ ÿ        ¾ ¿ À °°°°±±±±²²²²³³³µ µ ÑÒÓ5 6 ü? ,B B,uNB,WAIT BNANC t t s   STOP ,B Wu:uNWN-: -NOTE ,BfDfDCAUTION DBACOyPyQxQ P O Cancel OK R_YO] 0 O/ OO9O8OB�8�4OO7_@?“OCO( O4!O1"OQ#O$ON%)&¿'?Y(?Q)*+Oˆ,OÊ-eCP/fPgPhPiP jPkPlPmPnPoP pP qPrPsP tPuPvPwPxPyP zP{P |P}P ~PP€P�P‚PCƒPA„PŽP �P…P†P‡PˆP ‰P ŠP ‹P ŒP�PèP éPêP ëPìPíPîO½ïO{ðOÂAlert ü has no matching entry in the phrase file.ÿThe last command was û. ú is experiencing technical difficulties in accessing the disk that has the ú tool.ÿÿIt would probably be a good idea for you to Put Back your documents one at a time or to push the on-off button to save them all.ÿÿIf the problem recurs, refer to Appendix 1, Error Messages, in the ú manual. /xAx x9x x$x x%x x.9 x.% 9,9 A'A A-A AÐA AÕA A.Aú is experiencing technical difficulties. ú has an unknown error. You cannot do that because no text is selected. You cannot do that because nothing is selected. You cannot do that because there is no insertion point. Do you want to revert to the version saved ù? Do you want to revert to a blank document? ú cannot do "ù" You cannot do that to this kind of selection. The document has not changed since you last saved it. ú is saving the new version of your document.ÿÿTo terminate the operation, hold down the Apple key while you type a period. ú terminated the operation because you typed Apple-period. You cannot edit on the Clipboard. There is nothing on the Clipboard to Paste. ú cannot Paste what is on the Clipboard. You must dismiss the Dialog Box before you can change the selection. ú cannot undo "^K" ú cannot undo the last change because there have been no changes. The document you are opening was last worked on using a release of ú that lacked some features of the present release.ÿÿIf you click OK, ú will update the document to work with the present release.ÿÿIf you click Cancel, ú will not open the document. The document you are opening was last worked on using a release of ú that had some features the present release does not have.ÿÿIf you click OK, ú will remove from the document anything that required the extra capabilities; if you open the document later using that other release of ú, some information will probably be missing.ÿÿIf you click Cancel, ú will not open the document; if you open it later using that other release of ú, nothing will be missing. ú is converting the document to work with the present release of the tool. ú is terminating the current operation because you typed Apple-period. PAGETITLEú is having technical difficulties saving the document.ÿÿTry creating more space on the disk containing the document. ú is having technical difficulties reading the previous version of your document.ÿÿThe document may be damaged or there might not be enough disk space to open the document. 1Only ù characters can be accepted here. Odd/Even@56,6Odd Pages Only@56,6Even Pages Only Odd or EvenMin Page:@70,32Max Page:@270,32Page Alignment@56,57Alignment:@56,100Top Left@56,68 Top Center Top RightBottom Left@56,85 Bottom Center Bottom RightLaunch New Heading@240,40Page Margins@6,116 Units@200,122inches@200,110centimeters@0,0 left@20,156leftCluster@ 100,146 top@20,174topCluster@ 100,166 right@20,194rightCluster@100,186 bottom@20,214bottomCluster@100,206Install Margins@560,176B0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50@96, 140@0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0@96,140---New Heading--- OK@640,26 Cancel@640,80/second/secondsminute/minutes hour/hoursday/days week/weeks year/yearsago some time ago QuickPortCharacters Per Line WraparoundYesNoTab QuickPort's picture is running out of space. The subsequent graphic output will be displayed, but not saved for scrolling, until your tool erase the whole screen. Your QuickPort tool has called another OpenPicture in the QuickPort's grafport. This tool will be aborted. QuickPort's buffer is running out of space. The top lines will be deleted. You can use the Erase command to erase the top lines in the buffer to create some room. t’UQPORTCA {QuickPort procedures declaration, to be used by program} INTERFACE USES $QuickDraw; {needed to compile Style, etc} "CONST $maxPosLines = 50; {max possible lines for any terminal emulator} $maxPosColumns = 132; %{clearkind definition for ClearScreen procedure} $sclearScreen = 1; {clear the whole screen} $sclearEScreen = 2; {clear to the end of the screen} $sclearBScreen = 3; {clear from the beginning of the screen to the cursor position} $sclearLine = 4; {clear the whole line} $sclearELine = 5; {clear to end of line} $sclearBLine = 6; {clear from the beginning of the line to the cursor position} "TYPE $QPByte = -128..127; $TQPConfigRec = RECORD 5tosaveBuffer : BOOLEAN; {save lines in buffer} 5passApplePeriod : BOOLEAN; {pass apple '.' to main program} 5showInputPanel : BOOLEAN; {display input panel} 5CASE twoPanels : BOOLEAN OF {have both text and graphic panels} 7TRUE : (vhs : VHSelect; {vertical or horizontal split} ?grPanelSize : INTEGER); {initial width or height in pixels, if < 0, text ]panel is below or right of the graph panel} 3END; $TCursorshape = (blockshape, underscoreshape, invisibleshape); $TTermPara = RECORD 2rowsize : 1..maxPosLines; 2columnsize : 1..maxPosColumns; 2toWraparound : BOOLEAN; 2keytoStopOutput : CHAR; 2keytoStartOutput : CHAR; 2tmcursorShape : TCursorshape; 0END; $TMouseEvent = RECORD 4mouseLoc : Point; 4clicknum : INTEGER; {max 3 for triple clicks} 4mouseDown, meShift, meApple, meOption : BOOLEAN; 2END; {Procedures to be called by programs, or terminal emulators} "PROCEDURE QPConfig (config : TQPConfigRec); {main program should call this before any screen i/o} "PROCEDURE SetupTermPara (termpara : TTermPara); {set up terminal parameters from program or terminal emulator} R{main program or terminal emulator should call this before any Sscreen i/o.} "PROCEDURE VRead (VAR ch: CHAR; VAR keycap : QPByte; VAR applekey, shiftkey, optionkey: BOOLEAN); R{program can call this to get control keys, instead of READ, SBut this call will not echo the character read, nor do mapping.} "PROCEDURE ClearScreen (clearkind : INTEGER); "PROCEDURE VGotoxy (x, y : INTEGER); "PROCEDURE MoveCursor (scroll : BOOLEAN; xdistance, ydistance : INTEGER); R{scroll is only meanful in vertical direction.} R{xdistance, ydistance: positive means to the right or down.} "PROCEDURE SetTab (column : INTEGER); {use cursor if column < 0} "PROCEDURE ClearTab (clearAll : BOOLEAN; column : INTEGER); {use cursor if column < 0} "PROCEDURE StopInput; {lock keyboard from program or terminal emulator} "PROCEDURE StartInput; {unlock keyboard} ${Character attributes change} "PROCEDURE ChangeCharStyle (newstyle : Style); "PROCEDURE QPYield_CPU; {Programs should include this call in the long compute-bound ?loop. This call will handle user's menu and mouse actions ?as well. If programs do not want to give up being the active ?window, they may call Yield_CPU.} ${-Printer support} "procedure PrChangeFont ( Font: integer); {Mouse input routines} "PROCEDURE VGetMouse (VAR pt : Point); {same as GetMouse in QPSupport} "FUNCTION MouseButton : BOOLEAN; {same as MouseButton in QPSupport} "FUNCTION MouseEvent (VAR aMouseEvent : TMouseEvent) : BOOLEAN; -{Return a mouse event if there is one in the queue; otherwise, return false. A mouse event is a .mouse button down, mouse click, double clicks or triple clicks. Mouse move without button .pressed down is not a mouse event. If you get a mouseDown event, several different mouseLoc .events may be returned in subsequent calls, and they are always ended with a mouse up event. If .double clicks, events of down, up, down, up are returned, with the second down event's clicknum .= 2. If triple clicks, events of down, up, down, up, down, up are returned, with the second down .event's clicknum = 2, and third down event's clicknum = 3. If mouseDown field is false, other .fields are meaningless. } "PROCEDURE WaitMouseEvent (VAR aMouseEvent : TMouseEvent); -{This procedure gets a mouse event in a similar way to READ and READLN in PASCAL, ie, it will .block the caller until there is a mouse event in the queue. Program should use this call instead .of the above call to avoid polling and wasting CPU time. This call would also make program more .reponsive to user events such as pulling down menus, clicking to other windows, etc. when .program is waiting for mouse input.} "PROCEDURE WaitEvent (VAR fromKeyboard : BOOLEAN); -{This procedure is combination of READ and WaitMouseEvent. It will block the caller until there .is either keyboard or mouse input. Program that is interested in getting both keyboard and .mouse input should use this call instead of KEYPRESS and MouseEvent.} "FUNCTION QPGrafPicSize : INTEGER; -{This function returns the current size of the picture used to save all the graphic output in .the graphic panel.} "PROCEDURE TrmntExceptionHandler; -{Standard terminate exception handler. If you want to declare your .own terminal exception handler, you should call this one first thing .in your own handler.} IMPLEMENTATION ’UQPORTGR€UQPORTGR ‚uqportgrUQPORTGR‰uqpgraphUQPGRAPH.‰ustdtermUSTDTERM*‰blkiointBLKIOINT&‰udialog UDIALOG "‰utext UTEXT ‰utkuniveUTKUNIVE‰uabc UABC ‰udraw UDRAW ‰uobject UOBJECT ‰%_UNIT %_UNIT …FJoðNVNºNºNºNºNºNºNºNºNºNºN^NuÕQPORTGR�>�/{to be used by quickport graphic programs, so that they don't have 0to use all these units.} INTERFACE USES $UObject, $QuickDraw, $UDraw, $UABC, $UTKUniversalText, $UText, $UDialog, $Blkiointr, $UStdterm, $UQPGraph; IMPLEMENTATION END. ’UQPORTSO€UQPORTSO ‚uqportsoUQPORTSO‰usoroc USOROC .‰ustdtermUSTDTERM*‰blkiointBLKIOINT&‰udialog UDIALOG "‰utext UTEXT ‰utkuniveUTKUNIVE‰uabc UABC ‰udraw UDRAW ‰uobject UOBJECT ‰%_UNIT %_UNIT …FJoðNVNºNºNºNºNºNºNºNºNºNºN^NuÕQPORTSO�>�/{to be used by quickport programs that want to use Soroc emulator, 0so that they don't have to use all these units.} INTERFACE USES $UObject, $QuickDraw, $UDraw, $UABC, $UTKUniversalText, $UText, $UDialog, $Blkiointr, $UStdterm, $USoroc; IMPLEMENTATION END. ’UQPORTVT€UQPORTVT ‚uqportvtUQPORTVT‰uvt100 UVT100 .‰ustdtermUSTDTERM*‰blkiointBLKIOINT&‰udialog UDIALOG "‰utext UTEXT ‰utkuniveUTKUNIVE‰uabc UABC ‰udraw UDRAW ‰uobject UOBJECT ‰%_UNIT %_UNIT …FJoðNVNºNºNºNºNºNºNºNºNºNºN^NuÕQPORTVT�>�/{to be used by quickport programs that want to use VT100 emulator, 0so that they don't have to use all these units.} INTERFACE USES $UObject, $QuickDraw, $UDraw, $UABC, $UTKUniversalText, $UText, $UDialog, $Blkiointr, $UStdterm, $UVT100; IMPLEMENTATION END. ’UQUICKPO€UQUICKPO ‚uquickpoUQUICKPO‰ustdtermUSTDTERM*‰blkiointBLKIOINT&‰udialog UDIALOG "‰utext UTEXT ‰utkuniveUTKUNIVE‰uabc UABC ‰udraw UDRAW ‰uobject UOBJECT ‰%_UNIT %_UNIT …BJoðNVNºNºNºNºNºNºNºNºNºN^NuÕQUICKPO�:�/{to be used by quickport programs, so that they don't have to use 0all these units.} INTERFACE USES $UObject, $QuickDraw, $UDraw, $UABC, $UTKUniversalText, $UText, $UDialog, $Blkiointr, $UStdterm; IMPLEMENTATION END. ™ÿœvsQPortIn  £�´sQPortRe  `ê@¦sQPortCo  Ãä'æsQPortTE  0x.*“BUQPPRINT>USTDTERM ^UQPGRAPH&†USOROC )‚UVT100 +Ì›ä=hPASLIB UNITSTD GRAFUTILUNITHZ STORAGE QUICKDRAHWINT FEDEC FONTMGR EVENTS WINDOWS FOLDERS MENUS FLDUT WMLSTD WMLCRS WMLGROW WMLSB INTERNATFPLIB ALERTMGRMATHLIB UNITFF UNITCS UNITFILEUNITFMT UUNIVERS USTDTERM#UQPGRAPH$UQPPRINT&FMGRUTIL*PMM +PMDECL ,UNITFIGA-SYS1LOCK.UCLASCAL/UTKUNIVE1UOBJECT 2UTEXT 3UDRAW 4UABC 5UDIALOG 6DBENV ?FIELDEDIGSCRAP IFILERCOMKPRPUBLICLPRSTDINFMPRSTDPRONPRFILEPROPRBUF PPRSPOOL QQUEUES RPREVENTSSPRDLGMGRTPRMGR UUVT100 VUSOROC WBLKIOINTfBLOCKIO gPASHEAP hš†@SgParResSgTxtIniSgTxtResSgTxtTwoSgDialogSgDIAdbgSgLayoutTKUT sQPortIn sQPortRe sQPortCo sQPortTE PASLIB1 LWWORK OTHRWORKACTIVATEOPENSEG1INcold NEVER SgABCdatSgABCdbgSgABCiniSgABCcldSgABCresalert WMcold SMcold SUcold "SgDRWres$SCROLL &SgCLAini)UT 3SgCLAdbg=SYSINIT ASgABCpriBPMMSeg CWORKSET DGRAFSEG EFEcutCopFFEcold GSBcold HOPENSEG2IPrBtn JMOVERS KPrwork LPrMgr MALRTDIALNOPEN1LW OPr PPrInit Qfpsane Sfpelems Tfpreal UfprealioVfpdecstrWcorrbd Ymathlib Zfinance [matrix \double ]mathsort^solve _PASIOLIB`SgPASinib’ UQPPRINTˆINTRINSIC; INTERFACE uses {$U libos/syscall } syscall, {$U libpl/paslibcall } paslibcall, {$U libpl/ppaslibc } PPasLibC, {$U libpm/pmdecl } PMDecl, {$U UnitStd } UnitStd, {$U UnitHz } UnitHz, {$U Storage } Storage, {$U QuickDraw } QuickDraw, {$U FontMgr } FontMgr, {$U+ } {$U Sys1Lib } PrStdInfo, {$U PRLib } PrPublic; type LongStr = String[255]; tPStr = ^LongStr; procedure vwp_Init; function vwp_Reset: boolean; function vwp_Close: boolean; function vwp_W_Str (pStr: tPStr): boolean; procedure PrChangeFont ( Font: integer); procedure PrWrapAround ( TurnOn: boolean); procedure PrPageRect (l,t,r,b: integer); VAR vwptoinit : BOOLEAN; IMPLEMENTATION {$IFC fDbgOK} {$R+} {$ELSEC} {$R-} {$ENDC} ’(USTDTERMÎÉNTRINSIC; INTERFACE USES {$U tklib} UObject, {$U sys1lib} QuickDraw, {$U tklib} UDraw, {$U tklib} UABC, {$U tk2lib} UTKUniversalText, {$U tk2lib} UText, {$U tk2lib} UDialog, {$U libos/Syscall} Syscall, {$U iospaslib} UClascal, {$U iospaslib} Blkiointr, {$U libqp/UQPPrint} UQPPrint, {$U libqp/QP/Hardware} Hardware; {$SETC fRngQP := fDbgOK} {$SETC fSymQP := fSymOK} CONST maxPosLines = 50; maxPosColumns = 132; maxtextline = 133; sclearScreen = 1; sclearEScreen = 2; sclearBScreen = 3; sclearLine = 4; sclearELine = 5; sclearBLine = 6; TYPE TQPConfigRec = RECORD tosaveBuffer : BOOLEAN; passApplePeriod : BOOLEAN; showInputPanel : BOOLEAN; CASE twoPanels : BOOLEAN OF TRUE : (vhs : VHSelect; grPanelSize : INTEGER); END; Tcursorshape = (blockshape, underscoreshape, invisibleshape); TTermPara = RECORD rowsize : 1..maxPosLines; columnsize : 1..maxPosColumns; toWraparound : BOOLEAN; keytoStopOutput : CHAR; keytoStartOutput : CHAR; tmcursorShape : Tcursorshape; END; TMouseEvent = RECORD mouseLoc : Point; clicknum : INTEGER; mouseDown, meShift, meApple, meOption : BOOLEAN; END; TTermProcess = SUBCLASS OF TProcess FUNCTION CREATE: TTermProcess; END; TTermDocManager = SUBCLASS OF TDocManager FUNCTION CREATE(object: TObject; heap: THeap; itsPathPrefix: TFilePath): TTermDocManager; END; TTermView = SUBCLASS OF TView minViewLRect : LRect; lines : TArray; firstLineStartX : INTEGER; FUNCTION CREATE(object: TObject; heap: THeap; itsPanel: TPanel; itsExtent: LRect; itsLines : TArray): TTermView; END; TInputView = SUBCLASS OF TView FUNCTION CREATE(object: TObject; heap: THeap; itsPanel: TPanel; itsExtent: LRect): TInputView; END; TTermCutCopyCmd = SUBCLASS OF TCutCopyCommand termSelection: TTermSelection; FUNCTION CREATE(object: TObject; heap: THeap; itsCmdNumber: TCmdNumber; itsView: TView; itsSelection: TTermSelection): TTermCutCopyCmd; END; TTermPasteCmd = SUBCLASS OF TPasteCommand FUNCTION CREATE (object: TObject; heap: THeap; itsCmdNumber: TCmdNumber; itsView: TView): TTermPasteCmd; END; TCoordinate = RECORD Case BOOLEAN OF TRUE : (y, x : INTEGER); FALSE : (xyCoord : LONGINT); END; TSelRange = RECORD startXY : TCoordinate; endXY : TCoordinate; END; TTermSelection = SUBCLASS OF TSelection selRange : TSelRange; anchorXY : TCoordinate; FUNCTION CREATE (object: TObject; heap: THeap; itsView: TView; itsKind: INTEGER; itsCharPos : TCoordinate; itsAnchorLPt: LPoint): TTermSelection; PROCEDURE QPHighlight (highTransit: THighTransit; cursorpoint : Point); PROCEDURE SetRange (sXY, eXY : TCoordinate; startIsAnchor : BOOLEAN); END; TGraphView = SUBCLASS OF TView minViewLRect : LRect; qdpPicture : PicHandle; scrolldh : INTEGER; scrolldv : INTEGER; FUNCTION CREATE (object: TObject; heap: THeap; itsPanel: TPanel; itsExtent: LRect): TGraphView; END; TGraphCutCopyCmd = SUBCLASS OF TCutCopyCommand graphSelection: TGraphSelection; FUNCTION CREATE (object: TObject; heap: THeap; itsCmdNumber: TCmdNumber; itsView: TView; itsSelection: TGraphSelection): TGraphCutCopyCmd; END; TGraphSelection = SUBCLASS OF TSelection FUNCTION CREATE (object: TObject; heap: THeap; itsView: TView; itsKind: INTEGER; itsAnchorLPt: LPoint): TGraphSelection; END; TInputBuffer = SUBCLASS OF TObject inputRun : TString; combKeys : TArray; FUNCTION CREATE(object: TObject; heap: THeap; fromKeyboard : BOOLEAN): TInputBuffer; END; TVanWindow = SUBCLASS OF TWindow typeAhead : TArray; inputcount : INTEGER; termPanel : TPanel; inputPanel : TPanel; graphPanel : TPanel; stdterm : TStdTerm; dialogWindow : TDialogWindow; termDialog : TTermDialog; FUNCTION CREATE(object: TObject; heap: THeap; itsWmgrID: TWindowID): TVanWindow; PROCEDURE TVanWindow. DoKey (ascii: CHAR; keycap : Byte; shiftKey, appleKey, optionKey: BOOLEAN); END; TTermWriteUnivText = SUBCLASS OF TTKWriteUnivText termView : TTermView; linePosition : INTEGER; charPosition : INTEGER; FUNCTION CREATE (object: TObject; heap: THeap; itsDataArray: TString; itsDataSize: INTEGER; itsView : TTermView): TTermWriteUnivText; END; TTermDialog = SUBCLASS OF TDialog orgtabindex : INTEGER; orgtabstr : STRING [5]; FUNCTION CREATE (object: TObject; heap: THeap; itsView: TView): TTermDialog; PROCEDURE SetupDialog; END; TTabPosition = RECORD Case TabSet : BOOLEAN OF TRUE : (TabStop : packed array [0..maxPosColumns] of BOOLEAN); FALSE : (All : array [1..5] of LONGINT); END; TRAttributes = RECORD charStyle : Style; charFont : INTEGER; END; Tfontinfo = RECORD leading, ascent, descent, widmax, lineheight : INTEGER; END; TTermLine = SUBCLASS OF TObject size : INTEGER; ch : PACKED ARRAY [0..maxtextline] OF CHAR; FUNCTION CREATE : TTermLine; END; TStdTerm = SUBCLASS OF TObject window : TVanWindow; buffer : TArray; screen : ARRAY [0..maxPosLines] OF TTermLine; maxLines : INTEGER; maxColumns : INTEGER; viewSize : INTEGER; cursorPt : Point; cursorXY : TCoordinate; cursorshape : Tcursorshape; saveBuffer : BOOLEAN; wrapAround : BOOLEAN; stopOutputKey : CHAR; startOutputKey : CHAR; tabPosition : TTabPosition; dfontInfo : TFontinfo; defltAttr : TRAttributes; currAttr : TRAttributes; handleApplePeriod : BOOLEAN; haveInputPanel : BOOLEAN; haveTwoPanels : BOOLEAN; txpanelonly : BOOLEAN; grpanelonly : BOOLEAN; alreadyConfigured : BOOLEAN; bufhasroom : BOOLEAN; FUNCTION CREATE (object : TObject; heap : Theap) : TStdTerm; PROCEDURE VWrite (VAR str : Tstr255); PROCEDURE CtrKeyWrite (ctrch : CHAR); PROCEDURE VRead (VAR ach: char; VAR keycap : Byte; VAR applekey, shiftkey, optionkey : BOOLEAN); END; TPasTerm = SUBCLASS of TTERMINAL FUNCTION CREATE : TPasTerm; END; TPMouseEvent = ^TMouseEvent; VAR ConsTerm : TStdTerm; qdpUsed : BOOLEAN; qdpGPtr : grafptr; qdpGPort : grafport; qdpPicOpen : BOOLEAN; qdpViewRect : Rect; qMouseEvents : TArray; PROCEDURE QPConfig (config : TQPConfigRec); PROCEDURE SetupTermPara (termpara : TTermPara); PROCEDURE VRead (VAR ch: CHAR; VAR keycap : Byte; VAR applekey, shiftkey, optionkey: BOOLEAN); PROCEDURE ClearScreen (clearkind : INTEGER); PROCEDURE VGotoxy (x, y : INTEGER); PROCEDURE MoveCursor (scroll : BOOLEAN; xdistance, ydistance : INTEGER); PROCEDURE SetTab (column : INTEGER); PROCEDURE ClearTab (clearAll : BOOLEAN; column : INTEGER); PROCEDURE StopInput; PROCEDURE StartInput; PROCEDURE ChangeCharStyle (newstyle : Style); PROCEDURE QPYield_CPU; PROCEDURE VStrWrite (VAR str : Tstr255); PROCEDURE VGetLine (lineNo : INTEGER; VAR line : Tstr255; delete : BOOLEAN); PROCEDURE VPutLine (lineNo : INTEGER; VAR line : Tstr255; insert : BOOLEAN); PROCEDURE VScrollLines (topRegion, bottomRegion : INTEGER; scrollhowmanylines : INTEGER); PROCEDURE RedrawScreen; PROCEDURE RedrawLine (lineNo : INTEGER); PROCEDURE ChangeMaxColumns (newColumns : INTEGER); PROCEDURE ChangeFont (newfont : INTEGER); PROCEDURE BindDocheap; PROCEDURE CkPutAway; FUNCTION NotToWait : BOOLEAN; IMPLEMENTATION ’üUQPGRAPHVÉNTRINSIC; INTERFACE USES {$U tklib} UObject, {$U sys1lib} QuickDraw, {$U tklib} UDraw, {$U tklib} UABC, {$U tk2lib} UTKUniversalText, {$U tk2lib} UText, {$U tk2lib} UDialog, {$U iospaslib} Blkiointr, {$U libqp/UStdterm} UStdterm, {$U libos/Syscall} Syscall; TYPE TQPGraph = SUBCLASS of TObject FUNCTION CREATE : TQPGraph; END; PROCEDURE VGetMouse (VAR pt : Point); FUNCTION MouseButton : BOOLEAN; FUNCTION MouseEvent (VAR aMouseEvent : TMouseEvent) : BOOLEAN; FUNCTION VStillDown : BOOLEAN; PROCEDURE WaitMouseEvent (VAR aMouseEvent : TMouseEvent); PROCEDURE WaitEvent (VAR fromKeyboard : BOOLEAN); FUNCTION QPGrafPicSize : INTEGER; PROCEDURE QPScrollRect (dstRect : Rect; dh, dv : INTEGER; updateRgn : RgnHandle); IMPLEMENTATION ’JUSOROC ÉNTRINSIC; INTERFACE USES {$U tklib} UObject, {$U sys1lib} QuickDraw, {$U tklib} UDraw, {$U tklib} UABC, {$U tklib} UTKUniversalText, {$U tklib} UText, {$U tklib} UDialog, {$U iospaslib} Blkiointr, {$U libqp/UStdTerm} UStdTerm; CONST maxI = 3; TYPE states = (q0,q1,q2,q3,q4,q6); Ilist = ARRAY [1..maxI] OF CHAR; smallstr = STRING [10]; TSOROC = SUBCLASS OF TStdTerm state : states; I : Ilist; newline : BOOLEAN; params, pos, top,bottom,rmarg : INTEGER; vReadBuff : TString; FUNCTION CREATE (object : TObject; heap : Theap) : TSOROC; END; IMPLEMENTATION ’4UVT100 ÉNTRINSIC; INTERFACE USES {$U tklib} UObject, {$U sys1lib} QuickDraw, {$U tklib} UDraw, {$U tklib} UABC, {$U tklib} UTKUniversalText, {$U tklib} UText, {$U tklib} UDialog, {$U iospaslib} Blkiointr, {$U libqp/UStdTerm} UStdTerm; CONST maxp = 5; maxI = 5; bmarg = 23; tmarg = 0; TYPE states = (q0,q1,q2,q3,q4,q5,q6,q7); Plist = array[1..maxp] OF Tstr255; Ilist = array[1..maxI] OF CHAR; padtype = (ansiAppl,vt52Appl,normal); curskeymodes = (ansiSet,ansiReset,vt52set); smallstr = string[10]; typeStyle = (GR,US,UK); fontStuff = record vcursorXY : TCoordinate; charInfo : TRAttributes; currType : typestyle; END; TVT100 = SUBCLASS OF TStdTerm state : states; P : Plist; I : Ilist; newline, ansi, vt52, LetHerScroll, ukPound, origabs : BOOLEAN; params, pos, top,bottom,rmarg : INTEGER; charAttr : fontStuff; vReadBuff : TString; S1Font,S0Font, currentFont : typeStyle; TILE12VTS, TILE20VTS : INTEGER; CursorKeyMode : curskeymodes; keyPad : padtype; FUNCTION CREATE (object : TObject; heap : Theap) : TVT100; END; IMPLEMENTATION €IntrinSgsQPortTE‚TVT100 TVT100  ‚uvt100 UVT100 ‚TSOROC TSOROC ‚usoroc USOROC ….*Nú$^Nú Nú-äNú$JoïüNVÿüHç,.*. J…fB§/ mTAèÿè/ :D*B§// $-_B§B§/?< :„. n(P9|L9|N|P|Q)GDBl09|O8Bl49|6|-Gì:6¬4BkB+7||I|HlHJB,.|/Bl0B,|è|*B,+|,9|PÚ9|ØBläBlâ)l>)lLßàN^ _PONÐJoïðNVÿðHç nCîÿôJ"Ø"Ø"Ø(nAîÿô&H l P hD P (R€// l P/(DN•. g?. l P/(DN• LßN^ _Þü NÐJoðNV n~ _À n0 \ÁÀD@N^ _\ONÐJoðNV n \À n~ _ÁÀD@N^ _\ONÐJoðNV n/ _À n \ÁÀD@N^ _\ONÐJoðNV n~ _À n@ \ÁÀD@N^ _\ONÐJoïNVÿ nCîÿJp@"ØS@nú n RP n .ÿ@ÿ°Pm n 0Aîÿ0Aÿ n0�` nBPN^ _ÞüNÐJoïþNVÿþHç. nGè S(PFJ fB,. lO8f~`~? `*Jf lO8f>,L`>,N? ` f|.LßÀN^ _\ONÐJoðNVHç(n>. H€gS@gS@g8S@gN`d Gf¼`X GYf¼`Bg?/.NºþFg¼`B`2Bg?/.NºþTg¼`B`Bg?/.Nºþ:g¼`BL߀N^ _Þü NÐJoðNV n9 _À n0 \ÁÀD@N^ _\ONÐJoðNVHç(n>. H€gS@g(S@gbS@g”U@gàU@gÀ` Gf¼`ô G[f¼`.Bg?/.NºýÂg¼`Bg?/.Nºý\g¼`B`¶Bg?/.Nºý¸g¼`Bg?/.Nºÿ4g¼` G?gB`~ G;f¼`*Bg?/.Nºývg¼`Bg?/.Nºþòg`B`FBg?/.NºþÜg¼`B`,Bg?/.Nºü¸g¼`Bg?/.Nºüò gBL߀N^ _Þü NÐJoîþNVþúHç>. .&n.g~ KPˆ-Hþú nþú P(P0,â°l4]À2,â²l6^Á€g^JGl( ÐlâJ@m?,ä Ðlâ? D` ?,äBg D`.JGo* Ðlâ @n?,ä Ðlâ? D` ?,ä?< D`öJGlx Ðlâ2,4’@<JFoT?,ä?,4 DgB?<ÿÿHnþþ< < k P?(4Hnþþ< H k P?(6Hnþþ< 0,$�| <¾l6o>,â¼l8o<,ä?? DLßÀN^ _Þü NÐ/ZJoïîNVÿÖHç nCîÿöJ"Ø"Ø2�&nJn f`0.@7g€S@g²[@g,S@g2]@gS@g&W@g [@g>@g` KPˆ-Hÿê nÿê P(PAì:-Hÿæ|P|Q9|O8Bl49|6|-|IlIHlHJ nÿæ0¬4 nÿæBh nÿæB( nÿæ1||/Bl0B,|è|*B,+|, k P hPÚg?<P  k PB@(>??<?< "?<T�  k P?(@ ?< Bg k P?(4 D`&<<?</.Nºú `<<?</.Nºùò?< /+N•`ê<<?<ÿÿ/.NºùÎ`Ò KPˆ-Hÿâ nÿâ P(PAì:-HÿÞ nÿÞ1lä nÿÞ0¬â nÿÞ!l`š KPˆ-HÿÚ nÿÚ P(PAì:-HÿÖ nÿÖ0(°l8n nÿÖ?( nÿÖ? D`?,8 nÿÖ? D nÿÖ1l nÿÖB@(??<?< "?<T�  `"?<ÿÿ ,` k PB(Q` k P|Q`Î n fÄ0.@0gˆS@gJS@g~@gS@g<`¢ n(ÿöf k P|H` n)ÿöf k P|I</.Nºö`h n(ÿöf k P|H` n)ÿöf k P|I</.NºõÞ`0 n(ÿöf k PB(H` n)ÿöf k PB(IBg/.Nºõ¬LßN^ _Þü NÐJoîöNVþòHç n CîÿJp@"ØS@núBD.ÿ@ÿ: S@=@þü|=nþüþô~` Áü <RGi¾nþôoî=Eþò~`"Aîÿ0p@ÿ�|0ÁÆØ@ HÀ�ü <RGi¾nþòoØ=DLßðN^ _PONÐJoêÚNVú²Hç nCîûJ0<@"ØS@nú<. &n0.@Ag`S@g S@gØS@g Y@gFU@ghS@gþ@gW@g,S@gxS@gÞY@gFS@gS@gÚW@gVS@gŽ`` Ff$<BgBgHnû/.NºþÆ0D@?/.NºöÒ`JFf<Bg?<ÿÿ/.Nºöº` Ff<BgBgHnû/.Nºþ‚/.Nºö”`JFf<Bg?</.Nºö|`Þ FfBgBgBgHnû/.NºþF/.NºöX`JFfBgBg?</.NºöB`¤ Ff"BgBgBgHnû/.Nºþ 0D@?/.Nºö`JFfBgBg?<ÿÿ/.Nºö`d KPˆ-HúÖ núÖ P(P,/ghJFoZBgHl /.Nºý¼: FoBgHl /.Nºý¦8`BDJEgSEJDgSD Eoz`JElBE¸l8o8,8?? D`BgBg D`rJFodBgHl /.NºýT:,4Ú_ FoBgHl /.Nºý:8`BDJEgSEJDgSDºl6o:,6` ºl4l:,4¸l8o8,8?? D` Bg?,4 D`p k PAè:-HúÒJFf núÒB(`Ž=FúÐ~`|Bg á@AîúHp/.Nºü´0gS@gW@g*S@gJGoSG`JGgB.ú÷ Fo(BgHnü/.Nºû=_úúJnúúoSnúú` JnúúgB.ú÷¾núú]ÀÀ.ú÷ núú_ÁÀgH KPˆ-HúÈ núÈ P(P núúgB,-`|-9núú69G4,/g BgBg D` Bg?,4 D``JFoZ=FúÆ~`J á@AîúHpHz "èg <Bg  `" á@AîúHpHzò "èg Bg?<ÿÿ  RGi¾núÆo°` Bg?<ÿÿ  `¦HnûHz° "ègØ=FúÄ~`ÄBg á@AîúHp/.Nºùô0S@gU@gW@grS@gŠ`’ k PB(P`„?<  KPˆ-HúÀ núÀ P(PBl49|ƒ89|6|-?<„  k P(J/.Nºï"Bg k P?(4 D`( k PB(/Bg k P?(4 D` k P|èRGi¾núÄoÿ8`" FfHnûHz¾ "èg k P|*`˜-|XX úÚpAîúÚ¼pAîúÚ¼[BgHnû/.Nºøê _f¬ KPˆ-Hú¼ nú¼ P(P:,â8,ä?,äHnúê/.Nºòˆ,/g?,âHnúÞ/.Nºòr`.0,â°l4\À2,â²l6_ÁÀg0,â�l4?HnúÞ/.NºòBHnúÚ?< Bg/.Nºì”HnúÞ?<;</.Nºì€Hnúê?<n</.Nºìl`4HnûHzΠ"èg$HnúÚ?< Bg/.NºìHHz¬?< Bg/.Nºì6`€-|XX úÚpAîúÚ¼pAîúÚ¼[HnúÚ?< Bg/.NºìHz^?< Bg/.Nºëî`8HnûHzB "èg=Fúº~`òBg á@AîúHp/.Nº÷†0S@gS@g$S@gNW@g¤S@g´`º k P|P`ª KPˆ-Hú¶ nú¶ P(P|,B,+|PJ,Qf|Q`z?<  KPˆ-Hú² nú² P(PBl49|6|-9|O8 k P(J/.Nºì†?<P Bg k P?(4 D` k P|/BgBg D` k PB(èRGi¾núºoÿ ` FfHnûHz" "èg k PB(*LßðN^ _Þü NÐ20??1;2c5n503JoìþNVüþHç nCîÿJp@"ØS@nú(np n Cîÿ¨ l P(-g Hnÿ X`æ l P"l"Q0(8�iäR@>.ÿ@ÿ¾@l¢ l P(è g6 .ÿAÿAîÿ0BÿAîÿ‚pAîÿ‡Hnÿ XB.ÿ`XHnÿ?<?Hnüþ "AîýþCîüþp@ ÙS@núHnÿ?<? "Hnýþ X<<?</.Nºív?< /,N•` Hnÿ XB.ÿHnÿHz  "ègÿ n BPL߀N^ _Þü NÐJoîôNVþðHç n P(- n @ÿ<=Fþò~` n 0p@ÿ @nBRGi¾nþòoâ n PJ(WÀ"Âgh n P(.gP n Cîþøp@"ØS@nú=Fþð~`(Aîþø0p@ÿ @#f=|£þô Aîþø®þõRGi¾nþðoÒHnþø X`/.  X`X FWÀ n r0Bÿ B WÁÀgH?< /.N• n P(*g, n P(-g?< /.N•`<<?</Nºì`òBnÿúBnÿþ¼nÿúo¬Rnÿú n 0.ÿú0Aÿ=Aþô nþônJnÿþoHnþøHnÿþ/NºýP0.þôQ@gÈU@g®S@g¨S@g¢S@gpS@gHS@gV@ g&U@g"S@g`¨ n P| n PBh0`š n PB( n PBh0`‚ n P(I/NºèÌ`n n P(H/Nºèº`\?.þô/.N• n P(*g<<?</Nºë `0<<?</Nºêø`BgBg?<ÿÿ/Nºêè` ?.þô/.N•`‚ n PJ(gH n P(+g n PHh?.þô/Nºé` n P(H€S@kä @nÜãH0;Nû(t8ІJnÿþoHnþøHnÿþ/Nºûê`¬ n(P n?þôf:Jl0g Bl0B,`*0,0R@9@00,0á@rÒ@®þõ 0,0á@rÒ@¼ `` n PJh0WÀ n P h0WÁ n PtAè 0 Cÿ C?W€g$ n P0(0R@ n P1@0 n P1|2` n P0(2R@ n P1@2 n P h0n$ n P"n"Q0)0á@"n"Q2)2Ò@®þõ /. HnþôHnÿú/Nºæ€Bg?.þô/NºçÞg\ n P0(2R@ n P1@2 n P h0n$ n P"n"Q0)0á@"n"Q2)2Ò@®þõ /. HnþôHnÿú/Nºæ`” n P h0n" n P"n"Q0)0á@r"n"QÒ@©3 Snÿú` n P0(0R@ n P1@0 n P h0n n P"n"Q0)0ã@Aè1®þô`À n P0(0R@ n P1@0 n PBh2`œ n P h0o n P1|0?.þô n PHh n P?(0/NºðŠ n PBh0 n PB(`L n P h0o n P1|0?.þô n PHh n P?(0/NºìL n PBh0 n PB(`, n P(,g n PHh?.þô/Nºå„ n P(H€S@gS@g*S@g&S@gXU@gÀ`äJnÿþoHnþøHnÿþ/NºøÜ`Ì n P0(0R@ n P1@0 n P"n"Q0)0ã@Aè1®þô`– n P0(0R@ n P1@0 n P"n"Q0)0ã@Aè1®þô n P?( n PHh n P?(0/Nºé8 n PBh0 n PB(`(?.þô n PHh n P?(0/Nºé n PB(`,Rnÿþ n#þôWÀ n PÀ(.g=|£þô0.ÿþAîþø®þõ`úPJnÿþg0 n P(-gpAîþø®ÿÿHnþø X`HnþøHnÿþ/Nº÷¦LßàN^ _PONÐJoïðNVÿðHç nCîÿôJ"Ø"Ø"Ø(nAîÿô&H l P hD P (R€// l P/(DN•. g?. l P/(DN• LßN^ _Þü NÐJoðNV n /Bg$n"j"Q/)DN•0 _0€"n i P/(DN•N^ _PONÐJoïòNVÿò/B.ÿô n P hD PJ¨o/./Nºÿ–`¼/././././. /. mTHhÿè?<?< ÀL n  \À n /_ÁÀg n PWÀ n PWÁ€ n PWÁ€ n P-WÁ€ n P+WÁ€ n P*WÁ€gä ng^ n0@*g@S@g U@g`F ng n0¼-` nBP`, ng n0¼+` n0¼` ng n0¼*`x-|XX ÿô~ n P(+g-|XXXÿô ¼OôRGp¼ô n0@g@g(S@gU@g `& ¼Pô` ¼Qô` ¼Rô` ¼Sô nBP`. n  n P (QVÁÀg-|XXXÿôp¼ô n PJ(Qf p¼Oô`p¼?ô n0g¶@,g†U@gŠS@gRS@g¨S@g¬S@g~S@g„S@gBS@gHS@gNS@g S@gS@g`Žp¼wô`‚p¼xô`vp¼yô`lp¼mô`bp¼tô`Xp¼uô`Np¼vô`Dp¼lô`:p¼nô`0p¼rô`&p¼sô`p¼Mô`p¼pô`p¼qô nBP n P\À n P_ÁÀgœ-|XXXÿô~ n P (Pf ¼[ô~`. n PJ(Pf ¼Oô~` n P (Pf-|XX ÿôp¼ô n0@gS@gS@gS@g `& ¼Dô` ¼Cô` ¼Aô` ¼Bô n P~WÀ n P`WÁ€g2 n g n0¼` ng n0¼~` n0¼`` n P#WÀ n PÀ(.g n0¼£HnÿôHz0 "ügHnÿô?< Bg/NºûH/./Nºû®.N^ _ÞüNÐJoðNVHzZHzL mTHhÿèBgBg?<R Ä$?<Nºóà?<Nºû® Ä$ mˆ/B§B§"mÄ/)ÿúNºÜ  _!@ÿüN^NuTSTDTERMTVT100 JoðNV ÄD 4p 4l 4h h ( d ÀX TNºÿdN^NuJoïüNVÿüHç..,. J†fB§/ mXAèÿè/ :D,B§// $-_B§B§/?< :„&_ n(P)K2Bl(9|O0Bl,9|.B,|è|&9|PÚ9|ØBläBlâ9|ê9|ìLßÀN^ _PONÐJoðNV n~ _À n0 \ÁÀ n* WÁ€D@N^ _\ONÐJoðNV n \À n~ _ÁÀD@N^ _\ONÐJoïNVÿ nCîÿJp@"ØS@nú n RP n .ÿ@ÿ°Pm n 0Aîÿ0Aÿ n0�` nBPN^ _ÞüNÐJoðNVHç(n>. H€gS@gS@g8S@gN`d Gf¼`X G=f¼`Bg?/.Nºÿg¼`B`2Bg?/.Nºÿg¼`B`Bg?/.Nºÿg¼`BL߀N^ _Þü NÐJoðNV n9 _À n0 \ÁÀD@N^ _\ONÐJoîþNVþúHç>. .&n.gh KPˆ-Hþú nþú P(P0,â°l,]À2,â²l.^Á€g^JGl( ÐlâJ@m?,ä Ðlâ? D` ?,äBg D`.JGo* Ðlâ @n?,ä Ðlâ? D` ?,ä?< D`àJGlh Ðlâ2,,’@<JFoD k P?(ä?,, Dg,?<ÿÿHnþþ< < k P?(,Hnþþ< HSFJFfÔ`?,ä Ðlâ? D`r Ðlâ�l.<JFoR?,ä?,. Dg@?,,Hnþþ< 0,$�| <¾l.o>,â¼l0o<,ä?? DLßÀN^ _Þü NÐJoìþNVüþHç nCîÿJp@"ØS@nú(np n Cîÿ¨ l P"l"Q0(0�iäR@>.ÿ@ÿ¾@l¢ l P(è g6 .ÿAÿAîÿ0BÿAîÿ‚pAîÿ‡Hnÿ XB.ÿ`XHnÿ?<?Hnüþ "AîýþCîüþp@ ÙS@núHnÿ?<? "Hnýþ X<<?</.NºüÈ?< /,N•` Hnÿ XB.ÿHnÿHz  "ègÿ n BPL߀N^ _Þü NÐJoîôNVþòHç n @ÿ>z=Gþò|` n 0`@ÿ @ lBRFi¼nþòoâ n PJ(WÀ"Âg /.  X`b GWÀ n r0Bÿ B WÁÀg(?< /.N• n P(&g ?< /.N•`B.þöBnÿüBnÿþ¾nÿüoô/. HnþôHnÿü/Nºú  nþônêJnÿþoHnþöHnÿþ/Nºýî0.þôQ@g~U@gfS@g†S@g”S@g*@g W@g”`š n P| n PBh(`Œ?.þô/.N• n P(&g<<?</Nºû.`^<<?</Nºû`JBgBg?<ÿÿ/Nºû `:<<?<ÿÿ/Nºúö`&BgBg?</Nºúæ`BgBg D` ?.þô/.N•`ì n PJ(gÌ n(P n PHh?.þô/Nºùà n P(H€S@gS@g&S@g"S@g:S@gl`ŒJnÿþoHnþöHnÿþ/Nºüº`t0,(R@9@(0,(ã@Aì1®þô`X0,(R@9@(0,(ã@Aì1®þô?, Hl ?,(/Nºû¾Bl(B,`"?.þô n PHh n P?((/Nºû–B,`Rnÿþ0.ÿþAîþö®þõ`þJnÿþgHnþöHnÿþ/NºüLßàN^ _PONÐJoðNV n /Bg$n"j"Q/)2N•0 _0€"n i P/(2N•N^ _PONÐJoðNV/././././. /. mXHhÿè?<?< ÀL n0@gS@gS@gS@g `& n0¼` n0¼ ` n0¼ ` n0¼ N^ _ÞüNÐJoðNVHzZHzL mXHhÿèBgBg?<6 Ä$?<NºüL?<NºÿP Ä$ mˆ/B§B§"mÄ/)ÿúNºö”  _!@ÿüN^NuTSTDTERMTSOROC JoðNV ÄD 4p 4l 4h h ( d ÀX TNºÿdN^Nu�."€IntrinSgsQPortRe‚VGETMOUSVGETMOUS@‚MOUSEBUTMOUSEBUT‚MOUSEEVEMOUSEEVE ‚VSTILLDOVSTILLDOT‚WAITMOUSWAITMOUS`‚WAITEVENWAITEVEN\‚QPGRAFPIQPGRAFPI,‚QPSCROLLQPSCROLL0‚STAYINMESTAYINME4‚TTERMLINTTERMLIN8‚BINDDOCHBINDDOCH‚CKPUTAWACKPUTAWA‚NOTTOWAINOTTOWAI(‚VREAD VREAD L‚CLEARSCRCLEARSCR‚VGOTOXY VGOTOXY D‚MOVECURSMOVECURS$‚CHANGECHCHANGECH ‚VSTRWRITVSTRWRITX‚VGETLINEVGETLINE<‚VPUTLINEVPUTLINEH‚VSCROLLLVSCROLLLP‚CHANGEFOCHANGEFO…@¦NúŠNú6XNú=ìNú¤Nú1âNú Nú"Nú6NúÆNú NútNúêNúNú:&NúžNú5Nú;Nú0`Nú=xNú|Nú7¾NúNúJoðNVHz‚B§ mÐ/(þ„N•Nº: mˆ hÿü P h P h‚ P/(,N• mˆ/(ÿö ŠN^NuJoïøNVÿø/ (n lHh l/ Š°/, Š(_N^.ŸNuJoïþNVÿþHnÿþ< "hNºžHzÿ¶/ mˆ hÿü P h P/(‚N•NºÿLHnÿþBg "hN^.ŸNuJoðNVBg< Š`_N^NuJoïúNVÿúHç&mˆHnÿú< "hNº2 kÿ| PJ¨o(B§/+ÿ|N•. n"G Ù Ù0‘/+ÿ|N•| `"(nB,BlBTBlB,B,B, B. Nºþ¨HnÿúBg "hL߀N^.ŸNuJoïþNVÿþHnÿþ< "hNº¬B.BgNºÿ8 mˆ hÿ| PJ¨WÀÀg|NºþTHnÿþBg "hN^NuJoðNV/ (mÐJ¬ÿ g( ,ÿ °¬ÿ°g mˆ hÿ| PJ¨^ÀD@ `B. ` lþþ PJ¨WÀD@ (_N^.ŸNuJoïþNVÿþ/ (mÐHnÿþ< "hNº mˆ hÿ| PJ¨n8B,þíBg/,ÿN• g B¬ÿ/,ÿ N•HzÿX//,þ„N•|þí`HzB§/,þ„N•NºÎBg/.NºþNHnÿþBg "h(_N^.ŸNuJoðNV/ (mÐJ¬ÿ g: ,ÿ °¬ÿ°g* mˆ hÿ| PJ¨^À"n iÿü PJhx^Á€D@ `B. ` lþþ PJ¨WÀD@ (_N^.ŸNuJoïúNVÿúHç(mÐ&mˆHnÿú< "hNºþ kÿü P-hÿü kÿ| PJ¨_À nÿü PJhx_ÁÀg8B,þíBg/,ÿN• g B¬ÿ/,ÿ N•Hzÿ(//,þ„N•|þí`HzöB§/,þ„N•Nº² n"nÿü"QJix^ÀD€/+ÿö ŠHnÿúBg "hLßN^.ŸNuJoïøNVÿøNºP mˆ hÿü P h P h‚ P-h$ÿø nÿø P hR P=PN^NuJoïæNVÿæHç(mˆ&mŒHnÿî< "hNºükÿ«+ÿ«g<,ÿ‰ gÔ lÿü P h P h‚ P.($ G P,(RHnÿð ŠèB§/N• ŠJ¬ÿæg?<ï mÐ/(þ„N• "0B§Hlÿ€ Šô* G P!ERJ†g`(,ÿêB¬ÿê-lÿîÿêB¬ÿîHkÿ¸ Š8/,ÿ¦/+ÿ´ ŠØHlÿ€ Š°Hlÿ€ Š€/Hlÿ€ ŠHnÿòBg "hLßN^ _Þü NÐJoðNVHç&n(mˆNºþ” m hÿü0,ÿΰhDg?,ÿΠŠ¸ m hÿü,ÿÐ(F°gB@,ÿÐ??<?< "?<T� Š´ m hÿü0,ÿÒ°hHg?,ÿÒ Š¼ m hÿü0,ÿÔ°hJg?,ÿÔ ŠÀ m hÿü ,ÿÖ°¨Lg/,ÿÖ Šh?+ÿú?+ÿø ŠÈ/+Nº?+/+/+ /+ Š˜LßN^.ŸNuJoïöNVÿöHnÿø ŠðBgNºü>g/.NºÜ?././. /. Š˜ mˆ hÿü P h P-h‚ÿüHzþÎ//.ÿüN•Nº÷äHnÿöBg "hN^ _ÞüNÐJoðNV/ (nNºýDHlÿê Š?,ÿì?,ÿê ŠÈ/, Š|(_N^.ŸNuJoïèNVÿèHnÿê ŠìBgNºû–g/. Š| mˆ hÿü P h P-h‚ÿüHzÿ�//.ÿüN•Nº÷PHnÿèBg "hN^.ŸNuJoðNVHç(n&mˆNºü®Hlÿâ Š , fHlÿøHkÿ² Šœ` , fHkÿª Š4, Hlÿø ŠŒLßN^.ŸNuJoïÜNVÿÜHç nCîÿøJ"Ø"Ø(mŒ&mˆNºî kÿü P h P.(‚ . fLBgHnÿøHlÿ¬ Hôg:+ÿ‰g Š´B+ÿ‰ G P,($ F P/(R Šp F PB¨RHlÿ¬BgBgBgBg Š(Hnÿâ ŠìBgNºú^g. Hnÿø ŠŒHlÿ¬HnÿøHlÿ¬ ŠàHzþê//N•NºöHnÿàBg "hLßÀN^ _\ONÐJoðNVHç(n&mˆNºûtHlÿâ Š ,fHlÿø?, ?,Hkÿ² Š¤`$ ,fHkÿª Š4,Hlÿø?, ?, Š”LßN^.ŸNuJoïàNVÿàHç n CîÿøJ"Ø"Ø(mŒHnÿâ ŠìBgNºù€g$.Hnÿø?. ?. Š”Hlÿ¬HnÿøHlÿ¬ Šà mˆ hÿü P h P&h‚Hzÿ*// N•Nºõ"HnÿàBg "hLßN^ _Þü NÐJoðNVHç(n&mˆNºúxHlÿâ Š , fHlÿøHkÿ² Š”` , fHkÿª Š4, Hlÿø Š€LßN^.ŸNuJoïàNVÿàHç nCîÿøJ"Ø"Ø(mŒHnÿâ ŠìBgNºø”g. Hnÿø Š€Hlÿ¬HnÿøHlÿ¬ Šà mˆ hÿü P h P&h‚HzÿB// N•Nºô>HnÿàBg "hLßN^ _\ONÐJoðNVHç(n&mˆNºù–Hlÿâ Š ,fHlÿø?, ?,Hkÿ² Š�`$ ,fHkÿª Š4,Hlÿø?, ?, ŠlLßN^.ŸNuJoïàNVÿàHç n CîÿøJ"Ø"Ø(mŒHnÿâ ŠìBgNº÷¢g$.Hnÿø?. ?. ŠlHlÿ¬HnÿøHlÿ¬ Šà mˆ hÿü P h P&h‚Hzÿ*// N•NºóDHnÿàBg "hLßN^ _Þü NÐJoðNVHç(n&mˆNºøšHlÿê Š , f/,Hkÿ² Š˜` , fHkÿª Š4, /, Š„LßN^.ŸNuJoïèNVÿèHç(mŒHnÿê ŠìBgNºöÄg". /. Š„Hlÿ¬ n PHhHlÿ¬ Šà mˆ hÿü P h P&h‚HzÿJ// N•NºòhHnÿèBg "hLßN^ _\ONÐJoðNVHç(n&mˆNº÷ÀHlÿê Š , f/,Hkÿ² Š ` , fHkÿª Š4, /, Š�LßN^.ŸNuJoïèNVÿèHç(mŒHnÿê ŠìBgNºõêg". /. Š�Hlÿ¬ n PHhHlÿ¬ Šà mˆ hÿü P h P&h‚HzÿJ// N•NºñŽHnÿèBg "hLßN^ _\ONÐJoðNV/ (nNºöì/,/,/,?, /, Šp(_N^.ŸNuJoïèNVÿèHç(mŒBgNºõBg(/././.?. /. ŠpHlÿ¬/.Hlÿ¬ Šà mˆ hÿü P h P&h‚Hzÿv// N•NºðàHnÿèBg "hLßN^ _ÞüNÐJoðNVÿü mŒAèÿ¸-HÿüAúøp"nÿü"ˆAúù"nÿü#HAúù¸"nÿü#HAúúö"nÿü#H AúûÖ"nÿü#HAúü¼"nÿü#HAúýœ"nÿü#HAúþj"nÿü#HAúÿ"nÿü#H N^Nu _"_JNÐJoïìNVÿäHç.&mˆ?.?. HnÿøNºø?. ?.HnÿüNºè KYˆ-Hÿè nÿè P P-Hÿä nÿäIè<.ÿú0Ðl2.ÿø’@>0.°n o~Jno6Hnÿð???+ýR0,Ðnÿø? Š(g Hnÿð Š`Hnÿ𠊀|ÞlHnÿð???+ýR0Ðl2.ÿü’@? Š(g Hnÿð Š`Hnÿ𠊀0Ðl2.ÿü’@>Hnÿð???.ÿþ0,Ðnÿü? Š(g Hnÿð Š`Hnÿ𠊀LßàN^ _Þü NÐJoïàNVÿÆHç(mˆ?,ýZ Š¸B@,ýX??<?< "?<T� Š´ n PJ¨RgnAìý\-HÿÜ nÿÜ"nÿÜ0)ÐP> n P hR P=hÿÚ|`6B§HÆ/ n P/(RN• _*p/HÇ/ H¸/Nº  nÿÜÞhRFi¼nÿÚoÄ` lÿü PJ¨g mÌ hþÚ P0,ýLHÀ°¨,o& lÿü P h P8(JDo²Bg D@?HnÿøNº ø>.ÿø=DÿØ|`Œ LYˆ-HÿÔ nÿÔ P P-HÿÐ nÿÐGèJGob mÌ hþÚ P0+ÐGHÀ°¨,oJ mÌ hþÚ P �k�SHÀ°¨4l,p/HÇ/ H¸B§HÆ/ lÿü P/(N• _*/Nº.``ÞkRFi¼nÿØoÿp mÌ(ÿÿ gPBnÿâ=lýLÿà=|ÿæ=|ÿä=|ÿè mCîÿêAèÿä"Ø"ØHnÿà ŠB§0,ýLHÀ/ H¸0,ýRHÀ/B§ H€ LYˆ-HÿÌ nÿÌ P P-HÿÈ nÿÈGè0ÐlýL2+Ò@> nÿÈ0(ØS@=@ÿÆBF`\ mÌ hþÚ P0+ÐGHÀ°¨,o< mÌ hþÚ P �k�SHÀ°¨4l p/HÇ/ H¸ lÿü P å@/0 Nº.``ÞkRFi¼nÿÆož,ý3g&HlýDBg?<ÿØ?,ýRBg Š(BgHlýD Hèg ü?,ýV Š¸B@,ýT??<?< "?<T� Š´LßðN^.ŸNuJoðNV n "n"QCéB Ù Ù Ù ÙN^ _PONÐJoðNV?..... mˆ hÿü P/(N•N^ _ÞüNÐJoðNVHç n(PGì8&®'n. g)n@`)n@LßN^ _ÞüNÐJoðNVHç./. Nº² n P hfTH‡0S@gU@gS@gU@g``<` ~``4`~ mÌH‡ ÁüAèÿBHp Š n PIè8<//,NºúÊL߀N^ _Þü NÐJoðNV. mˆ hÿü P/(Þ/.N•N^ _\ONÐJoïÊNVÿÂHç*.&mˆ KYˆ-HÿÆ nÿÆ P(P E P"l"Q (°©zfxBF0,ØS@=@ÿÄBG` å@ t Pp0AÿÜARGi¾nÿÄoàJFoD0,ÐkýL2,Ò@80,ØS@=@ÿÂBG` p/HÄ/ H¸ å@/4 NºÊØl RGi¾nÿÂoÚ+ÿ‰g HnÿРŠü/+ÿö Š Š´B+ÿ‰/.ÿРŠ E PJ¨Rg\ mÌ"E"Q"i"QJ)XWÀ€(ÿÿ@g.Hkÿ€Hnÿà mÌ/(þÖN• E P/(RHnÿà mÌ/(þÚN•` E P/(RHkÿ€ Š.(mˆ,ý4fH G?^ÀÀ.g HÀ�ü H@J@>,ý7  lÿü P¾hêWÁÀg |ý7` lÿü P¾hìfB,ý7`ø,ý6€,ý7g`ê S ht PJ¨f*B§B§B§/ N•< -_ÿüAîÿü/ S/(tN•`FB§ S/(tN• _-Pÿü nÿü PJ¨f(B§B§B§/ N•< -_ÿüAîÿü/ S/(tN• S-Hÿô nÿü P-Hÿð? nÿð/(N• nÿønÿùnÿún ÿûAîÿø/ nÿð/(N• nÿô0(xR@ nÿô1@x S h$ P/(,N•L߀N^ _ÞüNÐJoðNVÿüHç>.Bg?. /. mˆHhýl?<?<  ÀL_ mˆYˆ-Hÿü nÿü P(P,gt,g G WÀ G WÁ€gB.,g GWÀ G WÁ€ GWÁ€gB.,g GWÀ G WÁ€gB. GWÀ GWÁ€ GWÁ€gB.`r,g GWÀ GWÁ€gB.,g GWÀ GWÁ€ GWÁ€gB.,g GWÀ GWÁ€gB. GWÀ G WÁ€ G WÁ€gB.L߀N^ _PONÐJoðNV/ B§B§ mˆ/(ÿüN• mˆAèÿD/Bg :@-_ n(P9|ˆpB4(_N^NuJoïüNVÿüB§ mÐ/(þþN•-_ÿü/.ÿüN•N^NuJoðNV mÐ hþþ PJ¨f mÄ|ÿó< mÐ/(þ„N•N^NuJoðNV|N^NuJoïæNVÿæHç(mˆ n Pp0Aÿ>JGg|<,ýZlýXÿï m hÿü¼hDg? Š¸ m hÿü(F.ÿï°gB@.ÿï??<?< "?<T� Š´BE n P\ˆ R€( n PJhlê n P0(D@W@ @…l" @g HÇ Ї-@ÿæ` HÇ ЇR€-@ÿæ` м…-@ÿæB§HÇ/0,ýfHÀ/ :< >=|ÿô nÿæ0.ÿô°Pn| nÿæ0.ÿôÁüAðü&H/?B§0HÀ/HÇ/ :/? �E? ŠTLßðN^.ŸNuJoïøNVÿôHç. Bg mˆ hÿü P/(N• g f~ f~ mÌH‡ ÁüAèÿBHp Š mˆYˆ-Hÿô nÿô P&PIëJ+æf4=n ÿú0.�l=@ÿø0,Ðn =@ÿþ0,Ðn=@ÿüHnÿø Š`2 +æf*?. 0,ÐnS@? ŠÈ?<?< Š4?,Bg Š„L߀N^ _\ONÐJoðNV mÐ hþþ PJ¨g mˆ(ý7 @ `| N^.ŸNuJoðNV/ (mˆ lÿü P h P h$ P/(,N•Hzÿ / mÐ/(þ„N•Nºü¸,ÿûg/,ÿö Š(_N^NuJoðNV/.?<Œ :X n P1|ˆN^.ŸNuJoïNVÿHç&mˆ KYˆ-Hÿ nÿ P(P0.Ðn 8¸lØo8,Ø0,Ø�n:ºn l=lØBE0,ØS@=@ÿ* .fd~ S@=@ÿ<. ` å@"åAAîÿ,!´ RGRFi¼nÿoâ å@Aô -Hÿø0. å@Aô -Hÿü/.ÿø/.ÿü0,Ø�n S@å@? "L`j~=nÿ*ÿ<` å@"åAAîÿ,!´ RGRFi¼nÿoâ0. å@Aô -Hÿø å@Aô -Hÿü/.ÿø/.ÿü0,Ø�n S@å@? "P:. S@=@ÿ*. gj~=nÿ*ÿ<`V å@Cîÿ, q PJhl å@Aîÿ,/0Nºþz å@Cîÿ, q PpB0 å@ kÿü P"åACîÿ,!± RGRFi¼nÿo¤`\ .f0=nÿ*ÿ<`B§Nºú^-_ÿ kÿü P å@!®ÿ RFi¼nÿoÜ`$=nÿ~` å@Aîÿ,/0N•RGi¾nÿoæLßðN^ _PONÐJoïþNVÿúHç mˆYˆ-Hÿú nÿú P(PGì0,Ø�n S@> l P hz P h$ P Áë2+Ò@\AHÁ ( �� n0€0+Áî\@ n1@L߀N^ _PONÐJoïèNVÿäHç mˆYˆ-Hÿä nÿä P&PIë k P*(z0,Áü >0,ã@<HnÿèB§B§HÇ/HÆ/ HHnÿèB§0+à�G2,åAÒ@HÁ/B§ :80Ðl2+Þ’@’lHÁ/ HÀHnÿè??/N•LßàN^NuJoðNV/ (n0,ÿæR@ lÿô0€ lÿô0. ÁüAðü)Hÿü lÿü0¬ÿè lÿü!l(_N^ _\ONÐJoïäNVÿäHç(mˆ lÿü P!n)nýTB@.??<?< "?<T� Š´?.  Š¸ lÿü P"lÿü"Q0)âå@&p S=hÿæJnÿæo<<”`" S\ˆ м…R€-@ÿô nÿôpÁÐÐ|Ž\@</ ? :X S\ˆ м…R€-@ÿôJnÿæo nÿôBP0.ÿæD@ S1@ lÿü P=häÿè nÿô=Pÿæ~¾nÿænh nÿô ÁüAðü-Hÿü nÿü0.ÿè°Pl.*.ÿü .ÿü\€(//0.ÿæ�GR@Áü? "P?/NºþŽ`,` nÿü0.ÿè°Pf nÿü!n`RG`’0.ÿæR@?/Nºþ`B,ý2LßðN^.ŸNuJoïÎNVÿÂHç(n</,ÿèNºùŠ mˆYˆ-HÿÊ nÿÊ P&P, g@Jlÿøo8+çgvBnÿà mˆ=hýLÿÞ=|ÿä=|ÿâ=| ÿæ mCîÿèAèÿä"Ø"ØHnÿÞ ŠBg mˆ?(ýL ŠÈ mˆ?(ýRBg Š„ lÿì P h$ PHhHnÿø mÌ/(þÚN• ` mˆCîÿøAèýL"Ø"Ø m hÿüAè . G"G )Ð�J€g mHhÿô Š4HnÿøBg0,ÿøÁë D@? mˆ/(ý@ ŠÔ mˆ hý@ P-HÿÆ nÿÆTˆ-Hÿ mÌ hþÚ P"mˆ0)ýP]@HÀ°¨4^À nÿÂ"nÿÂ2(’Q²k ^Á€gê nÿÂ0HÀ-@ÿÒp-@ÿÖHnÿÒHnÿÎNº–Bg?.ÿÎHlÿàNºû°0,ÿà�k nÿ°hlª9nÿÎÿþ0+Ðlÿà nÿ°P^À2,ÿþ²kØ]ÁÀgjJlÿþl:B§ mˆ hÿü P h P0,ÿþHÀШR€/ mˆ hÿü P/(N• _)PÿÜ` mˆ hÿü P0,ÿþå@)p ÿÜ?<?,ÿà ŠÈ/,ÿÜNºõÎ0+ Ðlÿà9@ÿà0.ÿÎR@=@ÿÎ`ÿF+çg(Bg mˆ?(ýL ŠÈ mHhÿä Š0 mˆ?(ýRBg Š„?+ä?+âHkÞNºú¶</+ÞNº÷L߀N^.ŸNuJoïÖNVÿÂHç mˆ hÿü P h P-hzÿì nÿì P.(, mˆYˆ-HÿÒ nÿÒ P(P-lÞÿè0. Ðlä=@ÿô0.Ðlâ<9nÿôä9FâJnÿôlBlä`0,ÚS@°nÿôl 0,ÚS@9@ä0,ØS@"’@=AÿøJFlBlâ`Jnÿøo 0,ØS@9@â mˆYˆ-HÿÎ nÿÎ P(P. g`JnÿøoX,çgT l P:(JEo– ÐFR@2,ÜSA�A=@ÿüJnÿüo|0.ÿüHÀ�ìØT@ÁìØÐlÜ=@ÿþ0.ÿþHÀ2, HÁ// "à \€-@ÿð ®ÿÿðl´9nÿþÜ nÿì P(($ :P mˆ hÿü P/(N• D PHhBB§B§/<Ð/.ÿð H/N• < mˆ hÿü P/(N• :LBgBgHnÿàNºøò mˆHhýL?.ÿâ0.ÿà�l�l? D P?( D P?( Š(?,ä?,âHlÞNºø´Nºù*`Š mˆ hÿü P(g&?<ð mÐ/(þ„N•/.ÿìN• mˆ hÿü PB(=nÿüÿÌ=|ÿþ`:B§ mˆ hÿü P/(N• _-PÿÜ/.ÿÜN• mˆ hÿü P/(N•Rnÿþi 0.ÿþ°nÿÌo¼=nÿøÿÊ=|ÿþ`’ mˆ hÿü P-h ÿÜ nÿÜ PJhoF nÿÜ Pp0Aÿ0<…�A2<Œ’@RA: nÿÜ Pp0AÿXA nÿÜ P1A/.ÿÜ? :XAîÿÜ/ mˆ hÿü P/(N•<BgBg?<Nºõ†Rnÿþi 0.ÿþ°nÿÊoÿf`<<Bg?.ÿøNºõ` nÿì P h, P hfÖ nÿì P.(, G P-HÿÆ nÿÆGè8 nÿÆ °¨@WÀD@ÿ×0�nÿø6€0+�nÿø7@ nÿÆ0(@�nÿø nÿÆ1@@,ç gvJS]ÀJk]ÁÀg>B§B§B§B§ mˆ/(ÿüN• nÿÆ h P/($?</ mÌHhÿâ //.ÿìN• mˆYˆ-Hÿ nÿ P(P,,°VÀ2,²lVÁ€g mˆ|ý2LßðN^ _\ONÐJoïðNVÿèHç n CîÿøJ"Ø"Ø&n mˆYˆ-Hÿì nÿì P(PAì-Hÿè .ÿü]€/ nÿè0(HÀ/ "Ø 7@ mˆ0(ýP]@HÀ�®ÿø/ nÿè0(HÀ/ "Ø :0,ØS@�E6€0°lØm0,ØS@6€JSl" mˆ hÿü P h P>(0ÐGJ@l D@6€JSl$B§0ÐGR@HÀ/ mˆ hÿü P/(N• _,` mˆ hÿü P0å@,0 F Pp0Aÿ²kl F Pp0Aÿ7A` JklBkLßàN^ _PONÐJoðNV n p0Aÿ A l@ n p0Aÿ A f<?<ÿ8?<Nºú` n p0Aÿ?/.N•`/. Nº hN^ _PONÐJoðNVÿüHç&n</+ÿâ/+ÿÞN•Hkÿò Š€ KPˆ-Hÿü nÿü P(P?,ä?,âHlÞNºôB</,Þ/+ÿÞN•LßN^.ŸNuJoðNVÿüHç&n</+ÿâ/+ÿÞN• KPˆ-Hÿü nÿü P(P?,ä?,âHlÞNºóè</,Þ/+ÿÞN•LßN^.ŸNuJoïÞNVÿÜHçNºî n P h P&hz S-h,ÿÞ0. _@gS@g,ä`0æ@Aìð0g ??,âNºD`RGi¾nÿÜoÜ`0,ÚS@??,âNº&Nºï LßÀN^ _\ONÐJoðNV/ (mÐJ¬ÿ g( ,ÿ °¬ÿ°g"n iÿü PJhx^ÀD@ `B. ` lþþ PJ¨WÀD@ (_N^.ŸNuJoïðNVÿìHç(mÐNºëøNºò n P-hÿü nÿü PJhxn8B,þíBg/,ÿN• g B¬ÿ/,ÿ N•HzÿV//,þ„N•|þí`HzëüB§/,þ„N•Nºë¸ nB nB nB n BB§ nÿü P/(tN• _. G P h PJ¨f^B§ nÿü P/(tN• _./N• nÿü P/(tN• nÿü P ht PJ¨fHzüpc/ 2 "0B§ nÿü P/(tN• _. nÿü P-Hÿì G&P n/Bg/+N•0 _0€/+N•J«g:B§/+N•, F"n� F"n¨ F"n¨ F"n ¨/+N• nÿì0(xS@ nÿì1@x nÿü PJ¨~g n P f nÿü P/(~N• nÿü P h$ P/(,N• mˆ(ÿûg mˆ/(ÿö ŠLßÀN^ _ÞüNÐ5In TStdTerm.VRead, typeAhead.size = 0 after DelFirst JoïþNVÿþHnÿþ< "hNºéÐ/./././. /. mˆ/(ÿüN•HnÿþBg "hN^ _ÞüNÐJoïþNVÿüHç(mˆ=n ÿü>.`B lÿü P å@ p PJhl lÿü P å@/0 NºìÜ lÿü P å@ p PpB0RGi¾nÿüo¸L߀N^ _PONÐJoïîNVÿîHç(n&mˆ< lÿÞ P/(,N•Hlÿø Š€Bnÿð=kýLÿî=|ÿô=|ÿò=|ÿö mCîÿøAèÿä"Ø"ØHnÿî ŠBg?+ýL ŠÈ?+ýRBg Š„< lÿÞ P/(,N•LßN^.ŸNuJoïÞNVÿÀHç&mˆHnÿì< "hNºèz kÿü P h P-hzÿÞ KYˆ-HÿÚ nÿÚ P(P0.S@kŠ @n‚ãH0;Nû.¤&¶Bg0,ØS@?/Nºþ†AîÿøCëýL Ù Ù`L0,âR@>?<Nºÿh?0,ØS@?/NºþV KYˆ-HÿÖ nÿÖ P P-HÿÒ nÿÒ¾hØl0Bg?HnÿðNºítHnÿø?.ÿò nÿÒ0.ÿð�h??+ýR?+ýP Š(``è`ÖBg0,âS@?/Nºýð?<Nºþê KYˆ-HÿÎ nÿÎ P P-HÿÊ nÿÊJhâoDBg nÿÊ0(âS@?HnÿðNºìüHnÿø?+ýN nÿÊ0(ÐkýL??+ýR nÿÊ0(Ðnÿð? Š(``f`T0,âå@ t PJhl0,âå@/4 Nºê| KYˆ-HÿÆ nÿÆ P P-Hÿ nÿÂ"nÿÂ0)âå@ p PpB0Bg nÿÂ?(âHnÿðNºìfHnÿø?.ÿò nÿÂ0.ÿð�h??+ýR nÿÂ0(Ðnÿð? Š(`Ä0,âå@ t Pp¬å?,ä?,âHnÿðNºìHnÿø?.ÿò0.ÿð�l??+ýR0,Ðnÿð? Š(`x0,âå@ t P\ˆ*0,äR@=@ÿÀ|` E ¼ RFi¼nÿÀoìBg?,âHnÿôNºë¬0,äR@??,âHnÿðNºë˜Hnÿø?.ÿö0.ÿô�l??.ÿò0,Ðnÿð? Š(Hzü˜//.ÿÞN•NºèæHnÿìBg "hLßàN^ _TONÐJoðNVÿü/ < n/(ÿöNºçž mˆYˆ-Hÿü nÿü P(P?,ä?,âHlÞNºë</,ÞNºçp(_N^.ŸNuJoïöNVÿîHç<. :.&mˆHnÿú< "hNºå& KYˆ-Hÿò nÿò P(P l P.(z-lÞÿö9Fä9EâJFlBlä`0,ÚS@°Fl 0,ÚS@9@äJElBlâ`0,ØS@°El 0,ØS@9@âHzÿ"//N• KYˆ-Hÿî nÿî P(P,,°VÀ2,²lVÁ€g|ý2Nºç´HnÿúBg "hLßàN^.ŸNuJoïþNVÿþHnÿþ< "hNºäV. ?. ?.NºïVNºçtHnÿþBg "hN^ _\ONÐJoïúNVÿúHnÿú< "hNºä mˆ hÿü P(. °gn ÿü mˆ hÿü P=hÿþ/.ÿüNºêôNºçHnÿúBg "hN^ _TONÐJoïôNVÿðHç(n lÿü P h, P hf</,þèNºå¸` lÿü P.(,</,þè/N• mˆYˆ-Hÿð nÿð P&P m hÿü0(D°kg?+ Š¸ m hÿü(F+°gB@+??<?< "?<T� Š´ m hÿü hHg?< Š¼,ÿïg` ¼ RGi¾nüÞoîp¬åB n@ÿÐlä°lÚmt,èg@|/.0,Ú�läR@? n@ÿ2,Ú’lä�A?Hnýè "AîþìCîýèp@ ÙS@nú n//.?<0,Ú�lä?Hnüè " _Cîüèp@ ÙS@nú .R€*0,äHÀЋR€(// n@ÿ? "Lp3Aÿ²länB.ÿï n@ÿÐläAÿ²@lp nAÿÒlä� m hÿü0(D°lg?, Š¸-lÞþè n@ÿÐlä9@äBg/. Š¨0Ðlà9@à0,ä°lÚm0,ÚS@9@ä0, Áìä\@9@àHzü–//.ÿüN•g<?<ÿ8?<NºëTHnþìNºýÀLßðN^.ŸNuJoïðNVÿðHç>.(mˆ n B lÿü P¾hØlÐ lÿü P h P<(JGlJFo¶B§ lÿü P/(N• _&P` lÿü P å@&p *. S\ˆ(// Sp0AÿRA? "L.ghJGl:B§ lÿü P/(N• _&P/ N• lÿü P/(N• D@???<Nºž`*<<??<Nºâþ? lÿü P0(ØS@??<ÿÿNºrLßðN^ _PONÐJoïòNVÿòHç>.(mˆ lÿü P¾hØl" lÿü P h P<(.g¬B§NºÞª-_ÿü&n nÿü P\ˆ*/ / n @ÿR@? "LJGl: lÿü P(çg(Aîÿü/ lÿü P/(N• D@S@???<ÿÿNºÈ`` `6BgBg??<Nºâ& lÿü P å@!®ÿü ? lÿü P0(ØS@??<NºŠ? $`^JGl&JFo B§ ÐGR@HÀ/ lÿü P/(N• _-Pÿü` lÿü P å@-p ÿü&n nÿü P\ˆ*/ / n @ÿR@? "LLßàN^ _PONÐJoïèNVÿØHç&n(mˆ< kÿü P/(,N•Bg?+ HnÿèNºã\Bg?+ HnÿìNºãN LYˆ-Hÿä nÿä P P-HÿàHnÿø?.ÿê nÿà0.ÿè�h??,ýR nÿà0(Ðnÿì? Š(HnÿøBg lÿü P0+Áè ?/,ý@ ŠÔ lý@ P-HÿÜ nÿÜTˆ-HÿØ mÌ hþÚ P0,ýPHÀ°¨4^À nÿØ"nÿØ2(’Q nÿà²h ^Á€g nÿÜHh mÌ/(þÚN•< kÿü P/(,N•LßN^.ŸNuJoïüNVÿü mˆ hÿü P h P-hzÿüHzþÊ//.ÿüN•N^ _\ONÐJoïüNVÿü mˆ hÿü P0(°ng=nÿþ mˆ hÿü Phÿü/.ÿüNºãnN^ _TONÐJoïþNVÿþHnÿþ< "hNºÜ>N^NuJoïúNVÿúHnÿþ< "hNºÜ"/. mˆ/(ÿüN•Nºß@HnÿþBg "hN^ _PONÐJoïøNVÿøHnÿø< "hNºÛäHnÿþHnÿýHnÿúHnÿûHnÿü mˆ/(ÿüN• n ÿþ\ÀÀ.ÿúg0.ÿþHÀ�ü H@J@=@ÿþ=nÿþ HnÿøBg "hN^.ŸNuJoïþNVÿþHnÿþ< "h?.?. Nºö"HnÿþBg "hN^ _PONÐJoïþNVÿþHnÿþ< "hNºÛDHzÛœB§ mÐ/(þ„N•NºÛT mˆ hÿü P h PJhx^ÀD@ HnÿþBg "hN^.ŸNuJoïþNVÿþ/ (mˆHnÿþ< "hNºÚäHzÛS@gHS@gRS@g\`f?<NºñÈBgBgNºõ `T?<Nºñ¶`J?<Nºñ¬`@BgBgNºôî`6Bg?<ÿÿBgNºõÀ`(Bg?<BgNºõ²`BgBg?<ÿÿNºõ¤` BgBg?<Nºõ–HnÿþBg "hN^ _\ONÐ�@ž€IntrinSgsQPortIn‚TQPGRAPHTQPGRAPH ‚uqpgraphUQPGRAPHP‚TTERMPROTTERMPRO8‚TTERMDOCTTERMDOC0‚TTERMVIETTERMVIE@‚TINPUTVITINPUTVI‚TTERMCUTTTERMCUT(‚TTERMPASTTERMPAS4‚TTERMSELTTERMSEL<‚TGRAPHVITGRAPHVI‚TGRAPHCUTGRAPHCU‚TGRAPHSETGRAPHSE ‚TINPUTBUTINPUTBU‚TVANWINDTVANWINDH‚TTERMWRITTERMWRID‚TTERMDIATTERMDIA,‚TSTDTERMTSTDTERM$‚TPASTERMTPASTERM‚ustdtermUSTDTERMT‚VWP_INITVWP_INITL…´Nú >Nú úNú@Nú ®NúdNú’Nú˜Nú¢NúôNúäNú0NúŽNúnNú"NúDNúÒNú FNú@Nú"NúÈJoïüNVÿüHç(mˆ&mŒHnÿü ŠüAìÿŠ)Hÿö/,ÿö ŠüAëÿ¸)HÿòHkÿ¸ Š8 žHlÿ€ Š°B§ ŠÔ'_ÿ´/.ÿü ŠLßN^NuJoðNVB§ mÄ/(ÿú mŒAèÿð/ :D-_N^NuJoðNVÿüHz~Hzp mŒHhÿðBgBg?< Ä$ Ä$ mˆB¨ÿö mˆ|ÿû mˆB(ÿ‰ mŒ|ÿ«Nºÿ( mŒAèÿ¬-Hÿü nÿüBh nÿüBP nÿüBh nÿüBhN^NuTOBJECT TQPGRAPHJoðNV ÄD 4p 4l 4h h ( d ÀXNº€Nºÿ@N^NuJoðNVB§B§ mÄ/(ÿú mˆAèý�/ :D mÄ/(ÿú 4P-_N^NuJoïNVÿ nCîÿJp@"ØS@núB§B§ mÄ/(ÿúHnÿNºX-_N^ _Þü NÐJoðNVHz4Hz& mˆHhý�BgBg?< Ä$?<Nºÿš Ä$N^NuTPROCESSTTERMPROJoïNVÿ nCîÿJp@"ØS@núJ®fB§/. mˆAèý¬/ :D-_B§/./. Hnÿ 44-_N^ _Þü NÐJoðNVB§B§/./. Nº À-_N^ _Þü NÐJoïøNVÿðHç&mˆB+ý9/././. /. mˆHhý¬?<?< ÀL n P.(B+ý9g kÿü P!GNº"`l G P'h†ÿü KYˆ-Hÿô nÿô P(P7lÚýfAëý\Cì Ù Ù0‘'lýX'lýT G P hz P h, P1|+ÿûg G P h‚ P h, P1| KYˆ-Hÿð nÿð P(P,g 9|à0,Ðl9@ÞAëýLCëÿ€ Ù Ù`NBgBgHlÞ  BHkýL?,à0,Þ�l�l? G P hz P h$ P?( G P hz P h$ P?( Š(L߀N^ _ÞüNÐJoðNVHz mˆHhþ|BgBg?<Z Ä$?< ˜?<  Ú J  mˆHhþðBgBg?<8 Ä$?< š?< Ò?< 8?< * Ä$N^NuTSELECTITGRAPHSEJoïöNVÿöHç*.(. J…fB§/ mˆAèÿ0/ :D*(E.g ><„B§B§/?<„?< :d&_ T!K` >< TB¨B§B§/? :„, T!F-LLßðN^ _Þü NÐJoðNVHz4Hz& mˆHhÿ0BgBg?<  Ä$?< ¤ Ä$N^NuTOBJECT TINPUTBUJoïøNVÿøHç.. ,.J†fB§/ mˆAèýl/ :D,B§B§/?<?< :d&_B§B§/<Nºþè-_ÿøAîÿø// N• F(P)KtBlxB¬zB¬~B¬‚B¬†B¬ŠB§///.< 4`-_LßÀN^ _Þü NÐJoïÊNVÿÂHç,.(mˆ|ý9B§/N•.*,ÿüB§//N•)_ÿü F P!lÿü†B§B§//BgBg?:$?:  4H&_,ÿû gš LYˆ-HÿÆ nÿÆ P P-Hÿ nÿÂ"nÿÂ0) ÁèÜ\@8HnÿðB§B§/<ÐHÄ/ HB§B§// HnÿðB§Nºö -_ÿä F P!Kz F PB¨‚B®ÿÒB§B§B§//.ÿä?</.ÿÒ mÌHhÿâNºùB S/(,N•-_ÿà`bHlÿ€Hnÿð mÌ/(þÖN•B§B§// HnÿðNºú-_ÿÖ F P!K‚ F P!KzB§B§B§//.ÿÖ?< mÌHhÿâNºü† S/(,N•-_ÿÜ F PB¨~LßðN^.ŸNuJoðNVHz^HzP mˆHhýl?<Bg?<’ Ä$?<   J?< ?<  ò?< ÌNºþ@?< œ Ä$N^NuTWINDOW TVANWINDJoðNVHç&n fB§/. mˆAèÿ / :D&_(S)n&9|* n P9hV,B§/ /./.?.  -_LßN^ _ÞüNÐJoïVNVÿRHç,. F P-h&ÿô F P=h*ÿø0.ÿøHÀ nÿô P hR P°¨nöB§0.ÿøHÀ/ nÿô P/(RN• _* E Pp0Aÿ=Aÿú F P/(N• F P/( N• F(P LXˆ-HÿRGì nÿRJl,WÀ nÿøWÁ"nÿô"Q4,,´iVW€D€B+B+ mˆ hÿü P6¨ mˆ hÿü Ph0.ÿú�l,8 E PJh^À¸nÿúWÁÀg" E P\ˆ-Hÿìp//.ÿì F P/( N•`è E PJhl† E P\ˆ R€Ð¼…-@ÿZ~ nÿZ¾Pn< nÿZ ÁüAðü-HÿV nÿV0,,°Pl nÿV0�l,8 GoSG```.RG`¼ nÿZ> nÿZ ÁüAðü-HÿV nÿV6¨ nÿVh E P\ˆ R€2,,HÁÒ€-Aÿ^Aîÿf R€-@ÿb/.ÿ^/.ÿb? "LpAîÿf„Aîÿf-Hÿìp//.ÿì F P/( N• F(P Ðl,9@,0,,°nÿúmBl,0.ÿøR@9@*` F P/( N•LßðN^.ŸNuJoðNVHz4Hz& mˆHhÿ BgBg?<. Ä$?<NºýŽ Ä$N^NuTTKWRITETTERMWRIJoîðNVþâHç(mˆ&mÐJ®fB§/. Aìþ / :D-_B§/./. Hzú/. 0.Bg/N• Bg/N• ?<éHnþò/+þ„N• B§Hnþòp/p//N•*B§Hnþò/<,p//N• ( lÿü P0(Ú°lý>_ÀD@ÿ÷B§Hz‚.ÿ÷/N•*B§Hzl.ÿ÷ /N•*?<êHnþò/+þ„N• B§Hnþòp/p2//N•*B§Hnþò/<,p(//N• (?<ëHnþò/+þ„N• B§Hnþò lÿü P(è/N•*?<ìHnþò/+þ„N• B§Hnþò lÿü P(è /N•*?<íHnþò/+þ„N• B§Hnþòp2/pd/?</N•-_ÿò LYˆ-Hþì nþì P P-Hþè nþèAèî-Hþä nþäg, nþè0(ÚS@=@þâBF` nþä0æ@ 0fRFi¼nþâoè`BF G P1FCîþò Ù0‘Hnþò/.ÿòN•-GLßðN^ _Þü NÐ13280 TERMJoîöNVþèHç,.(mÐ?<éHnþø/,þ„N• B§Hnþø/N• &_ mˆ hÿü P"mˆ0(Ú°iý>nB§HzH/ N• / N•`B§Hz0/ N• / N•?<êHnþø/,þ„N• B§Hnþø/N• &_ mˆ hÿü P(èg$?<ëHnþø/,þ„N• B§Hnþø/ N• / N•`"?<ìHnþø/,þ„N• B§Hnþø/ N• / N•?<íHnþø/,þ„N• B§Hnþø/N• * mˆYˆ-Hþò nþò P P-Hþî nþîAèî-Hþê nþêg, nþî0(ÚS@=@þèBG` nþê0æ@0fRGi¾nþèoè`BG F P1GCîþø Ù0‘Hnþø/N•LßàN^.ŸNu13280 JoëàNVûÒHç*.(mˆ&mÐ?<éHnþô/+þ„N• B§Hnþô/N• -_ÿø?<êHnþô/+þ„N• B§Hnþô/N• -_ÿü?<ëHnûà/+þ„N• ?<ìHnüà/+þ„N• ?<íHnýà/+þ„N• B§Hnýà/N• (Hnþô/N•BgHkþŒ/. N• g¨BgHz" nÿø P/(>N• g lÿü P0(Ú°lý>o?<P ` lÿü P0(Ú°lý>n?<„ BgHnûà nÿü P/(>N• g lÿü P|è` lÿü PB(èHnþô E PHh> "ügHnþôHzŽ "èg<Bg  `ø LYˆ-HûÜ nûÜ P P-HûØ nûØAèî-HûÔBG.þô@ÿ=@ûÒ|`Aîþô0`@ÿ�|0"Ãü Ò@>RFi¼nûÒoÜ<JF^À E P¼h(< nûØ0(ÚS@°Gm, nûÔ rA4BæHAðpþå8å)Áƒ E PÞh<`Æ> nûØ0(ÚS@°Gm. nûÔ¼ nûÔ rA4BæHAðpþå8å)ÁƒÞF`Ä`BgHkÿÂ/. N• g/N• /. / mˆHhþ ?<?<  ÀL E P¼hHz0 mˆHhþ ?<Bg?<D Ä$?< Nºüö?< NºûT Ä$N^NuTDIALOG TTERMDIAJoðNVHz,Hz mˆHhÿDBgBg?<Œ Ä$ Ä$N^NuTOBJECT TTERMLINJoïîNVÿìHç(mˆB§B§B§/,ÿüN•?<è?< :d&_ lÿü P!K lÿü P0(ØS@=@ÿìBG`B§ 8, lÿü P å@!† RGi¾nÿìoàLßÀN^NuJoïøNVÿøHç.. J‡fB§/. mˆAèÿX/ :D.-G n(PB¬9|Ø9|PÚ9lØÜB¬âB,æB,ç|B,B,B,||è9|ê9|ìGìîBB«B«B« B«B«GìB7|?+ Š¸Hnÿø Šä0<ÊHÀ�îÿü mˆ1@ý>Gì6®ÿþ7nÿø7nÿú7nÿü0.ÿøÐnÿþ2.ÿúÒ@7A)lL߀N^ _PONÐJoðNVÿüHzÎHzÀ mˆHhÿX?<Bg?< Ä$ +N ,v .Š Ä$ mˆB(ý4 mˆB(ÿû mˆB(ÿ‰ mˆB(ý5 mˆB(ý8 mˆB(ý7 mˆB(ý6 mˆB(ý3 mˆB(ý2 mˆAèÿ€-Hÿü nÿüBh nÿüBP nÿü1|Ð nÿü1|l mˆ/B§B§"mÄ/)ÿúNºþ:  _!@ÿüN^NuTOBJECT TSTDTERMJoðNV/ (m”Aìÿ4)Hÿ8 mˆAèÿl)Hÿ4Aìÿ8-H(_N^NuJoðNVHzbHzT mˆHhÿlBgBg?< Ä$?< >\ >š ? ?: ?” ?ô "œ "Ú # #€ Ä$Hz6B§ Ä N^NuTTERMINATPASTERMJoðNV mˆhý8N^NuJoï®NVÿ¦Hç(mˆAîÿ®Cúrp ÙS@nú0‘?. 4 LYˆ-Hÿª nÿª P&P+ ,ÿû À@+ À,ÿû@B§ ŠÔ)_ý@ LYˆ-Hÿ¦ nÿ¦ P&P9kÚýfAìý\Cë Ù Ù0‘)kýX)kýT m”/B§Nºþ   _!@ÿNú$¨Nú#ÊNú%žJoðNV mÌ.H€ÁüAèÿBHp Š</. /. (N^ _Þü NÐJoîüNVþôHç mˆYˆ-Hþø nþø P&P+ gŠ<?<ÿ80+Ø�kâ? %¤ mˆYˆ-Hþô nþô P(P,r°VÀ lVÁ€ lVÁ€g(B.þü mˆ0,Ú°hý>n=|þþ`=|þþ/.þü !¤AîÿCúp ÙS@núHnÿ XLßN^Nu *** Program Terminated ***JoïþNVÿúHç mˆYˆ-Hÿú nÿú P&PIë0,Áî\@> R@2,HÁƒü�A�lHÀ/ mˆ0(ýH�lT@HÀ/ H¸B@+??<?< "?<T� Š´?< Š¸?< Š¼?<< Š4L߀N^ _TONÐJoîäNVþâHç(mˆHlýD Š€=|þê=|þè=|þì mCîþîAèÿì"Ø"ØHnþä Š lÿü PB@(??<?< "?<T� Š´z0,ýH�|< lÿü P0(ÚS@=@þâBG`¢ HÀ�üH@J@J@f@ T@HÀ/ Z@HÀ/ H¸?Aîþö/ z lÿü P?( Š¸Hnþö ŠP8=|ÿþ` Q@8=| ÿþHÅ/HÄ/ H¸B§0.ÿþD@HÀ/ H€ lÿü P0æ@Aèð0g?NºþJ lÿü PÚh RGi¾nþâoÿZLßðN^NuJoðNV< mˆ hÿü P/(Þ ®N^.ŸNuJoïæNVÿÞHç n CîÿøJ"Ø"Ø*.&mˆ0+ýRHÀ°®ÿü\À2+ýPHÁ²®ÿø\ÁÀgX E P,(=nÿþÿê=nÿúÿèBg/.ÿèHkýD Š\À+ý3g¬ KYˆ-Hÿâ nÿâ P P-HÿÞ nÿÞIèî0.ÿê]@ nÿÞHÀ�è > nÿÞ0(ÚS@°Gmj 2æA4WÁDH�A4BæHAôpþå8å)Áƒ0æ@4g¼`*J¬WÀJ¬WÁÀJ¬ WÁÀJ¬WÁÀJ¬WÁÀgB?Nºüö`‚ mÐ/Bg"F"Q/),HkþÔ Àø _À(ÿ¾gHnÿø F P/(,N•`L/N•HzþŠ//N•HnÿøHnÿì *B§B§B§B§/N•/?</.ÿìHnÿø < F P/(,N•(LßðN^ _PONÐJoïüNVÿüB§B§B§ mˆ/(ÿüN•B§?</. D-_ÿü/.ÿüN•N^.ŸNuJoïðNVÿìHç&mˆ kÿü P?( Š¸ kÿü PB@(??<?< "?<T� Š´ kÿü P"kÿü"Q0)Ðh8?<? ŠÈHz$ ŠP n P h P-hÿð nÿð P ht P=hÿîz`²B§HÅ/ nÿð P/(tN• _-Pÿô nÿô(P~ l P=hÿì|`HBgHÆ//,N• _ f0¾FlHÇ/ �G?/,N• kÿü PØh ?<? ŠÈ R@>RFi¼nÿìo² l PHǾ¨lHÇ/ l PHÇ (�‡R€?/,N•REiºnÿîoÿJ kÿü P?( Š¸ kÿü PB@(??<?< "?<T� Š´LßðN^.ŸNuINPUT: JoïÌNVÿÊHç. H€gS@g�S@gŠ`†B§/.N•* n P-hÿøB§B§/?<?< :d-_ÿè n P&h mˆ hÿü P h P=hÿÖ SIè8=lÿÊ>`ÀJGl&B§ ÐnÿÖR@HÀ/ mˆ hÿü P/(N• _(` mˆ hÿü P å@(0 ¾lVÀJlVÁ€gnB§//N•-_ÿä nÿä P\ˆ-HÿÜ D Pp0Aÿ<¾lfB§HÆ/0,HÀ/ :< <`RF nÿÜ ¼ nÿÜp†Aîÿä//.ÿèN•RGi¾nÿÊoÿ`¾Tf Ep¬`.¾lf =lÿÎ|` E ¼ RFi¼nÿÎoì` EpB0RGi¾nÿÒoþÀ D P-hÿÔ/.ÿÔN•HzýÌ//.ÿÔN•B§B§B§/.ÿü/.ÿø?< D P/(@ mÌHhÿâ < nÿÔ P/(,N•-_ÿà` B§?. / mˆHhþÔ?<?< ÀL-_LßðN^ _\ONÐJoïîNVÿê/ n CîÿøJ"Ø"Ø(mˆJ¬ÿ|gd lÿ| P ¨ôlT mÐAèÿ´-Hÿê=nÿþÿð=nÿúÿî|ÿô nÿê=hÿò nÿêh ÿõ nÿêh ÿö nÿêh ÿ÷Aîÿî//,ÿ|N•(_N^ _PONÐJoïôNVÿôHç n CîÿøJ"Ø"Ø(mˆJ¬ÿ|g B§/,ÿ|N•&_0+HÀ°®ÿüVÀ2HÁ²®ÿøVÁ€g Hnÿø/.N• LßN^ _PONÐJoïôNVÿôHç(mˆJ¬ÿ|g> lÿ| P ¨ôl. n PCîÿôAè"Ø"ØHnÿô/.N• B§/,ÿ|N•&_B+LßN^.ŸNuJoðNV?..... mˆ hÿü P/(N•N^ _ÞüNÐJoðNV nÉf& mˆ hÿü P"n"Q iWÀ€(@@`&Bg?./. /. mˆHhþð?<?< ÀL_N^ _Þü NÐJoðNVHç(n>. B®0@Ég` B§B§B§/ N•? T/( /  -_`B§?/ mˆHhþð?<?< ÀL-_L߀N^ _\ONÐJoðNV n PJ¨g n P/(N• n P/(N•/. mˆHhÿ0?<?< ÀLN^.ŸNuJoðNV/ (mˆ0.@lg8@_g:S@g6@ågTS@gfS@g~U@g$@gS@g$S@g0@bgtS@g~`”B.`²|`¨,ý3 @`˜lý3`Ž| lÿü P"n ¨ç`v| lÿü P(ç  n €`Z lÿü Ph`L,ý8 @`>,ý5À,ý8 lÿü PÀ(@`&Bg?./. /. mˆHhýl?<?<  ÀL_(_N^ _Þü NÐJoðNV< mˆ hÿü P/(Þ ®< n/(ÿ¾ n/(ÿÂNºíN^.ŸNuJoðNV< mˆ hÿü P/(Þ ®N^.ŸNuJoðNVÿü/ < n/(ÿÜ ® mˆYˆ-Hÿü nÿü P(PBgBgHlÞ  B</,Þ ®(_N^.ŸNuJoðNV mˆHhÿ€ Š€N^.ŸNuJoïºNVÿºHç&n8. (mˆB®B§/ N•* S.(z S,(‚0@ggRY@gN@`gÀS@gL@åg S@gS@gU@gÊ@g^S@gÔS@gÎ@bgS@gŠ`�,ÿ‰À,ÿûg HnÿÈ Šü/,ÿö Š Š´B,ÿ‰/.ÿÈ Š Dgf&,ý3gBgBg?<ÿÿpÿ//N•',ý4 gNºëØB§?/ mˆHhýl?<?< ÀL-_`6 mÐ/(ÿ°N• mÐ hÿ° P"mÐ"iÿ°"Q)L€(JgB§B§/? G P/($ 4-_`?<! mÐ/(þ„N•`Þ lÿü P|ç`Î lÿü PB(ç`À SJhxg SBhx S/(tN•`¤/N•BnÿÀ lÿü P h P (D€=@ÿ¾ lÿü P0(ÚS@=@ÿÄ lÿü P0(ØS@=@ÿÂB§B§B§/ G P/($?</.ÿ¾ mÌHhÿâ < G P/(,N•-_ÿº/.ÿ¾/.ÿÂ</.ÿºN•Hzý//N•` F P h, P hg†/N•Hzý,//N•B§B§B§/ F P/($?< mÌHhÿâ  F P/(,N•-_ÿøB§B§B§/ G P/($?</.ÿ¾ mÌHhÿâ < G P/(,N•-_ÿº/.ÿø</N•`p SJ¨ŠfZB§/?<ÈBgBg<  -_ÿì S!nÿìŠ nÿì P hx P-h$ÿèB§B§//.ÿè ,-_ÿä S!nÿäŽ/.ÿä/.ÿèN•` S/(ŽN•  S/(Š/ N•`ô DÒf=|(ÿÆ`=|ÿÿÿÆBgBg?.ÿÆ0.ÿÆD@HÀ//N•' DÒWÀD@ý3`¸ lÿü P( g8<?<ÿ8 lÿü P?(Ø %¤ lÿü P-hÞÿÜ lÿü PB¨âHzûÚ//N• lÿü P( g.Hzü //N• F P-h$ÿà nÿà P/(R Šp nÿà PB¨R|ý8`(B,ý5B,ý7`B§?/ mˆHhýl?<?< ÀL-_LßðN^ _\ONÐJoðNV mÐ(þí g. /. mˆHhýl?<?< ÀLN^ _\ONÐJoðNV/ (mˆ|ý5 lÿü P(g|ý7(_N^.ŸNuJoðNV mˆ|ý6N^NuJoðNV mˆB(ý6N^NuJoïþNVÿþHç>.&mˆHnÿþ< "h JGl kÿü P>(ä kÿü P¾hÚn, kÿü PIèî¼ rA4BæHAôpþå8å)Áƒ ÆHnÿþBg "hL߀N^ _TONÐJoïþNVÿþHç>.&mˆHnÿþ< "h  kÿü PIèî. gBB¬B¬B¬ B¬B¬`bJGl kÿü P>(ä kÿü P¾hÚnH rA4BæHAôpþå8å)ÁƒJ¬WÀJ¬WÁÀJ¬ WÁÀJ¬WÁÀJ¬WÁÀgB ÆHnÿþBg "hL߀N^.ŸNuJoïÆNVÿ²Hç nCîÿøJ"Ø"Ø(mˆHnÿö< "h  LYˆ-Hÿ nÿ P&P+f€nÿøç.ÿù @nÿúnÿû| lÿü P h P*(z :P lÿü P/(N•.ÿúg| lÿü P0( ã@ lÿü P2(Ò@>B§Bg?Bg?:6Bg?:0?:./N•,HnÿÚB§B§/<Ð/<l HB§B§B§/,ÿüN•/HnÿÚ -_ÿÖ lÿü P h P!F~.ÿûgÆ,ÿû J.ÿüVÁ .ÿüV€@g lÿü PB(`˜ E P.ÿüH€ã@"E"Q.ÿüH�ãA40”q>Jnÿþo žnÿþJGlBG`0.ÿþÐGD@>JGoBGB§.ÿü?Bg?:XBg?:P?:L/N•,Gìÿü S P-Hÿ¾ nÿ¾"nÿ¾0) ÁèÜ\@8HnÿÚB§B§/<ÐHÄ/ HB§B§B§/,ÿüN•/HnÿÚB§ @-_ÿÒ lÿü P h P!FzB®ÿÊB§B§B§B§/,ÿüN•/.ÿÒ?</.ÿÊ mÌHhÿâ < F P/(,N•-_ÿÎGìÿü S P-HÿºBgBg nÿºHhÞ  BHlýL nÿº?(à nÿº"nÿº0(Þ�i nÿº�h??.ÿè?.ÿä Š(?< mÐ/(þ¼N• ?<?< mÐ/(þ¼N• ?<?< mÐ/(þ¼N• mÐ/(þ¼N• LYˆ-Hÿ¶ nÿ¶ P&P+ ,ÿû À@+ À,ÿû@+gB+ç.ÿúg  LYˆ-Hÿ² nÿ² P&P+g&?< mÐ/(þ¼N• ?<?< mÐ/(þ¼N• `V+g&?< mÐ/(þ¼N• ?< ?< mÐ/(þ¼N• `*+g$?< mÐ/(þ¼N• ?< ?< mÐ/(þ¼N• mÐ/(þ¼N• :L Æ,ÿûg/,ÿö ŠHnÿöBg "hLßðN^.ŸNuJoïâNVÿØHç nCîÿôJ"Ø"Ø"ØHnÿì< "h  mˆYˆ-HÿÞ nÿÞ P(P .2ÿô_À n„ÿö_Á€g*.ÿôH€°lØo6.ÿôH€S@=@ÿÜ<,Ø`B§ 8* mˆ hÿü P å@!… RFi¼nÿÜoÜ.ÿôH€9@Ø.ÿôH€°lÜo”.ÿôH€9@Ü l P hz P.($.ÿôH€Áì \@8 G PHhBB§B§/<ÐHÄ/ H/N• BgBgHnÿâ  B mˆHhýL?.ÿä0.ÿâ�l�l? G P?( G P?( Š(?,ä?,âHlÞ  B0,Ú°nÿög?.ÿöNºX mˆYˆ-HÿØ nÿØ P&Pnÿøè7nÿúê7nÿüìnÿþæHnÿìBg "hLßðN^.ŸNuJoïþNVÿþHnÿþ< "h ¬(B§ mÐ/(þ„N•  mˆ(ÿûg mˆ/(ÿö ŠHnÿþBg "hN^NuJoïúNVÿøHç&n(mˆ< kÿü P/(,N• lÿü P0(ÐlýL lÿü P2(Ò@=Aÿü?<?.ÿü ŠÈ lÿü P0(ØS@=@ÿøBG`4 lÿü P å@/0   lÿü P0( Ðnÿü=@ÿü?<?.ÿü ŠÈRGi¾nÿøoÆ< kÿü P/(,N•L߀N^.ŸNuJoïüNVÿü mˆ hÿü P h P-hzÿüHzÿ&//.ÿüN•N^NuJoïøNVÿøHç(n&mˆ< lÿü P/(,N•Jll0B§ kÿü P h P0,HÀШR€/ kÿü P/(N• _.` kÿü P0,å@.0 Bg?,Hnÿø  B?.ÿú?.ÿø ŠÈ/ < lÿü P/(,N•L߀N^.ŸNuJoïüNVÿü mˆ hÿü P h P-hzÿüHzÿ8//.ÿüN•N^ _TONÐJoïòNVÿêHç:.&mˆ kÿü P h P,(z KYˆ-Hÿî nÿî P(PºlÚgÒ9EÚ7Eýfºký>n~`~9G7GýZ7GýV9G? Š¸Hnÿø ŠäAì-Hÿê nÿê0®ÿþ nÿê1nÿø nÿê1nÿú nÿê1nÿü0.ÿøÐnÿþ2.ÿúÒ@ nÿê1AAëý\Cì Ù Ù0‘BgBg DHkýL?,à0,Þ�l�l? F P h$ P?( F P h$ P?( Š(?< /N•LßàN^ _TONÐJoïþNVÿþHnÿþ< "h BgNºTgBn `=|¢ HnÿþBg "hN^.ŸNuJoïþNVÿþHnÿþ< "h Bg/. NºêgBn`=|£HnÿþBg "hN^ _PONÐJoïþNVÿþHnÿþ< "h BgNº¬gBn `=|¤ HnÿþBg "hN^.ŸNuJoðNV mÐ hþþ PJ¨WÀD@ N^.ŸNuJoïþNVÿþ/ (mÐHnÿþ< "hJ¬þþgd lþþ PJ¨gX  mˆ|ý4NºÜÈB,þíBg/,ÿN• g B¬ÿ/,ÿ N•Hzÿz//,þ„N• mÄ|ÿó</,þ„N•(_N^.ŸNuJoïúNVÿúHç(m”Hnÿú Šü,ÿÿg ¢|þŠB,þ‹Blþ€B,ÿÿ,þ‹g |`ˆHlþŒ ˜BgHlþŒHnÿÿ< šAìþ‚Cìþ° Ù ÙHlþ‚?< ?<  Š0BgHlþŒHlÿZ?< Bg  tg0BgHlþŒHlÿZ  €?<Nº\?,þ„0,þ€Ðlþ‚? ŠÈ|þ‹G/.ÿú ŠL߀N^NuJoïúNVÿúHç(m”,þ‹g8Hnÿú ŠüBgHlþŒHlÿZ  |HlþŒHlÿZ  p/.ÿú ŠB,þ‹|`B.L߀N^NuJoïþNVÿþHç(m”BgHlþŒHlÿZ  |BgHlþŒHlÿZ  €AìÿZ/ ŠHlÿj Š€?,þ„0,þ€Ðlþ‚? ŠÈL߀N^NuJoïþNVÿþHç(m”0,þ€ÐlÿŠ>0,þzÐG2,þ~ãAÒ@²lþ†mNºÿt` ?,þ„? ŠÈL߀N^.ŸNuJoïôNVÿôHç&n(m”,þ‹ gB. `ú| @ÿJ@n`îHnÿü ŠüAìÿZ/ Š@ÿ:p3AÿA g UAgSAg`./NºÿF~SE`$Nºþà~SE`8,ÿŒ/Nºÿ,?Bg ŠÌ~SE`~Bg/ ?? ŠÄ0,ÿŒÐ_°lþˆn / ?? ŠT`\<@ÿ°FmPBg3`@ÿ? Š¨0,ÿŒÐ_°lþˆo",þŠg/NºþÄ3`@ÿ? Š4`<<è`3`@ÿ? Š4RF`¦/.ÿü ŠLßðN^.ŸNuJoïøNVÿøHç(m”Hnÿü ŠüAìÿZ/ Š?. Š¸Hlþx Šä0,þzÐlþx2,þ~Ò@>VG �lþ€<9Gþ€ ÐlÿŠ2,þzÒ@0,þ~ã@ÐA°lþ†mNºýÀ`Bg? ŠÌ/.ÿü ŠLßÀN^ _TONÐJoðNV m”nþŠN^ _TONÐJoðNV m”Hhþ‚?.?. ?. ?. Š(N^ _PONÐ�'Þ™²› +hPASLIB UNITSTD GRAFUTILUNITHZ STORAGE QUICKDRAHWINT FEDEC FONTMGR EVENTS WINDOWS FOLDERS MENUS FLDUT WMLSTD WMLCRS WMLGROW WMLSB INTERNATALERTMGRUNITFF UNITCS UNITFILEUNITFMT UUNIVERS FMGRUTIL*PMM +PMDECL ,UNITFIGA-SYS1LOCK.UCLASCAL/IOPRIMIT8SHELLCOM9PROGCOMM:DBENV ?FIELDEDIGSCRAP IFILERCOMKPRSTDINFMSTDUNIT XBLKIOINTfBLOCKIO gPASHEAP h˜Bø x¢(€?ÜNù7šìPASLIB1 LWWORK OTHRWORKACTIVATEOPENSEG1INcold NEVER alert WMcold SMcold SUcold "SCROLL &UT 3SYSINIT APMMSeg CWORKSET DGRAFSEG EFEcutCopFFEcold GSBcold HOPENSEG2IMOVERS KALRTDIALNOPEN1LW OPASIOLIB`SgPASinibSULib c€MainProg „ x¢…?ÜJoïþNVÿü/=m¦¼ÿüBG` ÁüZAí©¾HpBg À RGi¾nÿüoâ.N^NuJoïüNVÿü ÆÐHm°Ð?-Ÿ¸ ",-ž¸@ÿJ@o Hm°ÐHmž¸ "¨.gNºÿ�Hm°Ð Æ, "0N^ _TONÐJoðNV/-  À€/- HzFBg Àˆ/-  À€/- HzBg Àˆ ÆX<NºÿtN^ _\ONÐtype SPACE to exit!The heap is full. User Croak !! JoïNVÿ nCîÿJp@"ØS@nú/-  À€J-þþf„/- HzØBg Àˆ/- <?< Àx/-  À€Jm°Öl/- HzbBg Àˆ/-  À€`:/- Hz‚Bg Àˆ/- 0-°ÖHÀ/?< À|/- <.?< Àx/-  À€`ž/- Hz*Bg Àˆ/- <?< Àx/-  À€Jmž¶l/- HzàBg Àˆ/-  À€`X/- Hz¾Bg Àˆ/- 0-ž¶HÀ/?< À|/- Hz”Bg Àˆ/- 0-ž¶ã@AíŽ20SAHÁ/?< À|/-  À€/-  À€/- HzHBg Àˆ/- HnÿBg Àˆ/- <.?< Àx/-  À€/-  À€ ÆX<NºýžN^.ŸNu Error is...  item At menu At the beginning of the fileFatal error in Menu File.At alert number *Fatal error in Phrase File, Alert Section.JoïøNVÿø nCîÿúJ"Ø2�.ÿüèH@J@WÀD@ N^.ŸNuJoîNVþ nCîÿJp@"ØS@nú/-  À€/- HzÔBg Àˆ/- 0-¦¼á@Aí¦¾HpBg Àˆ/-  À€/- Hz”Bg Àˆ/- Hm¤�Bg Àˆ/-  À€/-  À€/- Hz`Bg Àˆ/- 0. HÀ/?< À|/- HnÿBg Àˆ/-  À€Hz ?. Aîþ/ ÆÜHnþNºüÐN^ _\ONÐ OSErrs.ErrError Output file is: Input file is: JoðNVJno"Hm°Ð?-¦º/. 0.HÀ/Hm°Ì<B§ "ÈJm°Ðo ?-°ÐHzNºþ´N^ _\ONÐ writing the output file!JoéüNVùüHçBg À@g<NºûD~Jm¦¼lHz$Nºü0-¦¼ÁüZAí©¾Hp/.?<ÿ Àp0-¦¼ÁüZAí©¾Hp Àh0-¦¼ÁüZAí©¾Hp À¨g`Jm¦¼^ÀÀ-þÿg4/- Hz°Bg Àˆ/- /.Bg Àˆ/- <)?< Àx/-  À€0-¦¼ÁüZAí©¾HpBg À Sm¦¼B`¶ n@ÿJ@o¦ np0Aÿ A$fT np0Aÿ A~f`Jm¦¼^ÀÀ-þÿg4/- HzúBg Àˆ/- /.Bg Àˆ/- <)?< Àx/-  À€0-¦¼ÁüZAí©¾HpBg À Sm¦¼B`ÞHz¨/. "T<JFf n@ÿR@<B.þü`BHz€/.? n@ÿ�FR@?Hnýü "HnýüHnüü?< " AîþüCîüüp@ ÙS@nú n//.?< U@?Hnûü " _Cîûüp@ ÙS@nú/.Hz ?<ÿHm‰^ Æ¸-þÿg4/- HzÚBg Àˆ/- /.Bg Àˆ/- <)?< Àx/-  À€Rm¦¼ m¦¼oHz€NºùÊ0-¦¼á@ nEí¦¾Còp@"ØS@nú0-¦¼ÁüZAí©¾Hp/.?<ÿþ À< Àü;_°ÐJm°Ðo ?-°ÐHz/.Hnúü?< " HnúüNºûÊ.þü@ÿJ@ov0-¦¼ÁüZAí©¾Hp/.?<ÿ Àp0-¦¼ÁüZAí©¾Hp Àh0-¦¼ÁüZAí©¾Hp À¨gHz|HnþüHnùü?< " HnùüNºøö n/Hnþü "ègŠB`< np0Aÿ A;fB`$ np0Aÿ A~f/.?<?< "gü~LßÀN^.ŸNu*Include file does not have a marker named  opening include file Include files nested too deep(Begin Include File .text$~(Stop Reading Include File (End Include File *A line with just a zero should precede EOFJoïüNVÿúHçB n@ÿ=@ÿú~` n0p@ÿ @ f RGi¾nÿúoä|F LßÀN^.ŸNuJoðNVRm¡¸-¡º@ÿ°m¡¸l;| ¡¶`0-¡¸Aí¡º0Aÿ;A¡¶N^NuJoðNV nCí¡ºp@"ØS@núBm¡¸Nºÿ¨N^.ŸNuJoðNVpAí¡´­¡·Hm¡´Hm ´- ´@ÿR@? "HzÎHm¡º0-¡¸R@?-¡º@ÿ�m¡¸?Hnþþ "HnþþHnýþ?< " HnýþNºõö~`p-þÿg/- Hm ´Bg Àˆ/- < ?< ÀxB|` H† Áü AíŸÐHpHm ´ "ègR oÚJfHz&Hm ´Hnüþ?< " HnüþNºõ‚GLßÀN^NuUnknown keyword: Extra characters: JoïüNVÿüHçBFBG m ¡¶fNºýÌ`ò m ¡¶VÀ m ¡¶VÁÀgH m0¡¶\À m9¡¶_ÁÀg Áü 2-¡¶Ò@’|0>RFNºýŠ`J-þþf Hz¾Nºôâ`HzŽNºôØ`¤JFfJ-þþf HzdNºôÄ`Hz8Nºôº-þÿg /- HÇ/?< À|/- < ?< Àx=GLßÀN^Nu!Menuid or command number expectedAlert number expected$Nondigit in menuid or command number*Nondigit in alert number or version numberJoïüNVÿúHçBgNºþž> GlHz Nºóܾm°ÖoHztNºóÎ=m°Ôÿú|` ÁüAíоpf>`RFi¼nÿúoâHz Nºóž D@"n i1@LßÀN^.ŸNu"Can't equate to an undefined alertCan't equate to a later alertCan't equate to 0JoïþNVÿþ/ n(hBgNºüDH€S@gU@gY@g4S@g"S@g:`F LTˆPÿP�`@ LTˆPÿP `2 LTˆPÿP€`$ LTˆPÿPp` LTˆPÿP°`HzNºò°(_N^.ŸNu!Caution not followed by qualifierJoðNV/ n(hBgNºûšH€S@gS@g4S@g"S@g6S@g@S@gJ@ gR`X LTˆPÿP@`R LTˆPÿPP`D/.Nºþø`: LTˆPÿP0`, LTˆPÿP ` LTˆPÿP`lÿ`HzNºñê(_N^.ŸNu%Alert number not followed by severityJoïðNVÿðHçBBG`Èg S@ã@"ãA=¶ðð`Þ ã@IöðBB,BB|ÿÿ.ÿÿg¨BgNºú–H€@ kŠ @n‚ãH0;Nûh"*2<J`|B`f|¼`^|¼`V|¼`Nx|`D¸fHzdNºñ`6 €gB.ÿÿ`HzFNºðð` B.ÿÿz`B.ÿÿz/.NºüÜ`HzNºðÎ`ÿT € "ÂgHzêNºð´ ã@Iöð n&h0gS@g:S@gbS@gŠ`¬H€ KTˆ@íHPÿ?�P,H€ KTˆ@çHÿ÷�`~H€ KTˆ@éHPÿÏ�P,H€ KTˆ@åHÿû�`RH€ KTˆ@åHPÿó�P,H€ KTˆ@ãHÿý�`&H€ KTˆ@Pÿü�P,H€ KTˆ@ÿþ�RG Goþ4LßðN^.ŸNu missing stagebad word in stageextra ; Bad use of +JoðNV/ /. NºøZBgNºú4;_°ÖJm°Öod n0­°Ö(nBll÷ÿlûÿlýÿlþÿ/NºüÆBg/.Nºñt g$ nJhf/NºýnBgNºøN gHzNºï-þÿg/-  À€(_N^ _PONÐtoo many stagesJoîúNVþúHç(nB- ´ m^¡¶fNº÷b0-¡¶@!g˜@gpS@glS@ghS@gdS@g`S@g\U@gªS@g¤S@gž]@gfY@g6@ g$U@gN@g[@g"@ gU@g:`ªNº÷\`¬8¼ÿNºöð` 8¼ûNºöä`”0-¡¶�|02<ú’@8�NºöÌ`|8¼üNºöÂ`r m?¡¶f8¼þ`8¼ýNºöª m ¡¶VÀ m^¡¶VÁÀgNºöò`æ`@<-¡¶~Nºö„¼m¡¶f GlRGNºör`ìpò�G"’|7Ãü�AÐ|8€` ;|^ ´Nºö®`f8¼ m ¡¶VÀ m ¡¶VÁÀ m^¡¶VÁÀgNºö†`Ü m ¡¶fNºöx`ò m ¡¶WÀ- ´AÿJA^ÁÀgHzšHm ´- ´@ÿR@? "<- ´@ÿJ@WÀ TWÁÀD-þÿg€0�|@ÿãkF @n>ãH0;NûþìÚȶ¢ŽzfR>*î444ÚÆ²žŠvbN" <5-digit counter#9><4-digit counter#9><3-digit counter#9><2-digit counter#9><1-digit counter#9><5-digit counter#8><4-digit counter#8><3-digit counter#8><2-digit counter#8><1-digit counter#8><5-digit counter#7><4-digit counter#7><3-digit counter#7><2-digit counter#7><1-digit counter#7>  JoîþNVþüHç n CîÿJp@"ØS@nú(n l0R@.ÿAÿÒ@ AÐoHzpNºè† l "l0®.ÿ@ÿ=@þü~` Aîÿ0p@ÿ l "l"ÒQ€RGi¾nþüoÚ l.ÿ@ÿÐPR@ l0€L߀N^ _Þü NÐ Text too longJoîþNVþþ/.NºðÐBgHnþþNºù gJ nþþg?.þþHzF/Nºÿ nþþWÀ nþþþWÁ€ nýþþWÁ€g- ´@ÿ?Hm ´/Nºþâ`¨N^ _Þü NÐJoïøNVÿôHç0-ŽLS@=@ÿö~`Œ R@=mŽLÿô<`r å@Aí‰\Jp_À"åA$åBAí‰\60Aí‰\¶p ^Á$åBAí‰\Jp ^€g2 å@Aí‰\-pÿø å@"åAAí‰\Cí‰\#° å@Aí‰\!®ÿøRFi¼nÿôoˆRGi¾nÿöoÿp>-ŽL` å@Aí‰\Jpo;GŽL` SG GläBmŽLLßÀN^NuJoðNVHç&n (n6¼ lþüoh0,þüS@Aìÿ0Aÿ²nfP0,þüAìÿ0Aÿ6�0k°|nAúP2æIDA0ÿ <f0�| 6€Hlÿ0,þüS@??< "UlþüLßN^ _Þü NÐÿÿþJoîòNVþîHç/- HzÆBg Àˆ/-  À€;|ž¶;|ŽLHnÿNºé¶Jm¦¼l/- Hz†Bg Àˆ/-  À€`hBgHnÿNºî gÆ0-ž¶ã@AíŽBpHnÿNºîl0-ž¶ÁüŒAí�ÂIðBgNºð68ŸJTg"=|þú`&0.þúrS@A4BæHAôpþå8å)ÁƒRnþú n þúoÒHnÿNºé-þÿg/- HnÿBg Àˆ/-  À€.ÿ@ÿR@9@B§/-ŸÌ?, ˆ°&_ m ·èÿüfHzpNºäò0,S@=@þðBnþú` 0.þúAîÿ0Aÿ S0.þú�Rnþúi 0.þú°nþðoÖBg/-ŸÌHnþú .  g/- Hz:Bg Àˆ/-  À€0-ž¶ã@AíŽ20åA)‹0-ž¶ã@AíŽRpHnÿNºè6HnÿNºí,.ÿ@ÿ=@þüJnþüo~0-ŽLå@Aí‰\Iðmž·0-ž¶ã@AíŽpHz¼Hnÿ "T=_þúJnþúWÀ2.þüQA²nþú^Á€2.þú²nþüWÁ€g0-ŽLå@Aí‰\1¼ÿÿ`.;nþú¡¸Nºìl0-ŽLå@/BgNºîx2 Aí‰\1�0.þúS@=@þü0-ŽLå@Aí‰\JpWÀrAîÿ0Bÿ B.WÁtAîÿ0 Cÿ C-W‚ nþüWÂÂ4-ŽLåBAí‰\Jp _€g<0-ž¶ÁüŒ2-ž¶ãAAíŽ40RBrSBA6CæJÔ@Cí�ÄAñ pþç8ç)Áƒ?<\Hnþø/NºüP?</Hnþö/NºüB0.þüR@Aîÿ®þ÷0.þüT@AîÿB00.þüV@Aîÿ®þù0-ž¶ÁüŒAí�ÂIð0.þüÐlX@9@pAîÿ®þý-þÿg/- HnÿBg Àˆ/-  À€B§/-ŸÌ0.þüX@? ˆ°&_ m ·èÿüfHzâNºâd0.þüV@=@þîBnþú` 0.þúAîÿ0Aÿ S0.þú�Rnþúi 0.þú°nþîoÖBg/-ŸÌHnþú .  g/- Hz˜Bg Àˆ/-  À€0-ž¶ÁüŒ2-ž¶ãAAíŽ40åBÐBAí�Ê!‹RmŽL0-ž¶ã@AíŽRpJnþüfýZB§/-ŸÌ?< ˆ°&_ m ·èÿüfHzNºá  SB0-ž¶ÁüŒ2-ž¶ãAAíŽ40åBÐBAí�Ê!‹0-ž¶ÁüŒAí�È20XA0-ž¶ÁüŒAí�È1�0-ž¶ã@AíŽ p oHzœNºá>-þÿg¬/- Hz‚Bg Àˆ/- 0-ž¶HÀ/?< À|/- HzZBg Àˆ/- 0-ž¶ã@AíŽ20SAHÁ/?< À|/- Hz$Bg Àˆ/-  À€/- HzBg Àˆ/- 0-ž¶ÁüŒAí�È20HÁ/?< À|/- HzÌBg Àˆ/-  À€Rmž¶-þÿg/-  À€HnÿNºäFBgHnÿNºè´ gæ`ú®Smž¶Jmž¶o:/- HzvBg Àˆ/- 0-ž¶HÀ/?< À|/- HzFBg Àˆ/-  À€`/- HzBg Àˆ/-  À€SmŽLLßN^NuNo menus in file. menus read.All bytes longand is  items has Menu Too many menu items in one menuHAllocate failedheap big fuckup 2#heap big fuckup 1No menus read.Reading the menus.JoæNVö HçHnýôNºâìHnýôNºçâBgNºé¼;_þü-þÿg*/- HzÔBg Àˆ/- 0-þüHÀ/?< À|/-  À€HnýôNºâ¢HnýôNºç˜ m0¡¶\À m9¡¶_ÁÀg–BgNºé\;_þø-þÿg*/- HzfBg Àˆ/- 0-þøHÀ/?< À|/-  À€HnýôNºâBHnýôNºç8BgNºé;_þú-þÿg*/- HzBg Àˆ/- 0-þúHÀ/?< À|/-  À€HnýôNºáøHnýôNºæîz`¨ gHnýôNºáÜ-þÿg>/- H… Áü Aí£`HpBg Àˆ/- HzpBg Àˆ/- HnýôBg Àˆ/-  À€.ýô@ÿ @oHz^NºÝ®.ýô@ÿR@>` Aîýô¼ RG GoìH… é@Cí£”AñCîýô Ù Ù Ù ÙR oÿTBHnýôNºá2BgHnýôNºå  gÚ oHzÔNºÝ<-þÿgj n@/- H† Áü Aí¤HpBg Àˆ/- HzžBg Àˆ/- HnýôBg Àˆ/-  À€`$/- HztBg Àˆ/- HnýôBg Àˆ/-  À€.ýô@ÿ @oHz2NºÜ¶.ýô@ÿR@>` Aîýô¼ RG GoìH† é@Cí¤AñCîýô Ù Ù Ù ÙH† R@BgHnýôNºä´gþþH† S@@¤ Àü;_°ÐJm°Ðo ?-°ÐHz2NºÞ¢ -¤lHz‚NºÜ.|ÿý.ÿýgHnþüNºßì Àü;_°ÐJm°Ðo ?-°ÐHzòNºÞbBgHnþüNºä@ gÌHnþüHnþöNºìHJm°ÖfB.ÿý`¶BJm°ÔoT0-°ÒÁü2-°ÖAíвpn>=m°Òö~` ÁüAíÐ20²m°Öf;G°ÔxRGi¾nöoÜ  gHzœNºÛv  g0-°ÒR@;@°Ô;m°Ô°Ò mаÔoHz\NºÛN0-°ÔÁüCíÐAñCîþö Ù0‘Jnþú]ÀD@öBnö|þõ.þõgÄHnýôNºÞä Àü;_°ÐJm°Ðo ?-°ÐHzêNºÝZBgHnýôNºã8gB.þõ`ˆBgHnþöNºÝ gh-þÿg/- HnýôBg Àˆ/-  À€JnöoHzlNºÚ¨.ýô@ÿR@=@ö.ýô@ÿ=@öBG`Aîýô0p@ÿAîö"€pRGi¾nöoâ`HnýôHnö"HnöNºòN`ÿ8-þÿg/-  À€.þøVÀ.þøVÁ€.þøVÁ€.þøVÁ€/BgHnþöNºÜJ €@@ö.ögPJnöoHzˆNºÙô0-°ÔD@=@ö0.öD@=@ö0.öÁüAíÐ=pöJnömÞJnöWÀÀ.ögHz NºÙ´`&JnöWÀÀ.ögHzøNºÙž0-°ÔÁüAíÐ1®öB§/-ŸÌ?.ö ˆ°(_ m ¹èÿüfHz²NºÙj0.öS@=@ö BG` TCîö"±ppRGi¾nö oêg/-ŸÌ0-°Ôå@Aí°Ô/0 ˆ”0-°Ôå@Aí°Ô!Œ`üô/-  À€/- HzHBg Àˆ/- 0-°ÒHÀ/?< À|/- HzBg Àˆ/-  À€LßðN^Nu alerts read.All HAllocate failedno text for alert'the equated alert doesn't have any text/there should not be text after an equated alert.Only one line of text allowed when no severity reading the input file!More than 2000 alerts!,Alert numbers must appear in ascending order'Require nonblank text for cancel and okButn name too long  = Too many Butns definedSign name too long cacheBytes = cacheSize = Version number = JoðNVHm°ÐHm¤�Bg "èHm°ÐHm¤�Hm¦º?:6 "Jm°Ðo ?-°ÐHz NºÙÞ|, HÀ�üdH@J@"’@Ò|d>/- Hz�Bg Àˆ/-  À€/- HzPBg Àˆ/- HÇ/?< À|/- <.?< Àx/-  À€/- HzÌBg Àˆ/-  À€/- HzvBg Àˆ/-  À€/-  À€Jmþøo¼ mþøl8/- Hz,Bg Àˆ/- 0-þøHÀ/?< À|/- HzÒBg Àˆ/-  À€¾mþúo8/- HzÒBg Àˆ/- 0-þúHÀ/?< À|/- Hz”Bg Àˆ/-  À€ mþø]À¾mþú^Á€g*/- <?< Àx/- HzBg Àˆ/-  À€ ÆXLßðN^Nu?You might want to increase the value(s) an re-run this program.) is less than recommended.Your value of cache bytes (Your value of cache size (> arguments to alerts, and extra space for expansion.L (NOTE: the sugested numbers take into account alerts used for printing,)The suggested value for 'cache bytes' is *The suggested value for 'cache size' is 3.Largest alert = Average alert = indexSize = cacheFactor = overhead = 0cacheFactor*cacheSize + indexSize + largestAlert%MINIMUM cacheSize value = overhead + JoðNV;|ÿÿ°ÖBm°ÔBm°ÒBmž¶BmŽLBmþøB-þþNºí”Jmþøf/- HzBg Àˆ/-  À€`|þþNºæ€NºäúNºËŠ;|ÿÿ°ÖJm°Òoæ0-°ÒÁüAíÐ;p°Ö mÐVÀ-ÐèIAJAWÁ€gHzjNºÌL m°Ò]À mÐVÁ€g HzNºÌ0` mÐ"lHzêNºÌNºõJmž¶oL/- HzÆBg Àˆ/-  À€Nºö0/- Hz–Bg Àˆ/-  À€Aíþø/?<NºÏFAíþú/?<NºÏ8/- HzTBg Àˆ/-  À€NºôøNº÷Nº÷@NºøâNºù^`Hz NºË”N^Nu There are no alerts in the file.writing alertswriting alert header writing menusAlert #2 must contain text.5You forgot to define alert #2 as the Swan Song alert.:You forgot to define alert #1 as the default non-GetAlert.LNo cache size/cache bytes in input file; assuming old file format (no menus)JoðNV/-  À€/- Hz"Bg ÀˆBg-þÿ Æà_þÿ/-  À€N^Nu4Do you want to list tokenized input to the console?  "NV,_NU‡^Ÿí "8;|X¡´Aí¤Cút Ù Ù+|ok ¤;|?£xAí£„Cúh Ù0‘Aí£�Cúp Ù0‘Aí£œCúV Ù0‘Aí£¨CúP Ù ÙAíŸÜCúL Ù0‘AíŸèCú8 Ù ÙAíŸôCú& Ù0‘Aí Cú Ù0‘+|ask  Aí Cúú Ù0‘+|ok  $Aí 0CúÞ Ù ÙAí  boxArray[i].dist DO i:=i+1; { insert in order of dist } "FOR j:=nBoxes DOWNTO i+1 DO boxArray[j]:=boxArray[j-1]; "boxArray[i]:=myBox; "nBoxes:=nBoxes+1; END; PROCEDURE DrawBox(pt1,pt2: Point3D); { draws a 3D box with shaded faces. } { only shades correctly in one direction } VAR tempRgn: RgnHandle; BEGIN "tempRgn:=NewRgn; "OpenRgn; $MoveTo3D(pt1.x,pt1.y,pt1.z); { front face, y=y1 } $LineTo3D(pt1.x,pt1.y,pt2.z); $LineTo3D(pt2.x,pt1.y,pt2.z); $LineTo3D(pt2.x,pt1.y,pt1.z); $LineTo3D(pt1.x,pt1.y,pt1.z); "CloseRgn(tempRgn); "FillRgn(tempRgn,white); "OpenRgn; $MoveTo3D(pt1.x,pt1.y,pt2.z); { top face, z=z2 } $LineTo3D(pt1.x,pt2.y,pt2.z); $LineTo3D(pt2.x,pt2.y,pt2.z); $LineTo3D(pt2.x,pt1.y,pt2.z); $LineTo3D(pt1.x,pt1.y,pt2.z); "CloseRgn(tempRgn); "FillRgn(tempRgn,gray); "OpenRgn; "MoveTo3D(pt2.x,pt1.y,pt1.z); { right face, x=x2 } $LineTo3D(pt2.x,pt1.y,pt2.z); $LineTo3D(pt2.x,pt2.y,pt2.z); $LineTo3D(pt2.x,pt2.y,pt1.z); $LineTo3D(pt2.x,pt1.y,pt1.z); "CloseRgn(tempRgn); "FillRgn(tempRgn,black); "PenPat(white); "MoveTo3D(pt2.x,pt2.y,pt2.z); { outline right } "LineTo3D(pt2.x,pt2.y,pt1.z); "LineTo3D(pt2.x,pt1.y,pt1.z); "PenNormal; "DisposeRgn(tempRgn); END; BEGIN { main program } (* Must not do this in the QuickPort "{----- Initialization - Generic to all applications using QuickDraw -----} "QDInit(@heapBuf, @heapBuf[8192], @heapError); { Must do this once at beginning } "myPort := @GPort1; "OpenPort(myPort); *) "myPort3D := @GPort2; "Open3DPort(myPort3D); "ViewPort(thePort^.portRect); { put the image in this rect } "LookAt(-100,75,100,-75); { aim the camera into 3D sapce } "ViewAngle(30); { choose lens focal length } "Identity; Roll(20); Pitch(70); { roll and pitch the plane } "PenPat(white); "BackPat(black); "EraseRect(thePort^.portRect); "FOR i:=-10 TO 10 DO $BEGIN &MoveTo3D(i*10,-100,0); &LineTo3D(i*10,+100,0); $END; "FOR i:=-10 TO 10 DO $BEGIN &MoveTo3D(-100,i*10,0); &LineTo3D(+100,i*10,0); $END; "nBoxes:=0; "REPEAT MakeBox; UNTIL nBoxes=boxCount; "FOR i:=nBoxes-1 DOWNTO 0 DO $DrawBox(boxArray[i].pt1,boxArray[i].pt2); "Beep (2000, 500); { Beep tone of (1/2000)*10^6 == 500 cycles/sec for 6500 milliseconds } $(* Program has to use Beep in the QuickPort instead of Tone. Same parameters. $Tone(2000, 500); { Beep tone of (1/2000)*10^6 == 500 cycles/sec for <500 milliseconds } $*) "ReadLn; { Wait until RETURN entered before terminating program } END. 3Þ÷È÷Ó.½Î "˜6Fø€^9. ’D!$÷Ç�÷ð™àðšªð™Ü^  t�J0 "ELSE Writeln ('We can not get the docu¥öL÷È4÷Å "Writeln ('Do÷œL0÷Û÷ÂÒ̦˜Ì¦�÷È4Ì¥ö÷¬L.÷ÅLˆ÷Å÷Û÷ÅH̦˜ d̦�÷È4Ì¥ö̦�÷Ã̦÷Ãprogram BaudRate; 4{QuickPort sample program with text output only} 4{use all default setting in the QuickPort} uses ${$U QP/UQuickPort} UQuickPort, ${$U QP/UBaudRate } UBaudRate; begin "main1; "main; end. 3Þ÷È÷Ó.½Î "˜6Fø€^9. ’D!$÷Ç�÷ð™àðšªð™Ü^)) �J0*own the input'); „F�F�·÷̳r̳„÷Ãj÷ÃDÌ¥öL22÷È4÷Åp¸÷ÃÐ̳šÎ÷œL0÷Û÷ÂÒ̦˜Ì¦�÷È4Ì¥ö÷¬L.÷ÅLˆ÷Å÷Û÷ÅH2̦˜25(̦�÷È4Ì¥ö̦�÷Ã̦÷Ãprogram BaudRate; 4{QuickPort sample program with text output only} 4{call VWConfig to show input panel} uses $QuickDraw, {needed to compile UQPortCall} ${$U QP/UQuickPort} UQuickPort, {program has to use this if has text output} ${$U QP/UQPortCall} UQPortCall, {QuickPort procedures declaration} ${$U QP/UBaudRate } UBaudRate; var config : TQPConfigRec; begin "WITH config DO $BEGIN &tosaveBuffer := TRUE; {save lines in buffer} &passApplePeriod := TRUE; {pass apple '.' to main program} &showInputPanel := TRUE; {display input panel} &twoPanels := FALSE; {can only have one panel in this program} $END; "QPConfig (config); {main program should call this before any screen i/o} "Writeln ('This is a text sample program running in the QuickPort, with'); "Writeln ('text panel and input panel showing here. You can close down the input'); "Writeln ('panel to show most of the text panel.'); "Writeln; "main; end. 3Þ÷È÷Ó.½Î "˜6Fø€^9. ’D!$÷Ç�÷ð™àðšªð™Ü^  u�J0Y e. To skip'); ÷„F�F�·÷̳r̳„÷Ãj÷ÃDÌ¥öL??÷È4÷Åp¸÷ÃÐ̳šÎ÷œL0÷Û÷ÂÒ̦˜Ì¦�÷È4Ì¥ö÷¬L.÷ÅLˆ÷Å÷Û÷ÅH?̦˜?Oò̦�÷È4Ì¥ö̦�÷Ã̦÷Ãprogram BaudRate; 4{QuickPort sample program with text output only} 4{use VT100 in the QuickPort} uses ${$U QP/UQPortVT100} UQPortVT100, ${$U QP/UBaudRate } UBaudRate; begin "main; end. 3Þ÷È÷Ó.½Î "˜6Fø€^9÷’D!$÷Ç�÷ð™àðšªð™Ü^„’’œÙÞjú·’·ZÌ�÷ºLÌ�ÌÌ�,·ŽÌ�,Ì�÷»‚Ì�,ÌœÌÛÌXX÷¿ä÷¼Æé’œÙÜàœÒ.Ê÷ºLH"÷Û÷º‚Ì“–Ì“Ž÷¿äÌ’ô÷º\H ÷¼ÆHz÷¼Æ÷Û÷¼øXÌ“–XÔÌ“Ž÷¿äÌ’ô� Ì“Ž÷º¾Ì“÷º°Ì�¢ÌœDÌ�,BJò0  "j÷»2F�F�·÷ÿÿ̜̜.÷¼÷»òÌœDÎàÌœD8Ú8ÚÌÌ�÷¼~ÌœDÎàÌœD88,÷»ŽF�F�F÷»‚Ì�¾÷Û÷»àÎà÷»àÌPROGRAM MouseInput; USES $QuickDraw, {needed by this program, also needed to compile UQPortCall} ${$U QP/UQPortCall} UQPortCall, {needed to call mouse input routines} ${$U QP/UQPortGraph} UQPortGraph; {program has to use this if has graphic output} "PROCEDURE SetupPanels; "VAR config : TQPConfigRec; "BEGIN $WITH config DO &BEGIN (tosaveBuffer := TRUE; {save lines in buffer} (passApplePeriod := FALSE; {pass apple '.' to main program} (showInputPanel := false; {display input panel} (twoPanels := TRUE; (vhs := h; {vertical or horizontal split} (grPanelSize := -150; {initial width or height, if < 0, graphic Kpanel is below or right of the text panel} &END; $QPConfig (config); {main program should call this before any screen i/o} $WRITELN ('This is a sample program running in the QuickPort demonstrating'); $WRITELN ('the mouse input capability, with text panel and graphic'); $WRITELN ('panel all showing here. '); $WRITELN; "END; "PROCEDURE DrawNum (n : INTEGER); {n < 1000} "VAR n1, n2, i : INTEGER; &str : str255; "BEGIN $n1 := n div 100; $n := n - n1*100; $n2 := n div 10; $n := n - n2 *10; $i := 1; $IF n1 <> 0 THEN &BEGIN (str [i] := chr (n1 + $30); (i := i + 1; &END; $IF (n2 <> 0) or (n1 <> 0) THEN &BEGIN (str [i] := chr (n2 + $30); (i := i + 1; &END; $str [i] := chr (n + $30); $str [0] := chr (i); $DrawString (str); "END; "PROCEDURE drawcheckerboard; "VAR i : INTEGER; "BEGIN $TextFont (8); $i := 20; {draw checker board} $WHILE i < 364 DO &BEGIN (MoveTo (0, i); (LineTo (720, i); (MoveTo (0, i); (DrawNum (i); (i := i+20; &END; $i := 20; $WHILE i < 720 DO &BEGIN (MoveTo (i, 0); (LineTo (i, 364); (if odd (i div 20) then MoveTo (i, 12) else MoveTo (i, 24); (DrawNum (i); (i := i+20; &END; "END; "PROCEDURE PaintCircle (mousept : Point); {invert a cicle around mousept} "VAR r : Rect; "BEGIN $SetRect (r, 0, 0, 7, 5); $OffsetRect (r, mousept.h - 3, mousept.v - 2); $PaintOval (r); "END; "PROCEDURE Doit; "VAR i : INTEGER; &mousept, prepoint : Point; &aMouseEvent : TMouseEvent; &f, more, fromkeyboard : BOOLEAN; &ch : CHAR; &keycap : QPByte; &applekey, shiftkey, optionkey: BOOLEAN; "BEGIN $WHILE TRUE DO &BEGIN (VGetMouse (mousept); (WRITELN ('GetMouse = (h, v) ', mousept.h, mousept.v); (f := MouseButton; (WRITELN ('MouseButton = ', f); (WRITELN; (WRITELN ('Program is waiting for a mouse down, or clicks in the graphic panel.'); (WaitMouseEvent (aMouseEvent); {wait for mouse input} (REPEAT {display all mouse events} *WITH aMouseEvent DO ,BEGIN .WRITELN ('MouseEvent = mouseLoc - ', mouseLoc.h, mouseLoc.v); .WRITELN (' clicknum - ', clicknum); .WRITELN (' mouseDown, meShift, meApple, meOption - '); .WRITELN (' ', mouseDown, ' ', meShift, ' ', meApple, ' ', meOption); .WRITELN; .IF NOT mouseDown THEN 0PaintCircle (mouseLoc); ,END; *more := MouseEvent (aMouseEvent); (UNTIL NOT more; &{Or program can poll to see if there is mouse event} (WRITELN; (WRITELN ('Program is polling for a mouse down, or clicks in the graphic panel.'); (WHILE NOT MouseEvent (aMouseEvent) DO QPYield_CPU; {wait for mouse input} f{got something} (REPEAT *WITH aMouseEvent DO ,BEGIN .WRITELN ('MouseEvent = mouseLoc - ', mouseLoc.h, mouseLoc.v); .WRITELN (' clicknum - ', clicknum); .WRITELN (' mouseDown, meShift, meApple, meOption - '); .WRITELN (' ', mouseDown, ' ', meShift, ' ', meApple, ' ', meOption); .WRITELN; .prepoint := mouseLoc; .(* .REPEAT 0VGetMouse (mousept); 0MoveTo (prepoint.h, prepoint.v); 0LineTo (mousept.h, mousept.v); 0prepoint := mousept; .UNTIL NOT VStillDown; .*) ,END; (UNTIL NOT MouseEvent (aMouseEvent); &{Or program can wait for either keyboard or mouse input} (WRITELN; (WRITELN ('Program is waiting for a mouse down, or clicks in the graphic panel,'); (WRITELN (' or keyboard input.'); (WaitEvent (fromKeyboard); (IF fromkeyboard THEN *BEGIN ,VGetMouse (mousept); ,WRITE ('You typed : '); ,WHILE keypress DO .BEGIN 0read (ch); 0if (ch = ' ') and eoln then readln; 0PaintCircle (mousept); .END; ,WRITELN; *END (ELSE *WHILE MouseEvent (aMouseEvent) DO +WITH aMouseEvent DO ,BEGIN .WRITELN ('MouseEvent = mouseLoc - ', mouseLoc.h, mouseLoc.v); .WRITELN (' clicknum - ', clicknum); .WRITELN (' mouseDown, meShift, meApple, meOption - '); .WRITELN (' ', mouseDown, ' ', meShift, ' ', meApple, ' ', meOption); .WRITELN; .IF NOT mouseDown THEN 0PaintCircle (mouseLoc); ,END; &{Or program can wait for keyboard only} (WRITELN; (WRITELN ('Program is waiting for keyboard input.'); (REPEAT *VRead (ch, keycap, applekey, shiftkey, optionkey); *WRITELN ('You typed : ', ch, ' keycap = ', keycap, ' applekey = ', applekey, ' shiftkey = ', shiftkey); *WRITELN (' optionkey = ', optionkey); (UNTIL NOT keypress; &END; "END; BEGIN "SetupPanels; "DrawCheckerboard; "Doit; END. 3Þ÷È÷Ó.½Î "˜6Fø€^9; ’D!$÷Ç�÷ð™àðšªð™Ü^õèÿLÿLmœäÊóevent DO (BEGIN *KeybdEvent := TRUE; *key := 0; *IF mouÛÌ÷ÈV÷Å8 ($00) ELSE Asci÷¾H"÷Û÷ÂôÌ“–Ì“Ž÷ÈVÌ’ô÷ÂÎH ÷Å8Hz÷Å8÷Û÷ÅjÌ“– Ì“Ž÷ÈVÌ’ôSt Ì“Ž÷Ã0Ì“÷Ã"tate := State + 4; *MouseX := mouseLoc.h; *MouseY := mouseLoc.v; (END $ELSE KeybdEvent := FALSE; "END; "PROCEDURE Doit; "VAR i : INTEGER; &mousept, prepoint : Point; &aMouseEvent : TMouseEvent; PROGRAM MouseInput; USES $QuickDraw, {needed by this program, also needed to compile UQPortCall} ${$U QP/UQPortCall} UQPortCall, {needed to call mouse input routines} ${$U QP/UQPortGraph} UQPortGraph, {program has to use this if has graphic output} ${$U QP/Hardware} Hardware; TYPE "KeyEvent = Packed Record -Key: Keycap; -Ascii: CHAR; -State: INTEGER; -MouseX: Pixels; -MouseY: Pixels; -Time: Milliseconds; -END; "PROCEDURE SetupPanels; "VAR config : TQPConfigRec; "BEGIN $WITH config DO &BEGIN (tosaveBuffer := TRUE; {save lines in buffer} (passApplePeriod := FALSE; {pass apple '.' to main program} (showInputPanel := false; {display input panel} (twoPanels := TRUE; (vhs := h; {vertical or horizontal split} (grPanelSize := -150; {initial width or height, if < 0, graphic Kpanel is below or right of the text panel} &END; $QPConfig (config); {main program should call this before any screen i/o} $WRITELN ('This is a sample program running in the QuickPort demonstrating'); $WRITELN ('the mouse input capability, with text panel and graphic'); $WRITELN ('panel all showing here. '); $WRITELN; "END; "PROCEDURE DrawNum (n : INTEGER); {n < 1000} "VAR n1, n2, i : INTEGER; &str : str255; "BEGIN $n1 := n div 100; $n := n - n1*100; $n2 := n div 10; $n := n - n2 *10; $i := 1; $IF n1 <> 0 THEN &BEGIN (str [i] := chr (n1 + $30); (i := i + 1; &END; $IF (n2 <> 0) or (n1 <> 0) THEN &BEGIN (str [i] := chr (n2 + $30); (i := i + 1; &END; $str [i] := chr (n + $30); $str [0] := chr (i); $DrawString (str); "END; "PROCEDURE drawcheckerboard; "VAR i : INTEGER; "BEGIN $TextFont (8); $i := 20; {draw checker board} $WHILE i < 364 DO &BEGIN (MoveTo (0, i); (LineTo (720, i); (MoveTo (0, i); (DrawNum (i); (i := i+20; &END; $i := 20; $WHILE i < 720 DO &BEGIN (MoveTo (i, 0); (LineTo (i, 364); (if odd (i div 20) then MoveTo (i, 12) else MoveTo (i, 24); (DrawNum (i); (i := i+20; &END; "END; "PROCEDURE PaintCircle (mousept : Point); {invert a cicle around mousept} "VAR r : Rect; "BEGIN $SetRect (r, 0, 0, 7, 5); $OffsetRect (r, mousept.h - 3, mousept.v - 2); $PaintOval (r); "END; "FUNCTION KeybdEvent (repeats, wait : BOOLEAN; VAR event : KeyEvent) : BOOLEAN; 9{An equivalent funciton as the one in the Hardware. :Note that the parameter repeats is not recognized.} "VAR ch : CHAR; &rkey : QPByte; &appleKey, shiftKey, optionKey, fromKeyboard : BOOLEAN; &tmpPt : Point; &mevent : TMouseEvent; "BEGIN $IF wait THEN WaitEvent (fromKeyboard) $ELSE fromKeyboard := KeyPress; $IF fromKeyboard THEN &BEGIN (KeybdEvent := TRUE; (VRead (ch, rkey, appleKey, shiftKey, optionKey); (VGetMouse (tmpPt); (WITH event DO *BEGIN ,key := rkey; ,Ascii := ch; ,State := 0; ,IF appleKey THEN State := State+8; ,IF shiftKey THEN State := State+2; ,IF optionKey THEN State := State+4; ,MouseX := tmpPt.h; ,MouseY := tmpPt.v; *END; &END $ELSE IF MouseEvent (mEvent) THEN &WITH mEvent, event DO (BEGIN *KeybdEvent := TRUE; *key := 0; *IF mouseDown THEN Ascii := CHR ($00) ELSE Ascii := CHR ($01); *State := 16; *IF meApple THEN State := State + 8; *IF meShift THEN State := State + 2; *IF meOption THEN State := State + 4; *MouseX := mouseLoc.h; *MouseY := mouseLoc.v; (END $ELSE KeybdEvent := FALSE; "END; "PROCEDURE Doit; "VAR i : INTEGER; &mousept, prepoint : Point; &aMouseEvent : TMouseEvent; &f, more, fromkeyboard : BOOLEAN; &ch : CHAR; &keycap : QPByte; &applekey, shiftkey, optionkey: BOOLEAN; &event : KeyEvent; "BEGIN $WHILE TRUE DO &BEGIN (VGetMouse (mousept); (WRITELN ('GetMouse = (h, v) ', mousept.h, mousept.v); (f := MouseButton; (WRITELN ('MouseButton = ', f); (WRITELN; (WRITELN ('Program is waiting for a mouse down, or clicks in the graphic panel.'); (WaitMouseEvent (aMouseEvent); {wait for mouse input} (REPEAT {display all mouse events} *WITH aMouseEvent DO ,BEGIN .WRITELN ('MouseEvent = mouseLoc - ', mouseLoc.h, mouseLoc.v); .WRITELN (' clicknum - ', clicknum); .WRITELN (' mouseDown, meShift, meApple, meOption - '); .WRITELN (' ', mouseDown, ' ', meShift, ' ', meApple, ' ', meOption); .WRITELN; .IF NOT mouseDown THEN 0PaintCircle (mouseLoc); ,END; *more := MouseEvent (aMouseEvent); (UNTIL NOT more; &{Or program can poll to see if there is mouse event} (WRITELN; (WRITELN ('Program is polling for a mouse down, or clicks in the graphic panel.'); (WHILE NOT MouseEvent (aMouseEvent) DO QPYield_CPU; {wait for mouse input} f{got something} (REPEAT *WITH aMouseEvent DO ,BEGIN .WRITELN ('MouseEvent = mouseLoc - ', mouseLoc.h, mouseLoc.v); .WRITELN (' clicknum - ', clicknum); .WRITELN (' mouseDown, meShift, meApple, meOption - '); .WRITELN (' ', mouseDown, ' ', meShift, ' ', meApple, ' ', meOption); .WRITELN; .prepoint := mouseLoc; ,END; (UNTIL NOT MouseEvent (aMouseEvent); &{Or program can wait for either keyboard or mouse input} (WRITELN; (WRITELN ('Program is waiting for a mouse down, or clicks in the graphic panel,'); (WRITELN (' or keyboard input.'); (WaitEvent (fromKeyboard); (IF fromkeyboard THEN *BEGIN ,VGetMouse (mousept); ,WRITE ('You typed : '); ,WHILE keypress DO .BEGIN 0read (ch); 0if (ch = ' ') and eoln then readln; 0PaintCircle (mousept); .END; ,WRITELN; *END (ELSE *WHILE MouseEvent (aMouseEvent) DO +WITH aMouseEvent DO ,BEGIN .WRITELN ('MouseEvent = mouseLoc - ', mouseLoc.h, mouseLoc.v); .WRITELN (' clicknum - ', clicknum); .WRITELN (' mouseDown, meShift, meApple, meOption - '); .WRITELN (' ', mouseDown, ' ', meShift, ' ', meApple, ' ', meOption); .WRITELN; .IF NOT mouseDown THEN 0PaintCircle (mouseLoc); ,END; &{Or program can wait for keyboard only} (WRITELN; (WRITELN ('Program is waiting for keyboard input.'); (REPEAT *VRead (ch, keycap, applekey, shiftkey, optionkey); *WRITELN ('You typed : ', ch, ' keycap = ', keycap, ' applekey = ', applekey, ' shiftkey = ', shiftkey); *WRITELN (' optionkey = ', optionkey); (UNTIL NOT KeyPress; &{Or program can use the KeybdEvent function defined above} (WRITELN; (WRITELN ('Program is using KeybdEvent for either mouse or keyboard input.'); (IF KeybdEvent (TRUE, TRUE, event) THEN *BEGIN ,REPEAT .WITH event DO /BEGIN 1WRITELN (' event = key - ', key, ' Ascii - ', ORD (Ascii), ' State - ', State); 1WRITELN (' MouseX - ', MouseX, ' MouseY -', MouseY); /END; ,UNTIL NOT KeybdEvent (TRUE, FALSE, event); *END; &END; "END; BEGIN "SetupPanels; "DrawCheckerboard; "Doit; END. 3Þ÷È÷Ó.½Î "˜6Fø€^9 ’D!$÷Ç�÷ð™àðšªð™Ü^ZZ*�J$ü*·’·ZHÌp¸÷œÌ�¤Ì�·ŽÌ�Ìp¸÷ÃÒÌ�̳rÌÛÌ÷È4÷ÅÂÈ.8†Ì�ÞC€÷œL0÷Û÷ÂÒ̦˜Ì¦�÷È4Ì¥ö÷¬L.÷ÅLˆ÷Å÷Û÷ÅH̦˜¢Ì¦�÷È4Ì¥öp¸̦�÷Ã̦÷Ã]eœv Æ�JÌ�z̳šÌ� $S÷ÂF�F�·÷̳r̳„÷Äh÷ÄB̳šÎÀ̳š8Ú8ÚÌÌp¸÷ÄÎ̳šÎÀ̳š88,÷ÃÞF�F�F÷ÃÒÌpr÷Û÷Ä0ÎÀ÷Ä0;This is a sample phrase file for QuickPort applications ;NOTE: You can only add your alert messages at *****. Everything else must not be changed. 1 3 2300 $libtk/PABC ; Apple building block phrase files can be included here 1000 QuickPort ; Other application alerts can be included here, numbered between 1001 and 32000 ; phrases for dialog box, invoked by the Setup menu. 1001 Characters Per Line 1002 Wraparound 1003 Yes 1004 No 1005 Tab 1006 stop alert QuickPort's picture is running out of space. The subsequent graphic output will be displayed, but not saved for scrolling, until your tool erase the whole screen. 1007 stop alert Your QuickPort tool has called another OpenPicture in the QuickPort's grafport. This tool will be aborted. 1008 stop alert QuickPort's buffer is running out of space. The top lines will be deleted. You can use the Erase command to erase the top lines in the buffer to create some room. ; ***** Quickport programs can add any alerts (stop alerts only) here with number greater than 1008 2000 stop alert QuickPort program's special alert. 0 2 $libtk/PABC~File/Print ; Text-panel-only edit menu, without Flush Input menu item 3 Edit Copy#201 Read Input From Clipboard#203 - Erase#1200 Save Buffer#1201 Don't Save Buffer#1202 - Select All Text#204 ; Grpahic-panel-only edit menu, without Flush Input menu item 4 Edit Copy#201 Read Input From Clipboard#203 ; Both-text-and-grpahic-panel edit menu, without Flush Input menu item 5 Edit Copy#201 Read Input From Clipboard#203 - Erase#1200 Save Buffer#1201 Don't Save Buffer#1202 - Select All Text#204 Select All Graph#1205 ; Text-panel-only edit menu, with Flush Input menu item 8 Edit Copy#201 Read Input From Clipboard#203 - Erase#1200 Save Buffer#1201 Don't Save Buffer#1202 - Flush Input#1203 - Select All Text#204 ; Grpahic-panel-only edit menu, with Flush Input menu item 9 Edit Copy#201 Read Input From Clipboard#203 - Flush Input#1203 ; Both-text-and-grpahic-panel edit menu, with Flush Input menu item 10 Edit Copy#201 Read Input From Clipboard#203 - Erase#1200 Save Buffer#1201 Don't Save Buffer#1202 - Flush Input#1203 - Select All Text#204 Select All Graph#1205 ;show up only when there is a text panel 6 Terminal Specifics Set up#2001 Show Tab Ruler#2002 Hide Tab Ruler#2003 7 Execution Restart#2101 Resume#2102 20 Page Layout Preview Page Margins#401 Preview Page Breaks#402 Don't Preview Pages#403 - Headings and Margins...#405 - Set Horizontal Page Break#411 Set Vertical Page Break#412 Clear All Manual Breaks#413 99 $libtk/PABC~Debug 100 $libtk/PABC~Buzzwords 1000 $libtk/PABC~Clipboard File/Print 0 O^ E¢69P÷ÍæH r÷ð™Ôð›�ð™Ð^‹è™™¢�J4|À÷¹ÆÌŸ`ÎLÎÀ÷÷¾ö.œ À9ÜøˆÛÌ99÷¿Â÷¼¤SAMPLE.CONFIG.TE÷º*L0÷Û÷º`̦˜Ì¦�÷¿ÂÌ¥ö÷º:L.÷¼¤Lˆ÷¼¤÷Û÷¼Ö9̦˜9C€Ì¦�÷¿ÂÌ¥öø̦�÷ºœ̦÷ºŽÒ÷ºúøòøˆ÷ðÒôGÖôâôæ÷» ŠC>÷ðÒ÷ºúøø÷ÃÈòJÎqp/QDSAMPLE.CONFIG.TEXTjtý–A¼ Aî-#2#2�Ì�zÌ�÷·lFFxÌp¸÷¸$÷ÁÌ�Î ̵†PFPÐÌ�zÌPROGRAM QDSample; { QuickDraw sample program modified to illustrate the use of QuickDraw in the QuickPort. } { Call QPConfig to show both text and graphic panel in vertical arrangement.} { Also show example of putting up an alert and getting document prefix} USES $QuickDraw, {needed to compile UQPortCall, also needed by this program} ${$U QP/UQPortCall} UQPortCall, {needed to call QPConfig} ${$U QP/UQPortGraph} UQPortGraph, {program has to use this if has graphic output} ${$U QP/Hardware} Hardware, {program has to use this in QuickPort to access Hardware unit} ${$U syscall} Syscall, ${$U QP/UQPSupport} UQPSupport; TYPE IconData = ARRAY[0..95] OF INTEGER; VAR heapBuf: ARRAY[0..10000] OF INTEGER;{must keep array under 32K byte limit} $myPort: GrafPort; $icons: ARRAY[0..5] OF IconData; $config : TQPConfigRec; $updateRgn : RgnHandle; $prefix : pathname; $ch : char; (* We do not need this in the QuickPort FUNCTION HeapFull(hz: QDPtr; bytesNeeded: INTEGER): INTEGER; { This function will be called if the heapZone runs out of space } BEGIN "WRITELN('The heap is full. The program must now terminate! '); "Halt; END; *) PROCEDURE InitIcons; { Manually stuff some icons. Normally we would read them from a file } BEGIN "{ Lisa } "StuffHex(@icons[0, 0],'000000000000000000000000000000000000001FFFFFFFFC'); "StuffHex(@icons[0,12],'00600000000601800000000B0600000000130FFFFFFFFFA3'); "StuffHex(@icons[0,24],'18000000004311FFFFF00023120000080F231200000BF923'); "StuffHex(@icons[0,36],'120000080F23120000080023120000080023120000080F23'); "StuffHex(@icons[0,48],'1200000BF923120000080F2312000008002311FFFFF00023'); "StuffHex(@icons[0,60],'08000000004307FFFFFFFFA30100000000260FFFFFFFFE2C'); "StuffHex(@icons[0,72],'18000000013832AAAAA8A9F0655555515380C2AAAA82A580'); "StuffHex(@icons[0,84],'800000000980FFFFFFFFF300800000001600FFFFFFFFFC00'); "{ Printer } "StuffHex(@icons[1, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[1,12],'00000000000000007FFFFF00000080000280000111514440'); "StuffHex(@icons[1,24],'0002000008400004454510400004000017C00004A5151000'); "StuffHex(@icons[1,36],'0004000010000004A54510000004000017FE00F4A5151003'); "StuffHex(@icons[1,48],'0184000013870327FFFFF10F06400000021B0CFFFFFFFC37'); "StuffHex(@icons[1,60],'18000000006B3000000000D77FFFFFFFFFABC00000000356'); "StuffHex(@icons[1,72],'8000000001AC87F000000158841000CCC1B087F000CCC160'); "StuffHex(@icons[1,84],'8000000001C0C000000003807FFFFFFFFF0007800001E000'); "{ Trash Can } "StuffHex(@icons[2, 0],'000001FC000000000E0600000000300300000000C0918000'); "StuffHex(@icons[2,12],'00013849800000026C4980000004C0930000000861260000'); "StuffHex(@icons[2,24],'0010064FE0000031199830000020E6301800002418E00800'); "StuffHex(@icons[2,36],'0033E3801C0000180E002C00000FF801CC0000047FFE0C00'); "StuffHex(@icons[2,48],'000500004C000005259A4C000005250A4C00000525FA4C00'); "StuffHex(@icons[2,60],'000524024C00000524924C00600524924C0090E524924C7C'); "StuffHex(@icons[2,72],'932524924C82A44524924D01C88524924CF10C4524924C09'); "StuffHex(@icons[2,84],'0784249258E70003049233100000E000E40800001FFFC3F0'); "{ tray } "StuffHex(@icons[3, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[3,12],'0000000000000000000000000000000000000007FFFFFFF0'); "StuffHex(@icons[3,24],'000E00000018001A00000038003600000078006A000000D8'); "StuffHex(@icons[3,36],'00D7FFFFFFB801AC000003580358000006B807FC000FFD58'); "StuffHex(@icons[3,48],'040600180AB80403FFF00D58040000000AB8040000000D58'); "StuffHex(@icons[3,60],'040000000AB807FFFFFFFD5806AC00000AB8055800000D58'); "StuffHex(@icons[3,72],'06B000000AB807FC000FFD70040600180AE00403FFF00DC0'); "StuffHex(@icons[3,84],'040000000B80040000000F00040000000E0007FFFFFFFC00'); "{ File Cabinet } "StuffHex(@icons[4, 0],'0007FFFFFC00000800000C00001000001C00002000003400'); "StuffHex(@icons[4,12],'004000006C0000FFFFFFD40000800000AC0000BFFFFED400'); "StuffHex(@icons[4,24],'00A00002AC0000A07F02D40000A04102AC0000A07F02D400'); "StuffHex(@icons[4,36],'00A00002AC0000A08082D40000A0FF82AC0000A00002D400'); "StuffHex(@icons[4,48],'00A00002AC0000BFFFFED40000800000AC0000BFFFFED400'); "StuffHex(@icons[4,60],'00A00002AC0000A07F02D40000A04102AC0000A07F02D400'); "StuffHex(@icons[4,72],'00A00002AC0000A08082D40000A0FF82AC0000A00002D800'); "StuffHex(@icons[4,84],'00A00002B00000BFFFFEE00000800000C00000FFFFFF8000'); "{ drawer } "StuffHex(@icons[5, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,12],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,24],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,36],'00000000000000000000000000000000000000001FFFFFF0'); "StuffHex(@icons[5,48],'0000380000300000680000700000D80000D0003FFFFFF1B0'); "StuffHex(@icons[5,60],'0020000013500020000016B000201FE01D50002010201AB0'); "StuffHex(@icons[5,72],'00201FE01560002000001AC0002000001580002020101B00'); "StuffHex(@icons[5,84],'00203FF01600002000001C00002000001800003FFFFFF000'); END; PROCEDURE DrawIcon(whichIcon,h,v: INTEGER); VAR srcBits: BitMap; $srcRect,dstRect: Rect; BEGIN "srcBits.baseAddr:=@icons[whichIcon]; "srcBits.rowBytes:=6; "SetRect(srcBits.bounds,0,0,48,32); "srcRect:=srcBits.bounds; "dstRect:=srcRect; "OffsetRect(dstRect,h,v); "CopyBits(srcBits,thePort^.portBits,srcRect,dstRect,srcOr,Nil); END; PROCEDURE DrawStuff; VAR i: INTEGER; $tempRect: Rect; $myPoly: PolyHandle; $myRgn: RgnHandle; $myPattern: Pattern; BEGIN "StuffHex(@myPattern,'8040200002040800'); "tempRect := thePort^.portRect; "ClipRect(tempRect); "EraseRoundRect(tempRect,30,20); "FrameRoundRect(tempRect,30,20); "{ draw two horizontal lines across the top } "MoveTo(0,18); "LineTo(719,18); "MoveTo(0,20); "LineTo(719,20); "{ draw divider lines } "MoveTo(0,134); "LineTo(719,134); "MoveTo(0,248); "LineTo(719,248); "MoveTo(240,21); "LineTo(240,363); "MoveTo(480,21); "LineTo(480,363); "{ draw title } "TextFont(14); {used to be 0 - systext, user should never use 0 thru 3. A14 is p10cent. Ufont will have all the legal font constant later.} "MoveTo(210,14); "DrawString('Look what you can draw with QuickDraw'); "{--------- draw text samples --------- } "MoveTo(80,34); Drawstring('Text'); "TextFace([bold]); "MoveTo(70,55); Drawstring('Bold'); "TextFace([italic]); "MoveTo(70,70); Drawstring('Italic'); "TextFace([underline]); "MoveTo(70,85); Drawstring('Underline'); "TextFace([outline]); "MoveTo(70,100); Drawstring('Outline'); "TextFace([shadow]); "MoveTo(70,115); Drawstring('Shadow'); "TextFace([]); { restore to normal } "{ --------- draw line samples --------- } "MoveTo(330,34); Drawstring('Lines'); "MoveTo(280,25); Line(160,40); "PenSize(3,2); "MoveTo(280,35); Line(160,40); "PenSize(6,4); "MoveTo(280,46); Line(160,40); "PenSize(12,8); "PenPat(gray); "MoveTo(280,61); Line(160,40); "PenSize(15,10); "PenPat(myPattern); "MoveTo(280,80); Line(160,40); "PenNormal; "{ --------- draw rectangle samples --------- } "MoveTo(560,34); Drawstring('Rectangles'); "SetRect(tempRect,510,40,570,70); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseRect(tempRect); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "PaintRect(tempRect); "OffsetRect(tempRect,25,15); "PenNormal; "FillRect(tempRect,gray); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "FillRect(tempRect,myPattern); "FrameRect(tempRect); "{ --------- draw roundRect samples --------- } "MoveTo(70,148); Drawstring('RoundRects'); "SetRect(tempRect,30,150,90,180); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseRoundRect(tempRect,30,20); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PaintRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PenNormal; "FillRoundRect(tempRect,30,20,gray); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "FillRoundRect(tempRect,30,20,myPattern); "FrameRoundRect(tempRect,30,20); "{ --------- draw bit image samples --------- } "MoveTo(320,148); Drawstring('Bit Images'); "DrawIcon(0,266,156); "DrawIcon(1,336,156); "DrawIcon(2,406,156); "DrawIcon(3,266,196); "DrawIcon(4,336,196); "DrawIcon(5,406,196); "{ --------- draw Wedge samples --------- } "MoveTo(570,148); Drawstring('Wedges'); "SetRect(tempRect,520,153,655,243); "FillArc(tempRect,135,65,dkGray); "FillArc(tempRect,200,130,myPattern); "FillArc(tempRect,330,75,gray); "FrameArc(tempRect,135,270); "OffsetRect(tempRect,20,0); "PaintArc(tempRect,45,90); "{ --------- draw polygon samples --------- } "MoveTo(80,262); Drawstring('Polygons'); "myPoly:=OpenPoly; $MoveTo(30,290); $LineTo(30,280); $LineTo(50,265); $LineTo(90,265); $LineTo(80,280); $LineTo(95,290); $LineTo(30,290); "ClosePoly; { end of definition } "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "PenSize(3,2); "ErasePoly(myPoly); "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "PaintPoly(myPoly); "OffsetPoly(myPoly,25,15); "PenNormal; "FillPoly(myPoly,gray); "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "FillPoly(myPoly,myPattern); "FramePoly(myPoly); "KillPoly(myPoly); "{ --------- demonstrate region clipping --------- } "MoveTo(320,262); Drawstring('Regions'); "myRgn:=NewRgn; "OpenRgn; $ShowPen; $SetRect(tempRect,260,270,460,350); $FrameRoundRect(tempRect,24,16); $MoveTo(275,335); { define triangular hole } $LineTo(325,285); $LineTo(375,335); $LineTo(275,335); $SetRect(tempRect,365,277,445,325); { oval hole } $FrameOval(tempRect); $HidePen; "CloseRgn(myRgn); { end of definition } "SetClip(myRgn); "FOR i:=0 TO 6 DO { draw stuff inside the clip region } $BEGIN &MoveTo(260,280+12*i); &Drawstring('Arbitrary Clipping Regions'); $END; "ClipRect(thePort^.portRect); "DisposeRgn(myRgn); "{ --------- draw oval samples --------- } "MoveTo(580,262); Drawstring('Ovals'); "SetRect(tempRect,510,264,570,294); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseOval(tempRect); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "PaintOval(tempRect); "OffsetRect(tempRect,25,15); "PenNormal; "FillOval(tempRect,gray); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "FillOval(tempRect,myPattern); "FrameOval(tempRect); END; { DrawStuff } BEGIN { main program QDSample} (* Must not do this in the QuickPort "{----- Initialization - Generic to all applications using QuickDraw -----} "QDInit(@heapBuf, @heapBuf[10000], @HeapFull); { Must do this once at beginning } "OpenPort(@myPort); *) "WITH config DO $BEGIN &tosaveBuffer := TRUE; {save lines in buffer} &passApplePeriod := FALSE; {pass apple '.' to main program} &showInputPanel := FALSE; {display input panel} &twoPanels := TRUE; &vhs := v; {vertical or horizontal split} &grPanelSize := -150; {initial width or height, if < 0, text Ipanel is below or right of the graph panel} $END; "QPConfig (config); {main program should call this before any screen i/o} "Writeln ('This is a QuickDraw sample program running in the QuickPort, with both'); "Writeln ('text and graphic panel showing up and down here. You can close down the'); "Writeln ('text panel to show most of the graphic panel.'); "PaintRect(thePort^.portRect); { Paint grey background } "InitIcons; "DrawStuff; "Beep (2000, 500); { Beep tone of (1/2000)*10^6 == 500 cycles/sec for 6500 milliseconds } H(* Program has to use Beep instead of Tone. Same parameters. HTone(2000, 500); { Beep tone of (1/2000)*10^6 == 500 cycles/sec for `500 milliseconds } H*) "IF getdocprefix (prefix) THEN $Writeln ('This document''s OS file name prefix is ', prefix) "ELSE Writeln ('We can not get the document prefix right now'); "Writeln ('Do you want to put up an alert ?'); "Read (ch); "IF (ch = 'Y') OR (ch = 'y') THEN $putupalert (2000); {2000 is the phrase number used in the user phrase file} "ReadLn; { Wait until RETURN entered before terminating program } END. O^ E¢69o P÷ÍæH r÷ð™Ôð›�ð™Ð^è ) )cœÒ4xhePort^.PortRect); "Beep (2000, 500); { Beep tone of (1/’ôH..÷ÈV÷Å8/sec for 6500 m÷¾H"÷Û÷ÂôÌ“–Ì“Ž÷ÈVÌ’ô÷ÂÎH ÷Å8Hz÷Å8÷Û÷Åj.Ì“–.-$Ì“Ž÷ÈVÌ’ôTo Ì“Ž÷Ã0Ì“÷Ã"f (1/2000)*10^6 == 500 cycles/sec for <500 milliseconds } $*) "ReadLn; { Wait until RETURN entered before terminating program } END. PROGRAM QDSample; { Sample program illustrating the use of QuickDraw in the QuickPort. } { Use default setting in the QuickPort - graphic panel only} USES $QuickDraw, {needed by this program} ${$U QP/Hardware} Hardware, {program has to use this in QuickPort to access Hardware unit} ${$U QP/UQPortGraph} UQPortGraph; {program has to use this if has graphic output} TYPE IconData = ARRAY[0..95] OF INTEGER; VAR heapBuf: ARRAY[0..10000] OF INTEGER;{must keep array under 32K byte limit} $myPort: GrafPort; $icons: ARRAY[0..5] OF IconData; $sysportptr : GrafPtr; $myPicture : PicHandle; (* We do not need this in the QuickPort FUNCTION HeapFull(hz: QDPtr; bytesNeeded: INTEGER): INTEGER; { This function will be called if the heapZone runs out of space } BEGIN "WRITELN('The heap is full. The program must now terminate! '); "Halt; END; *) PROCEDURE InitIcons; { Manually stuff some icons. Normally we would read them from a file } BEGIN "{ Lisa } "StuffHex(@icons[0, 0],'000000000000000000000000000000000000001FFFFFFFFC'); "StuffHex(@icons[0,12],'00600000000601800000000B0600000000130FFFFFFFFFA3'); "StuffHex(@icons[0,24],'18000000004311FFFFF00023120000080F231200000BF923'); "StuffHex(@icons[0,36],'120000080F23120000080023120000080023120000080F23'); "StuffHex(@icons[0,48],'1200000BF923120000080F2312000008002311FFFFF00023'); "StuffHex(@icons[0,60],'08000000004307FFFFFFFFA30100000000260FFFFFFFFE2C'); "StuffHex(@icons[0,72],'18000000013832AAAAA8A9F0655555515380C2AAAA82A580'); "StuffHex(@icons[0,84],'800000000980FFFFFFFFF300800000001600FFFFFFFFFC00'); "{ Printer } "StuffHex(@icons[1, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[1,12],'00000000000000007FFFFF00000080000280000111514440'); "StuffHex(@icons[1,24],'0002000008400004454510400004000017C00004A5151000'); "StuffHex(@icons[1,36],'0004000010000004A54510000004000017FE00F4A5151003'); "StuffHex(@icons[1,48],'0184000013870327FFFFF10F06400000021B0CFFFFFFFC37'); "StuffHex(@icons[1,60],'18000000006B3000000000D77FFFFFFFFFABC00000000356'); "StuffHex(@icons[1,72],'8000000001AC87F000000158841000CCC1B087F000CCC160'); "StuffHex(@icons[1,84],'8000000001C0C000000003807FFFFFFFFF0007800001E000'); "{ Trash Can } "StuffHex(@icons[2, 0],'000001FC000000000E0600000000300300000000C0918000'); "StuffHex(@icons[2,12],'00013849800000026C4980000004C0930000000861260000'); "StuffHex(@icons[2,24],'0010064FE0000031199830000020E6301800002418E00800'); "StuffHex(@icons[2,36],'0033E3801C0000180E002C00000FF801CC0000047FFE0C00'); "StuffHex(@icons[2,48],'000500004C000005259A4C000005250A4C00000525FA4C00'); "StuffHex(@icons[2,60],'000524024C00000524924C00600524924C0090E524924C7C'); "StuffHex(@icons[2,72],'932524924C82A44524924D01C88524924CF10C4524924C09'); "StuffHex(@icons[2,84],'0784249258E70003049233100000E000E40800001FFFC3F0'); "{ tray } "StuffHex(@icons[3, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[3,12],'0000000000000000000000000000000000000007FFFFFFF0'); "StuffHex(@icons[3,24],'000E00000018001A00000038003600000078006A000000D8'); "StuffHex(@icons[3,36],'00D7FFFFFFB801AC000003580358000006B807FC000FFD58'); "StuffHex(@icons[3,48],'040600180AB80403FFF00D58040000000AB8040000000D58'); "StuffHex(@icons[3,60],'040000000AB807FFFFFFFD5806AC00000AB8055800000D58'); "StuffHex(@icons[3,72],'06B000000AB807FC000FFD70040600180AE00403FFF00DC0'); "StuffHex(@icons[3,84],'040000000B80040000000F00040000000E0007FFFFFFFC00'); "{ File Cabinet } "StuffHex(@icons[4, 0],'0007FFFFFC00000800000C00001000001C00002000003400'); "StuffHex(@icons[4,12],'004000006C0000FFFFFFD40000800000AC0000BFFFFED400'); "StuffHex(@icons[4,24],'00A00002AC0000A07F02D40000A04102AC0000A07F02D400'); "StuffHex(@icons[4,36],'00A00002AC0000A08082D40000A0FF82AC0000A00002D400'); "StuffHex(@icons[4,48],'00A00002AC0000BFFFFED40000800000AC0000BFFFFED400'); "StuffHex(@icons[4,60],'00A00002AC0000A07F02D40000A04102AC0000A07F02D400'); "StuffHex(@icons[4,72],'00A00002AC0000A08082D40000A0FF82AC0000A00002D800'); "StuffHex(@icons[4,84],'00A00002B00000BFFFFEE00000800000C00000FFFFFF8000'); "{ drawer } "StuffHex(@icons[5, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,12],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,24],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,36],'00000000000000000000000000000000000000001FFFFFF0'); "StuffHex(@icons[5,48],'0000380000300000680000700000D80000D0003FFFFFF1B0'); "StuffHex(@icons[5,60],'0020000013500020000016B000201FE01D50002010201AB0'); "StuffHex(@icons[5,72],'00201FE01560002000001AC0002000001580002020101B00'); "StuffHex(@icons[5,84],'00203FF01600002000001C00002000001800003FFFFFF000'); END; PROCEDURE DrawIcon(whichIcon,h,v: INTEGER); VAR srcBits: BitMap; $srcRect,dstRect: Rect; BEGIN "srcBits.baseAddr:=@icons[whichIcon]; "srcBits.rowBytes:=6; "SetRect(srcBits.bounds,0,0,48,32); "srcRect:=srcBits.bounds; "dstRect:=srcRect; "OffsetRect(dstRect,h,v); "CopyBits(srcBits,thePort^.portBits,srcRect,dstRect,srcOr,Nil); END; PROCEDURE DrawStuff; VAR i: INTEGER; $tempRect: Rect; $myPoly: PolyHandle; $myRgn: RgnHandle; $myPattern: Pattern; BEGIN "(* This pattern is not accepted in LisaDraw when we paste this output to LisaDraw. "StuffHex(@myPattern,'8040200002040800'); "*) "StuffHex(@myPattern,'2040800008040200'); {and this will} "tempRect := thePort^.portRect; "ClipRect(tempRect); "EraseRoundRect(tempRect,30,20); "FrameRoundRect(tempRect,30,20); "{ draw two horizontal lines across the top } "MoveTo(0,18); "LineTo(719,18); "MoveTo(0,20); "LineTo(719,20); "{ draw divider lines } "MoveTo(0,134); "LineTo(719,134); "MoveTo(0,248); "LineTo(719,248); "MoveTo(240,21); "LineTo(240,363); "MoveTo(480,21); "LineTo(480,363); "{ draw title } "TextFont(14); {used to be 0 - systext, user should never use 0 thru 3. ;14 is p10cent. Ufont will have all the legal font constant later.} "MoveTo(210,14); "DrawString('Look what you can draw with QuickDraw'); "{--------- draw text samples --------- } "MoveTo(80,34); Drawstring('Text'); "TextFace([bold]); "MoveTo(70,55); Drawstring('Bold'); "TextFace([italic]); "MoveTo(70,70); Drawstring('Italic'); "TextFace([underline]); "MoveTo(70,85); Drawstring('Underline'); "TextFace([outline]); "MoveTo(70,100); Drawstring('Outline'); "TextFace([shadow]); "MoveTo(70,115); Drawstring('Shadow'); "TextFace([]); { restore to normal } "{ --------- draw line samples --------- } "MoveTo(330,34); Drawstring('Lines'); "MoveTo(280,25); Line(160,40); "PenSize(3,2); "MoveTo(280,35); Line(160,40); "PenSize(6,4); "MoveTo(280,46); Line(160,40); "PenSize(12,8); "PenPat(gray); "MoveTo(280,61); Line(160,40); "PenSize(15,10); "PenPat(myPattern); "MoveTo(280,80); Line(160,40); "PenNormal; "{ --------- draw rectangle samples --------- } "MoveTo(560,34); Drawstring('Rectangles'); "SetRect(tempRect,510,40,570,70); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseRect(tempRect); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "PaintRect(tempRect); "OffsetRect(tempRect,25,15); "PenNormal; "FillRect(tempRect,gray); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "FillRect(tempRect,myPattern); "FrameRect(tempRect); "{ --------- draw roundRect samples --------- } "MoveTo(70,148); Drawstring('RoundRects'); "SetRect(tempRect,30,150,90,180); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseRoundRect(tempRect,30,20); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PaintRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PenNormal; "FillRoundRect(tempRect,30,20,gray); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "FillRoundRect(tempRect,30,20,myPattern); "FrameRoundRect(tempRect,30,20); "{ --------- draw bit image samples --------- } "MoveTo(320,148); Drawstring('Bit Images'); "DrawIcon(0,266,156); "DrawIcon(1,336,156); "DrawIcon(2,406,156); "DrawIcon(3,266,196); "DrawIcon(4,336,196); "DrawIcon(5,406,196); "{ --------- draw Wedge samples --------- } "MoveTo(570,148); Drawstring('Wedges'); "SetRect(tempRect,520,153,655,243); "FillArc(tempRect,135,65,dkGray); "FillArc(tempRect,200,130,myPattern); "FillArc(tempRect,330,75,gray); "FrameArc(tempRect,135,270); "OffsetRect(tempRect,20,0); "PaintArc(tempRect,45,90); "{ --------- draw polygon samples --------- } "MoveTo(80,262); Drawstring('Polygons'); "myPoly:=OpenPoly; $MoveTo(30,290); $LineTo(30,280); $LineTo(50,265); $LineTo(90,265); $LineTo(80,280); $LineTo(95,290); $LineTo(30,290); "ClosePoly; { end of definition } "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "PenSize(3,2); "ErasePoly(myPoly); "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "PaintPoly(myPoly); "OffsetPoly(myPoly,25,15); "PenNormal; "FillPoly(myPoly,gray); "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "FillPoly(myPoly,myPattern); "FramePoly(myPoly); "KillPoly(myPoly); "{ --------- demonstrate region clipping --------- } "MoveTo(320,262); Drawstring('Regions'); "myRgn:=NewRgn; "OpenRgn; $ShowPen; $SetRect(tempRect,260,270,460,350); $FrameRoundRect(tempRect,24,16); $MoveTo(275,335); { define triangular hole } $LineTo(325,285); $LineTo(375,335); $LineTo(275,335); $SetRect(tempRect,365,277,445,325); { oval hole } $FrameOval(tempRect); $HidePen; "CloseRgn(myRgn); { end of definition } "SetClip(myRgn); "FOR i:=0 TO 6 DO { draw stuff inside the clip region } $BEGIN &MoveTo(260,280+12*i); &Drawstring('Arbitrary Clipping Regions'); $END; "ClipRect(thePort^.portRect); "DisposeRgn(myRgn); "{ --------- draw oval samples --------- } "MoveTo(580,262); Drawstring('Ovals'); "SetRect(tempRect,510,264,570,294); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseOval(tempRect); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "PaintOval(tempRect); "OffsetRect(tempRect,25,15); "PenNormal; "FillOval(tempRect,gray); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "FillOval(tempRect,myPattern); "FrameOval(tempRect); END; { DrawStuff } BEGIN { main program } (* Must not do this in the QuickPort "{----- Initialization - Generic to all applications using QuickDraw -----} "QDInit(@heapBuf, @heapBuf[10000], @HeapFull); { Must do this once at beginning } "OpenPort(@myPort); *) "{example of using picture in the QuickPort} "GetPort (sysportptr); "OpenPort(@myPort); {you must open another port before open a picture} "myPicture := OpenPicture (thePort^.portRect); "PaintRect(thePort^.portRect); { Paint grey background } "InitIcons; "DrawStuff; "ClosePicture; "SetPort (sysportptr); {switch to system grafport before drawing to screen} "EraseRect (thePort^.PortRect); {you must do this before DrawPicture to get Ithe QuickPort's picture open} "DrawPicture (myPicture, thePort^.PortRect); "Beep (2000, 500); { Beep tone of (1/2000)*10^6 == 500 cycles/sec for 6500 milliseconds } $(* Program has to use Beep in the QuickPort instead of Tone. Same parameters. $Tone(2000, 500); { Beep tone of (1/2000)*10^6 == 500 cycles/sec for <500 milliseconds } $*) "ReadLn; { Wait until RETURN entered before terminating program } END. O^ E¢69. P÷ÍæH r÷ð™Ôð›�ð™Ð^izzoœÒ/* for ameters. nt later.} re unit} ÿÿ̜̜.÷ÃŒ÷ÃfÌÛÌTT÷ÈV÷Å8�÷ÃòÌœDÎ÷¾H"÷Û÷ÂôÌ“–Ì“Ž÷ÈVÌ’ô÷ÂÎH ÷Å8Hz÷Å8÷Û÷ÅjTÌ“–TxrÌ“Ž÷ÈVÌ’ô" Ì“Ž÷Ã0Ì“÷Ã""PaintRect(tempRect); "OffsetRect(tempRect,25,15); "PenNormal; "FillRect(tempRect,gray); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "FillRect(tempRect,myPattern); "FrameRect(tempRect); PROGRAM QDSample; { Sample program illustrating the use of QuickDraw in the QuickPort. } { Use default setting in the QuickPort - graphic panel only} USES $QuickDraw, {needed by this program} ${$U QP/Hardware} Hardware, {program has to use this in QuickPort to access Hardware unit} ${$U QP/UQPortGraph} UQPortGraph; {program has to use this if has graphic output} TYPE IconData = ARRAY[0..95] OF INTEGER; VAR heapBuf: ARRAY[0..10000] OF INTEGER;{must keep array under 32K byte limit} $myPort: GrafPort; $icons: ARRAY[0..5] OF IconData; (* We do not need this in the QuickPort FUNCTION HeapFull(hz: QDPtr; bytesNeeded: INTEGER): INTEGER; { This function will be called if the heapZone runs out of space } BEGIN "WRITELN('The heap is full. The program must now terminate! '); "Halt; END; *) PROCEDURE InitIcons; { Manually stuff some icons. Normally we would read them from a file } BEGIN "{ Lisa } "StuffHex(@icons[0, 0],'000000000000000000000000000000000000001FFFFFFFFC'); "StuffHex(@icons[0,12],'00600000000601800000000B0600000000130FFFFFFFFFA3'); "StuffHex(@icons[0,24],'18000000004311FFFFF00023120000080F231200000BF923'); "StuffHex(@icons[0,36],'120000080F23120000080023120000080023120000080F23'); "StuffHex(@icons[0,48],'1200000BF923120000080F2312000008002311FFFFF00023'); "StuffHex(@icons[0,60],'08000000004307FFFFFFFFA30100000000260FFFFFFFFE2C'); "StuffHex(@icons[0,72],'18000000013832AAAAA8A9F0655555515380C2AAAA82A580'); "StuffHex(@icons[0,84],'800000000980FFFFFFFFF300800000001600FFFFFFFFFC00'); "{ Printer } "StuffHex(@icons[1, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[1,12],'00000000000000007FFFFF00000080000280000111514440'); "StuffHex(@icons[1,24],'0002000008400004454510400004000017C00004A5151000'); "StuffHex(@icons[1,36],'0004000010000004A54510000004000017FE00F4A5151003'); "StuffHex(@icons[1,48],'0184000013870327FFFFF10F06400000021B0CFFFFFFFC37'); "StuffHex(@icons[1,60],'18000000006B3000000000D77FFFFFFFFFABC00000000356'); "StuffHex(@icons[1,72],'8000000001AC87F000000158841000CCC1B087F000CCC160'); "StuffHex(@icons[1,84],'8000000001C0C000000003807FFFFFFFFF0007800001E000'); "{ Trash Can } "StuffHex(@icons[2, 0],'000001FC000000000E0600000000300300000000C0918000'); "StuffHex(@icons[2,12],'00013849800000026C4980000004C0930000000861260000'); "StuffHex(@icons[2,24],'0010064FE0000031199830000020E6301800002418E00800'); "StuffHex(@icons[2,36],'0033E3801C0000180E002C00000FF801CC0000047FFE0C00'); "StuffHex(@icons[2,48],'000500004C000005259A4C000005250A4C00000525FA4C00'); "StuffHex(@icons[2,60],'000524024C00000524924C00600524924C0090E524924C7C'); "StuffHex(@icons[2,72],'932524924C82A44524924D01C88524924CF10C4524924C09'); "StuffHex(@icons[2,84],'0784249258E70003049233100000E000E40800001FFFC3F0'); "{ tray } "StuffHex(@icons[3, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[3,12],'0000000000000000000000000000000000000007FFFFFFF0'); "StuffHex(@icons[3,24],'000E00000018001A00000038003600000078006A000000D8'); "StuffHex(@icons[3,36],'00D7FFFFFFB801AC000003580358000006B807FC000FFD58'); "StuffHex(@icons[3,48],'040600180AB80403FFF00D58040000000AB8040000000D58'); "StuffHex(@icons[3,60],'040000000AB807FFFFFFFD5806AC00000AB8055800000D58'); "StuffHex(@icons[3,72],'06B000000AB807FC000FFD70040600180AE00403FFF00DC0'); "StuffHex(@icons[3,84],'040000000B80040000000F00040000000E0007FFFFFFFC00'); "{ File Cabinet } "StuffHex(@icons[4, 0],'0007FFFFFC00000800000C00001000001C00002000003400'); "StuffHex(@icons[4,12],'004000006C0000FFFFFFD40000800000AC0000BFFFFED400'); "StuffHex(@icons[4,24],'00A00002AC0000A07F02D40000A04102AC0000A07F02D400'); "StuffHex(@icons[4,36],'00A00002AC0000A08082D40000A0FF82AC0000A00002D400'); "StuffHex(@icons[4,48],'00A00002AC0000BFFFFED40000800000AC0000BFFFFED400'); "StuffHex(@icons[4,60],'00A00002AC0000A07F02D40000A04102AC0000A07F02D400'); "StuffHex(@icons[4,72],'00A00002AC0000A08082D40000A0FF82AC0000A00002D800'); "StuffHex(@icons[4,84],'00A00002B00000BFFFFEE00000800000C00000FFFFFF8000'); "{ drawer } "StuffHex(@icons[5, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,12],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,24],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,36],'00000000000000000000000000000000000000001FFFFFF0'); "StuffHex(@icons[5,48],'0000380000300000680000700000D80000D0003FFFFFF1B0'); "StuffHex(@icons[5,60],'0020000013500020000016B000201FE01D50002010201AB0'); "StuffHex(@icons[5,72],'00201FE01560002000001AC0002000001580002020101B00'); "StuffHex(@icons[5,84],'00203FF01600002000001C00002000001800003FFFFFF000'); END; PROCEDURE DrawIcon(whichIcon,h,v: INTEGER); VAR srcBits: BitMap; $srcRect,dstRect: Rect; BEGIN "srcBits.baseAddr:=@icons[whichIcon]; "srcBits.rowBytes:=6; "SetRect(srcBits.bounds,0,0,48,32); "srcRect:=srcBits.bounds; "dstRect:=srcRect; "OffsetRect(dstRect,h,v); "CopyBits(srcBits,thePort^.portBits,srcRect,dstRect,srcOr,Nil); END; PROCEDURE DrawStuff; VAR i: INTEGER; $tempRect: Rect; $myPoly: PolyHandle; $myRgn: RgnHandle; $myPattern: Pattern; BEGIN "(* This pattern is not accepted in LisaDraw when we paste this output to LisaDraw. "StuffHex(@myPattern,'8040200002040800'); "*) "StuffHex(@myPattern,'2040800008040200'); {and this will} "tempRect := thePort^.portRect; "ClipRect(tempRect); "EraseRoundRect(tempRect,30,20); "FrameRoundRect(tempRect,30,20); "{ draw two horizontal lines across the top } "MoveTo(0,18); "LineTo(719,18); "MoveTo(0,20); "LineTo(719,20); "{ draw divider lines } "MoveTo(0,134); "LineTo(719,134); "MoveTo(0,248); "LineTo(719,248); "MoveTo(240,21); "LineTo(240,363); "MoveTo(480,21); "LineTo(480,363); "{ draw title } "TextFont(14); {used to be 0 - systext, user should never use 0 thru 3. ;14 is p10cent. Ufont will have all the legal font constant later.} "MoveTo(210,14); "DrawString('Look what you can draw with QuickDraw'); "{--------- draw text samples --------- } "MoveTo(80,34); Drawstring('Text'); "TextFace([bold]); "MoveTo(70,55); Drawstring('Bold'); "TextFace([italic]); "MoveTo(70,70); Drawstring('Italic'); "TextFace([underline]); "MoveTo(70,85); Drawstring('Underline'); "TextFace([outline]); "MoveTo(70,100); Drawstring('Outline'); "TextFace([shadow]); "MoveTo(70,115); Drawstring('Shadow'); "TextFace([]); { restore to normal } "{ --------- draw line samples --------- } "MoveTo(330,34); Drawstring('Lines'); "MoveTo(280,25); Line(160,40); "PenSize(3,2); "MoveTo(280,35); Line(160,40); "PenSize(6,4); "MoveTo(280,46); Line(160,40); "PenSize(12,8); "PenPat(gray); "MoveTo(280,61); Line(160,40); "PenSize(15,10); "PenPat(myPattern); "MoveTo(280,80); Line(160,40); "PenNormal; "{ --------- draw rectangle samples --------- } "MoveTo(560,34); Drawstring('Rectangles'); "SetRect(tempRect,510,40,570,70); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseRect(tempRect); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "PaintRect(tempRect); "OffsetRect(tempRect,25,15); "PenNormal; "FillRect(tempRect,gray); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "FillRect(tempRect,myPattern); "FrameRect(tempRect); "{ --------- draw roundRect samples --------- } "MoveTo(70,148); Drawstring('RoundRects'); "SetRect(tempRect,30,150,90,180); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseRoundRect(tempRect,30,20); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PaintRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PenNormal; "FillRoundRect(tempRect,30,20,gray); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "FillRoundRect(tempRect,30,20,myPattern); "FrameRoundRect(tempRect,30,20); "{ --------- draw bit image samples --------- } "MoveTo(320,148); Drawstring('Bit Images'); "DrawIcon(0,266,156); "DrawIcon(1,336,156); "DrawIcon(2,406,156); "DrawIcon(3,266,196); "DrawIcon(4,336,196); "DrawIcon(5,406,196); "{ --------- draw Wedge samples --------- } "MoveTo(570,148); Drawstring('Wedges'); "SetRect(tempRect,520,153,655,243); "FillArc(tempRect,135,65,dkGray); "FillArc(tempRect,200,130,myPattern); "FillArc(tempRect,330,75,gray); "FrameArc(tempRect,135,270); "OffsetRect(tempRect,20,0); "PaintArc(tempRect,45,90); "{ --------- draw polygon samples --------- } "MoveTo(80,262); Drawstring('Polygons'); "myPoly:=OpenPoly; $MoveTo(30,290); $LineTo(30,280); $LineTo(50,265); $LineTo(90,265); $LineTo(80,280); $LineTo(95,290); $LineTo(30,290); "ClosePoly; { end of definition } "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "PenSize(3,2); "ErasePoly(myPoly); "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "PaintPoly(myPoly); "OffsetPoly(myPoly,25,15); "PenNormal; "FillPoly(myPoly,gray); "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "FillPoly(myPoly,myPattern); "FramePoly(myPoly); "KillPoly(myPoly); "{ --------- demonstrate region clipping --------- } "MoveTo(320,262); Drawstring('Regions'); "myRgn:=NewRgn; "OpenRgn; $ShowPen; $SetRect(tempRect,260,270,460,350); $FrameRoundRect(tempRect,24,16); $MoveTo(275,335); { define triangular hole } $LineTo(325,285); $LineTo(375,335); $LineTo(275,335); $SetRect(tempRect,365,277,445,325); { oval hole } $FrameOval(tempRect); $HidePen; "CloseRgn(myRgn); { end of definition } "SetClip(myRgn); "FOR i:=0 TO 6 DO { draw stuff inside the clip region } $BEGIN &MoveTo(260,280+12*i); &Drawstring('Arbitrary Clipping Regions'); $END; "ClipRect(thePort^.portRect); "DisposeRgn(myRgn); "{ --------- draw oval samples --------- } "MoveTo(580,262); Drawstring('Ovals'); "SetRect(tempRect,510,264,570,294); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseOval(tempRect); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "PaintOval(tempRect); "OffsetRect(tempRect,25,15); "PenNormal; "FillOval(tempRect,gray); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "FillOval(tempRect,myPattern); "FrameOval(tempRect); END; { DrawStuff } BEGIN { main program } (* Must not do this in the QuickPort "{----- Initialization - Generic to all applications using QuickDraw -----} "QDInit(@heapBuf, @heapBuf[10000], @HeapFull); { Must do this once at beginning } "OpenPort(@myPort); *) "PaintRect(thePort^.portRect); { Paint grey background } "InitIcons; "DrawStuff; "Beep (2000, 500); { Beep tone of (1/2000)*10^6 == 500 cycles/sec for 6500 milliseconds } $(* Program has to use Beep in the QuickPort instead of Tone. Same parameters. $Tone(2000, 500); { Beep tone of (1/2000)*10^6 == 500 cycles/sec for <500 milliseconds } $*) "ReadLn; { Wait until RETURN entered before terminating program } END. 3Þ÷È÷Ó.½Î "˜6Fø€^5÷’D!$÷Ç�÷ð™àðšªð™Ü^é" " ÷œ’š‡UNIT UBaudRate; interface uses ${$U QP/Hardware} Hardware; {program has to use this in QuickPort to access Hardware unit} "procedure main; "procedure main1; implementation var "T1, E: milliseconds; "f: text; "n, count: longint; "s: string[255]; "len, test, baud: integer; procedure StartTimer; "begin $T1 := timer; "end; function MarkTime: longint; "var t2: milliseconds; "begin $T2 := timer; E := T2-T1; $MarkTime := E; "end; procedure ReportTime (var f: text); "begin $writeln; $writeln (f, 'Elapsed time: ', (e div 1000):1,' and ', (e mod 1000):1,'/1000 ', 0' seconds.'); "end; procedure main; var count : longint; begin "test := 0; "repeat $test := test + 1; $if test = 1 then &s := 'A' $else if test = 2 then &s := 'ab' $else if test = 3 then &s := 'abcdefghijklmnopqrstuvwzyz0123456789' $else &s := concat (s, s); $repeat &len := length (s); &write (('Number of ', len:1, *' character lines? (0 for next test, -1 to exit '); &readln (n); &if n > 0 then (begin *StartTimer; *for count := 1 to n do ,writeln (s); *e := MarkTime; *ReportTime(Output); *count := ord4(len)*n; *baud := (count*1000) div e; *writeln (' ', count:5, ' characters at ', baud:4, ' chars/sec.'); (end; $until (n = -1) or (n = 0); "until (n = -1) or (length(s) >= 128); end; procedure main1; var count : longint; begin "test := 0; "repeat $test := test + 1; $if test = 1 then &s := 'A' $else if test = 2 then &s := 'ab' $else if test = 3 then &s := 'abcdefghijklmnopqrstuvwzyz0123456789' $else &s := concat (s, s); $repeat &len := length (s); &write (('Number of single character write (0 for next test, -1 to exit '); &readln (n); &if n > 0 then (begin *StartTimer; *for count := 1 to n do ,write ('A'); *e := MarkTime; *ReportTime(Output); *count := n; *baud := (count*1000) div e; *writeln; *writeln (' ', count:5, ' characters at ', baud:4, ' chars/sec.'); (end; $until (n = -1) or (n = 0); "until (n = -1) or (length(s) >= 128); end; end. 3Þ÷È÷Ó.½Î "˜6Fø€^9’D!$÷Ç�÷ð™àðšªð™Ü^.�Kkø÷Âd̦˜̦�÷ÇÆÌ¥ö÷Â>L.÷ĨLˆ÷Ĩ÷Û÷ÄÚHÌ¥öLHH÷È4÷Å¥ö.̦�÷÷œL0HH÷Èd÷ÅFÌ¥ö÷¬L.÷Å÷ÂÌL0÷ÎR÷Ã̦˜ä̦�÷ÈdÌ¥ö÷ÂÜL.÷ÅFLˆ÷ÅF÷ÎR÷ÅxH̦˜ä̦�÷ÈdÌ¥ö̦�÷Ã>̦÷Ã0Ì«àÌ«ò÷ÄV÷Ä0̬÷Û̬8Ú8ÚÌÌp¸÷ļ̬÷Û̬&Î88,÷ÃÌF�F�F÷ÃÀÌpr÷Û. 8.Ì‹ÎÎ"NÎèÎü÷ÃúUNIT UQPortUser; /{to be used by your main programs that want to use special terminal 0processing such as the one in UUerTerm unit, so that they don't 0have to use all these units.} INTERFACE USES $UObject, $QuickDraw, $UDraw, $UABC, $UTKUniversalText, $UText, $UDialog, $Blkiointr, $UStdterm, ${$U QP/UUSERTERM} UUSERTERM; IMPLEMENTATION END. 3Þ÷È÷Ó.½Î "˜6Fø€^9. ’D!$÷Ç�÷ð™àðšªð™Ü^èMM*�L¬R**************} got the document prefix} ¯̯*÷Ãj÷ÃDÌ¥öLUU÷È4÷Åp¸÷ÃÐ̯@Î÷œL0÷Û÷ÂÒ̦˜Ì¦�÷È4Ì¥ö÷¬L.÷ÅLˆ÷Å÷Û÷ÅHU̦˜UzŽÌ¦�÷È4Ì¥ö̦�÷Ã̦÷ÃUNIT UQPSupport; INTERFACE USES ${$U tklib} UObject, ${$U sys1lib} QuickDraw, ${$U tklib} UDraw, ${$U tklib} UABC, ${$U tklib} UTKUniversalText, ${$U tklib} UText, ${$U tklib} UDialog, ${$U iospaslib} Blkiointr, {paslib's unit, should not be before UObject, Xneeded to compile UStdTerm} ${$U qplib} UStdTerm, ${$U syscall} syscall; %PROCEDURE putupalert (phrasenum : INTEGER); %FUNCTION getdocprefix (VAR prefix : pathname) : BOOLEAN; {return true if got the document prefix} /{You should use this prefix and append your file names to it when you want to create OS files 0in your program, so that the Desktop manager can copy all these files when user copys the 0document icon.} IMPLEMENTATION {$S someseg} {*********************************************************************************} PROCEDURE putupalert (phrasenum : INTEGER); BEGIN $process.stop (phrasenum); END; {putupalert} FUNCTION getdocprefix (VAR prefix : pathname) : BOOLEAN; BEGIN $IF currentDocument = NIL THEN getdocprefix := FALSE $ELSE &BEGIN (prefix := currentDocument.files.volumePrefix; (getdocprefix := TRUE; &END; END; {getdocprefix} END. {OF UNIT} 3Þ÷È÷Ó.½Î "˜6Fø€^9 ’D!$÷Ç�÷ð™àðšªð™Ü^QQe�K—Ât·’·ZžÌp¸÷œÌ�¤Ì�·ŽÌ�Ìp¸÷ÃÒÌ�Ì«àÌÛÌKK÷È4÷Åp¸÷ÃÐ̬Î÷œL0÷Û÷ÂÒ̦˜Ì¦�÷È4Ì¥ö÷¬L.÷ÅLˆ÷Å÷Û÷ÅHK̦˜Ke@̦�÷È4Ì¥öp¸̦�÷Ã̦÷Ãide LSW of diÌ�z̬Ì�sor (MOVE.W D0÷ÂF�F�·÷Ì«àÌ«ò÷Äh÷ÄB̬Îà̬8Ú8ÚÌÌp¸÷ÄÎ̬Îà̬d re88,÷ÃÞF�F�F÷ÃÒÌpr÷Û÷Ä0Îà÷Ä0,Dprogram QPUserTab; 4{QuickPort sample program with output copyable to LisaCalc} uses ${$U QP/UQuickPort} UQuickPort, $QuickDraw, ${$U QP/UQPortCall} UQportCall, ${$U QP/UQPortUser} UQPortUser; {You have to use this unit to get customized Jprocessing of Tab keys.} var i, j : integer; begin $Writeln ('We are going to write a table of numbers so you can copy them to'); $Writeln ('LisaCalc or LisaList.'); $SetTab (15); {set tab positions so we can use tab key} $SetTab (30); $SetTab (45); $FOR i := 1 TO 10 DO &BEGIN (FOR j := 1 TO 3 DO *BEGIN ,Write (CHR (9)); {tab} /{Note that the screen will have a tab character instead of space} ,Write (i*10+j); *END; (Writeln; &END; $Writeln ('Now you can do the copy and paste.'); end. 3Þ÷È÷Ó.½Î "˜6Fø€^9. ’D!$÷Ç�÷ð™àðšªð™Ü^5è5W5Ws�L¤Ä its class init routine like this.} to ÛÌ00÷È4÷Å÷œL0÷Û÷ÂÒ̦˜Ì¦�÷È4Ì¥ö÷¬L.÷ÅLˆ÷Å÷Û÷ÅH0̦˜01È̦�÷È4Ì¥ö̦�÷Ã̦÷ÃUNIT UUSERTERM; INTERFACE USES ${$U tklib} UObject, ${$U sys1lib} QuickDraw, ${$U tklib} UDraw, ${$U tklib} UABC, ${$U tklib} UTKUniversalText, ${$U tklib} UText, ${$U tklib} UDialog, ${$U iospaslib} Blkiointr, {paslib's unit, should not be before UObject, Xneeded to compile UStdTerm} ${$U qplib} UStdTerm; TYPE #TUSERTERM = SUBCLASS OF TStdTerm 'FUNCTION {TUSERTERM.}CREATE (object : TObject; heap : Theap) : TUSERTERM; {must not be changed} H{All subclass create must have these two parameters.} &{PROCEDURE TUSERTERM. CtrKeyWrite (ctrch : CHAR);} 'END; IMPLEMENTATION {$IFC fRngQP} {$R+} {$ELSEC} {$R-} {$ENDC} {$IFC fSymQP} {$D+} {$ELSEC} {$D-} {$ENDC} {$S someseg} {*********************************************************************************} METHODS OF TUSERTERM; FUNCTION {TUSERTERM.}CREATE {(object : TObject; heap : Theap) : TUSERTERM}; R{This function must not be changed.} BEGIN #IF object = NIL THEN 'object := NewObject (heap, THISCLASS); #SELF := TUSERTERM (TStdTerm.CREATE (object, heap)); END; {Create} PROCEDURE {TUSERTERM.}CtrKeyWrite {(ctrch : CHAR)}; VAR str : Tstr255; BEGIN $IF ctrch = CHR (9) THEN {tab} &BEGIN (str[1] := ctrch; (str[0] := CHR (1); (VStrWrite (str); {this will save the tab key as is.} (TStdTerm.CtrKeyWrite (ctrch); {to move cursor to the next tab position} &END $ELSE SELF.CtrKeyWrite (ctrch); {You can add any other control key processing here} END; {CtrKeyWrite} BEGIN {TUSERTERM init routine} $Consterm := TUSERTERM.CREATE (NIL, mainHeap); {Terminal subclass has to assign its own CREATE to YConsterm in its class init routine like this.} END; {METHODS OF TUSERTERM} END. {OF UNIT} 3Þ÷È÷Ó.½Î "˜6Fø€^9’D!$÷Ç�÷ð™àðšªð™Ü^~�o&6.·’·ZCÌp:÷œÌpzÌ‹¢·ŽÌ‹¢Ìp:÷ÃÒÌ‹¢Ì²h̲�LD÷È4÷Å÷Â|LdLdÌ÷œL0÷Û÷¨F�F�F÷œÌoô÷šÌoô²žÌ²h÷ÂÂFPFPjÌpPÌ‹¢÷ÃFFxÌp:÷ÃÒÌ‹¢ÎÀ̲�÷ÃF�F�FÌpP̲�Ì‹¢Ã..2ì /÷ÂF�F�·÷̲h̲z÷Äh÷ÄB̲�ÎÀ̲�8Ú8ÚÌÌp:÷ÄÎ̲�ÎÀ̲�Ì‹¢88,÷ÃÞF�F�F÷ÃÒÌoô÷Û÷Ä0ÎÀ÷Ä01ÈEXEC *{This note contains some descriptions about the Quickport sample +programs included here, and their exec files.} *{This is a text output only example.} SUBMIT QP/make(QP/mainbaud,100,slot2chan2,QP/ubaudrate) *{This is a text output only example with input panel shown.} SUBMIT QP/make(QP/mbaud.config,102,slot2chan2,QP/ubaudrate) *{This is a text output program that uses the VT100 terminal emulator.} SUBMIT QP/make(QP/mbaud.vt100,106,slot2chan2,QP/ubaudrate) *{This is an example of defining your special tab key processing instead +of using the standard terminal, so that you can generate a table to +copy to LisaCalc or LisaList directly.} SUBMIT QP/make(QP/usertab,120,slot2chan2,QP/uuserterm,QP/UQPortUser) *{This is a QuickDraw sample program modified to run in the QuickPort.} SUBMIT QP/make(QP/qdsample,75,slot2chan2) *{This is a QuickDraw sample program modified to save graphic output +in a picture before drawing to the screen.} SUBMIT QP/make(QP/qdsample.pic,770,slot2chan2) *{This is a QuickDraw sample program with example of saving and restoring +display.} SUBMIT QP/make(QP/qdsample.savepic,7700,slot2chan2) *{This is a sample program with both text output and graphic output (text +panel and graphic panel). It also shows an example of putting up special +alerts (stop alerts only) for error messages (you need the special +phrase file as shown for this) and getting the document prefix as +shown in QP/uqpsupport.} SUBMIT QP/make(QP/qdsample.config,77,slot2chan2,QP/uqpsupport) $RAlert{to generate customized phrase file} $QP/phuser{Your special phrase file, you must follow this example phrase file here.} $ $ $FBQP/phuserPhrase,~{T77~}Phrase{use same tool number as the one you use in QP/make} $Q *{This is the boxes (3D graphic) program modified to run in the QuickPort. +Note the use of linklist.} SUBMIT QP/make(QP/boxes,79,slot2chan2,<,qp/boxes.llist) *{This is an example program using mouse input.} SUBMIT QP/make(QP/mouseinput,150,slot2chan2) *{This is another example program using mouse input and emulating KeybdEvent.} SUBMIT QP/make(QP/mouseinput2,250,slot2chan2) ENDEXEC O^ E¢69e P÷ÍæH r÷ð™Ôð›�ð™Ð^}cˆ:ˆ:�o&•"New (toptr); { gÛÌGG÷È4÷Åre, you only nee÷œL0÷Û÷ÂÒÌ Ì ÷È4ÌŸn÷¬L.÷ÅLˆ÷Å÷Û÷ÅHGÌ G^¶Ì ÷È4ÌŸnntÌ ÷ÃÌŸ€÷à {picSave is handle to picture handle} "fromptr := pointer (ord (picstuff^)); "psize := picstuff^^.picSize; "for index := 0 to psize - 1 do $toptr^[index] := fromptr^[index]; "toptr^[psize] :=PROGRAM QDSample; { QuickDraw sample program modified to illustrate the use of QuickDraw in the QuickPort. } { Call QPConfig to show both text and graphic panel in vertical arrangement.} USES $QuickDraw, {needed to compile UQPortCall, also needed by this program} ${$U QP/UQPortCall} UQPortCall, {needed to call QPConfig} ${$U QP/UQPortGraph} UQPortGraph, {program has to use this if has graphic output} ${$U QP/Hardware} Hardware; {program has to use this in QuickPort to access Hardware unit} TYPE IconData = ARRAY[0..95] OF INTEGER; VAR heapBuf: ARRAY[0..10000] OF INTEGER;{must keep array under 32K byte limit} $myPort: GrafPort; $icons: ARRAY[0..5] OF IconData; $config : TQPConfigRec; $myPicture : PicHandle; $myPicPtr : PicPtr; (* We do not need this in the QuickPort FUNCTION HeapFull(hz: QDPtr; bytesNeeded: INTEGER): INTEGER; { This function will be called if the heapZone runs out of space } BEGIN "WRITELN('The heap is full. The program must now terminate! '); "Halt; END; *) PROCEDURE InitIcons; { Manually stuff some icons. Normally we would read them from a file } BEGIN "{ Lisa } "StuffHex(@icons[0, 0],'000000000000000000000000000000000000001FFFFFFFFC'); "StuffHex(@icons[0,12],'00600000000601800000000B0600000000130FFFFFFFFFA3'); "StuffHex(@icons[0,24],'18000000004311FFFFF00023120000080F231200000BF923'); "StuffHex(@icons[0,36],'120000080F23120000080023120000080023120000080F23'); "StuffHex(@icons[0,48],'1200000BF923120000080F2312000008002311FFFFF00023'); "StuffHex(@icons[0,60],'08000000004307FFFFFFFFA30100000000260FFFFFFFFE2C'); "StuffHex(@icons[0,72],'18000000013832AAAAA8A9F0655555515380C2AAAA82A580'); "StuffHex(@icons[0,84],'800000000980FFFFFFFFF300800000001600FFFFFFFFFC00'); "{ Printer } "StuffHex(@icons[1, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[1,12],'00000000000000007FFFFF00000080000280000111514440'); "StuffHex(@icons[1,24],'0002000008400004454510400004000017C00004A5151000'); "StuffHex(@icons[1,36],'0004000010000004A54510000004000017FE00F4A5151003'); "StuffHex(@icons[1,48],'0184000013870327FFFFF10F06400000021B0CFFFFFFFC37'); "StuffHex(@icons[1,60],'18000000006B3000000000D77FFFFFFFFFABC00000000356'); "StuffHex(@icons[1,72],'8000000001AC87F000000158841000CCC1B087F000CCC160'); "StuffHex(@icons[1,84],'8000000001C0C000000003807FFFFFFFFF0007800001E000'); "{ Trash Can } "StuffHex(@icons[2, 0],'000001FC000000000E0600000000300300000000C0918000'); "StuffHex(@icons[2,12],'00013849800000026C4980000004C0930000000861260000'); "StuffHex(@icons[2,24],'0010064FE0000031199830000020E6301800002418E00800'); "StuffHex(@icons[2,36],'0033E3801C0000180E002C00000FF801CC0000047FFE0C00'); "StuffHex(@icons[2,48],'000500004C000005259A4C000005250A4C00000525FA4C00'); "StuffHex(@icons[2,60],'000524024C00000524924C00600524924C0090E524924C7C'); "StuffHex(@icons[2,72],'932524924C82A44524924D01C88524924CF10C4524924C09'); "StuffHex(@icons[2,84],'0784249258E70003049233100000E000E40800001FFFC3F0'); "{ tray } "StuffHex(@icons[3, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[3,12],'0000000000000000000000000000000000000007FFFFFFF0'); "StuffHex(@icons[3,24],'000E00000018001A00000038003600000078006A000000D8'); "StuffHex(@icons[3,36],'00D7FFFFFFB801AC000003580358000006B807FC000FFD58'); "StuffHex(@icons[3,48],'040600180AB80403FFF00D58040000000AB8040000000D58'); "StuffHex(@icons[3,60],'040000000AB807FFFFFFFD5806AC00000AB8055800000D58'); "StuffHex(@icons[3,72],'06B000000AB807FC000FFD70040600180AE00403FFF00DC0'); "StuffHex(@icons[3,84],'040000000B80040000000F00040000000E0007FFFFFFFC00'); "{ File Cabinet } "StuffHex(@icons[4, 0],'0007FFFFFC00000800000C00001000001C00002000003400'); "StuffHex(@icons[4,12],'004000006C0000FFFFFFD40000800000AC0000BFFFFED400'); "StuffHex(@icons[4,24],'00A00002AC0000A07F02D40000A04102AC0000A07F02D400'); "StuffHex(@icons[4,36],'00A00002AC0000A08082D40000A0FF82AC0000A00002D400'); "StuffHex(@icons[4,48],'00A00002AC0000BFFFFED40000800000AC0000BFFFFED400'); "StuffHex(@icons[4,60],'00A00002AC0000A07F02D40000A04102AC0000A07F02D400'); "StuffHex(@icons[4,72],'00A00002AC0000A08082D40000A0FF82AC0000A00002D800'); "StuffHex(@icons[4,84],'00A00002B00000BFFFFEE00000800000C00000FFFFFF8000'); "{ drawer } "StuffHex(@icons[5, 0],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,12],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,24],'000000000000000000000000000000000000000000000000'); "StuffHex(@icons[5,36],'00000000000000000000000000000000000000001FFFFFF0'); "StuffHex(@icons[5,48],'0000380000300000680000700000D80000D0003FFFFFF1B0'); "StuffHex(@icons[5,60],'0020000013500020000016B000201FE01D50002010201AB0'); "StuffHex(@icons[5,72],'00201FE01560002000001AC0002000001580002020101B00'); "StuffHex(@icons[5,84],'00203FF01600002000001C00002000001800003FFFFFF000'); END; PROCEDURE DrawIcon(whichIcon,h,v: INTEGER); VAR srcBits: BitMap; $srcRect,dstRect: Rect; BEGIN "srcBits.baseAddr:=@icons[whichIcon]; "srcBits.rowBytes:=6; "SetRect(srcBits.bounds,0,0,48,32); "srcRect:=srcBits.bounds; "dstRect:=srcRect; "OffsetRect(dstRect,h,v); "CopyBits(srcBits,thePort^.portBits,srcRect,dstRect,srcOr,Nil); END; PROCEDURE DrawStuff; VAR i: INTEGER; $tempRect: Rect; $myPoly: PolyHandle; $myRgn: RgnHandle; $myPattern: Pattern; BEGIN "StuffHex(@myPattern,'8040200002040800'); "tempRect := thePort^.portRect; "ClipRect(tempRect); "EraseRoundRect(tempRect,30,20); "FrameRoundRect(tempRect,30,20); "{ draw two horizontal lines across the top } "MoveTo(0,18); "LineTo(719,18); "MoveTo(0,20); "LineTo(719,20); "{ draw divider lines } "MoveTo(0,134); "LineTo(719,134); "MoveTo(0,248); "LineTo(719,248); "MoveTo(240,21); "LineTo(240,363); "MoveTo(480,21); "LineTo(480,363); "{ draw title } "TextFont(14); {used to be 0 - systext, user should never use 0 thru 3. A14 is p10cent. Ufont will have all the legal font constant later.} "MoveTo(210,14); "DrawString('Look what you can draw with QuickDraw'); "{--------- draw text samples --------- } "MoveTo(80,34); Drawstring('Text'); "TextFace([bold]); "MoveTo(70,55); Drawstring('Bold'); "TextFace([italic]); "MoveTo(70,70); Drawstring('Italic'); "TextFace([underline]); "MoveTo(70,85); Drawstring('Underline'); "TextFace([outline]); "MoveTo(70,100); Drawstring('Outline'); "TextFace([shadow]); "MoveTo(70,115); Drawstring('Shadow'); "TextFace([]); { restore to normal } "{ --------- draw line samples --------- } "MoveTo(330,34); Drawstring('Lines'); "MoveTo(280,25); Line(160,40); "PenSize(3,2); "MoveTo(280,35); Line(160,40); "PenSize(6,4); "MoveTo(280,46); Line(160,40); "PenSize(12,8); "PenPat(gray); "MoveTo(280,61); Line(160,40); "PenSize(15,10); "PenPat(myPattern); "MoveTo(280,80); Line(160,40); "PenNormal; "{ --------- draw rectangle samples --------- } "MoveTo(560,34); Drawstring('Rectangles'); "SetRect(tempRect,510,40,570,70); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseRect(tempRect); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "PaintRect(tempRect); "OffsetRect(tempRect,25,15); "PenNormal; "FillRect(tempRect,gray); "FrameRect(tempRect); "OffsetRect(tempRect,25,15); "FillRect(tempRect,myPattern); "FrameRect(tempRect); "{ --------- draw roundRect samples --------- } "MoveTo(70,148); Drawstring('RoundRects'); "SetRect(tempRect,30,150,90,180); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseRoundRect(tempRect,30,20); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PaintRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "PenNormal; "FillRoundRect(tempRect,30,20,gray); "FrameRoundRect(tempRect,30,20); "OffsetRect(tempRect,25,15); "FillRoundRect(tempRect,30,20,myPattern); "FrameRoundRect(tempRect,30,20); "{ --------- draw bit image samples --------- } "MoveTo(320,148); Drawstring('Bit Images'); "DrawIcon(0,266,156); "DrawIcon(1,336,156); "DrawIcon(2,406,156); "DrawIcon(3,266,196); "DrawIcon(4,336,196); "DrawIcon(5,406,196); "{ --------- draw Wedge samples --------- } "MoveTo(570,148); Drawstring('Wedges'); "SetRect(tempRect,520,153,655,243); "FillArc(tempRect,135,65,dkGray); "FillArc(tempRect,200,130,myPattern); "FillArc(tempRect,330,75,gray); "FrameArc(tempRect,135,270); "OffsetRect(tempRect,20,0); "PaintArc(tempRect,45,90); "{ --------- draw polygon samples --------- } "MoveTo(80,262); Drawstring('Polygons'); "myPoly:=OpenPoly; $MoveTo(30,290); $LineTo(30,280); $LineTo(50,265); $LineTo(90,265); $LineTo(80,280); $LineTo(95,290); $LineTo(30,290); "ClosePoly; { end of definition } "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "PenSize(3,2); "ErasePoly(myPoly); "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "PaintPoly(myPoly); "OffsetPoly(myPoly,25,15); "PenNormal; "FillPoly(myPoly,gray); "FramePoly(myPoly); "OffsetPoly(myPoly,25,15); "FillPoly(myPoly,myPattern); "FramePoly(myPoly); "KillPoly(myPoly); "{ --------- demonstrate region clipping --------- } "MoveTo(320,262); Drawstring('Regions'); "myRgn:=NewRgn; "OpenRgn; $ShowPen; $SetRect(tempRect,260,270,460,350); $FrameRoundRect(tempRect,24,16); $MoveTo(275,335); { define triangular hole } $LineTo(325,285); $LineTo(375,335); $LineTo(275,335); $SetRect(tempRect,365,277,445,325); { oval hole } $FrameOval(tempRect); $HidePen; "CloseRgn(myRgn); { end of definition } "SetClip(myRgn); "FOR i:=0 TO 6 DO { draw stuff inside the clip region } $BEGIN &MoveTo(260,280+12*i); &Drawstring('Arbitrary Clipping Regions'); $END; "ClipRect(thePort^.portRect); "DisposeRgn(myRgn); "{ --------- draw oval samples --------- } "MoveTo(580,262); Drawstring('Ovals'); "SetRect(tempRect,510,264,570,294); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "PenSize(3,2); "EraseOval(tempRect); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "PaintOval(tempRect); "OffsetRect(tempRect,25,15); "PenNormal; "FillOval(tempRect,gray); "FrameOval(tempRect); "OffsetRect(tempRect,25,15); "FillOval(tempRect,myPattern); "FrameOval(tempRect); END; { DrawStuff } Procedure SavePicture (var savedPicptr : PicPtr); {save Quickport's picture in our data} @{Note that you don't need to do OpenPort, nor OpenPicture here.} type "bytearray = packed array [0..maxint] of 0..255; "arrayptr = ^bytearray; "hdl = ^ptr; "ptr = ^longint; var "ahandle : hdl; "fromptr, toptr : arrayptr; "index, psize : integer; "picstuff : PicHandle; begin "if thePort^.PicSave = nil then $begin &writeln ('no picture saved in the QuickPort'); &{You need to draw something to get the QuickPort picture open, and then erase what you just draw to &restore the original display.} $end; "New (toptr); {get space for saved picture, you only need to do Ythis the first time.} "ahandle := pointer (ord (thePort^.picSave)); "picstuff := pointer (ord (ahandle^^)); {picSave is handle to picture handle} "fromptr := pointer (ord (picstuff^)); "psize := picstuff^^.picSize; "for index := 0 to psize - 1 do $toptr^[index] := fromptr^[index]; "toptr^[psize] := $ff; {to signal the end of picture} "savedPicptr := pointer (ord (toptr)); end; procedure DrawSomethingElse; begin "PenSize(3,2); "MoveTo (5,5); LineTo (700,360); "MoveTo (700,5); LineTo (5,360); end; BEGIN { main program QDSample} (* Must not do this in the QuickPort "{----- Initialization - Generic to all applications using QuickDraw -----} $ªª‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»» ‡ÿÿ$»» ‡ÿÿ$»» ‡ÿÿ$»» ‡ÿÿ$»» ‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ$»»‡ÿÿ?Oÿ×ÿ?ÿ9€ÿ9€9€9ÿ€ÿ€€ ‡ÿÿûÿÿÿúÿÿÿùÿÿÿøÿÿÿ÷ÿÿÿöÿÿÿõÿÿÿôÿÿÿóÿÿÿòÿÿÿñÿÿÿðÿÿÿïÿÿÿîÿÿÿíÿÿÿìÿÿÿëÿÿÿêÿÿÿéÿÿÿèÿÿÿçÿÿÿæÿÿÿåÿÿÿäÿÿÿãÿÿÿâÿÿÿáÿÿÿàÿÿÿßÿÿÿÞÿÿ€)ÿ€*(€+)‡ÿ*€-ÿ€.,€/-‡ÿ.ÿÝÿÿÿÜÿÿÿÛÿÿÿÚÿÿÿÙÿÿÿØÿÿÿ×ÿÿÿÖÿÿÿÕÿÿÿÔÿÿÿÓÿÿÿÒÿÿÿÑÿÿ/€>/€?=/€@>/‡ÿ?€Nÿ€OM€PN€QO‡ÿP€Sÿ€TR€US€VT€WU€XV€YW€ZX€[Y €\Z €][ €^\ €_] €`^€a_€b`€ca€db€ec€fd€ge€hf€ig€jh€ki€lj€mk€nl€om€pn€qo€rp €sq!€tr"€us#€vt$€wu%€xv&€yw'€zx(‡ÿy€|ÿ€}{€~|€}€€~€�€‚€€ƒ�€„‚ €…ƒ €†„ €‡… €ˆ† €‰‡€Šˆ€‹‰€ŒŠ€�‹€ŽŒ€��€�Ž€‘�€’�€“‘€”’€•“€–”€—•€˜–€™—€š˜€›™ €œš!€�›"€žœ#€Ÿ�$€ ž%€¡Ÿ&€¢ '€£¡(€¤¢)€¥£*€¦¤+€§¥,€¨¦-€©§.€ª¨/‡ÿ©€¬ÿ€­«€®¬€¯­€°®€±¯€²°€³±€´² €µ³ €¶´ €·µ €¸¶ €¹·‡ÿ¸ €»ÿ €¼º €½» €¾¼ €¿½ €À¾ €Á¿ €ÂÀ €ÃÁ €Ä €Åà ‡ÿÄ €Çÿ €ÈÆ €ÉÇ €ÊÈ €ËÉ €ÌÊ €ÍË €ÎÌ €ÏÍ €ÐÎ €ÑÏ €ÒÐ €ÓÑ €ÔÒ €ÕÓ €ÖÔ €×Õ €ØÖ €Ù× €ÚØ ‡ÿÙ €Üÿ €ÝÛ €ÞÜ €ßÝ €àÞ €áß €âà €ãá €äâ €åã €æä €çå €èæ €éç €êè €ëé €ìê €íë €îì €ïí €ðî €ñï €òð €óñ €ôò €õó €öô ‡ÿõ €øÿ €ù÷ €úø €ûù €üú €ýû €þü €ÿý ‡ÿþ �ÿ � � ‡ÿ�ÿ��‡ÿ� ÿ� �  �  �  ‡ÿ OÿÑ �ÿ�������� � � � � �‡ÿ�ÿ� �!�" �#!�$"�%#�&$�'% �(& �)' �*( �+) �,*�-+�.,�/-�0.�1/�20�31�42�53‡ÿ4�7ÿ�86�97�:8�;9�<:�=;�><�?= �@> �A? �B@ �CA �DB�EC�FD�GE�HF�IG�JH‡ÿI�Lÿ�MK�NL�OM�PN�QO‡ÿP�Sÿ�TR�US�VT�WU�XV�YW�ZX�[Y ‡ÿZ�]ÿ�^\�_]�`^�a_�b`�ca�db�ec �fd �ge �hf �ig �jhÿÁi�lÿ�mk�nl�om�pn�qo�rp�sq�tr �us �vt �wu ‡ÿv�yÿ�zx‡ÿy�|ÿ�}{‡ÿ|�ÿ�€~‡ÿ�‚ÿ�ƒ�‡ÿ‚�…ÿ�†„�‡…�ˆ†�‰‡�Šˆ�‹‰�ŒŠ��‹ �ŽŒ ��� ��Ž �‘� �’��“‘�”’�•“�–”�—•�˜–�™—�š˜�›™�œš��›�žœ�Ÿ�� ž�¡Ÿ�¢ �£¡�¤¢ �¥£!�¦¤"�§¥#�¨¦$�©§%�ª¨&�«©'�¬ª(�­«)�®¬*�¯­+�°®,�±¯-�²°.�³±/�´²0�µ³1�¶´2�·µ3�¸¶4�¹·5�º¸6�»¹7�¼º8�½»9�¾¼:�¿½;�À¾<�Á¿=�ÂÀ>�ÃÁ?�ÄÂ@�ÅÃ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�ÞÜZ�ßÝ[�àÞ\�áß]�âà^�ãá_�äâ`�åãa�æäb�çåc�èæd�éçe�êèf�ëég�ìêh�íëi�îìj�ïík�ðîl�ñïm�òðn�óño�ôòp�õóq�öôr�÷õs�øöt�ù÷u‡ÿø�ûÿ�üú�ýû�þü�ÿý‚þ‚ÿ‚‚ ‚ ‚ ‚ ‚ ‚‚ ‚ ‚  ‚  ‚  ‚ ‚ ‚‚‚‚‚‚‚‚‚‚‚ ‚!‚"‚#‡ÿ‚ÿ‚ ‚!‚" ‚#!‚$"‚%#‚&$‚'% ‚(& ‚)' ‚*( ‚+) ‚,*‚-+‚.,‚/-‚0.‚1/‚20‚31‡ÿ2‚5ÿ‚64‚75‡ÿ6‚9ÿ‚:8‚;9‚<:‚=;‚><‚?=‚@>‚A? ‚B@ ‚CA ‡ÿB ‚Eÿ ‚FD ‚GE ‡ÿF!‚Iÿ!‚JH!‚KI!‚LJ!‚MK!‡ÿL"‚Oÿ"‚PN"‚QO"‡ÿP#‚Sÿ#‚TR#‚US#‚VT#‚WU#‚XV#‚YW#‚ZX#‚[Y# ‚\Z# ‚][# ‚^\# ‚_]# ‡ÿ^$‚aÿ$‚b`$‚ca$‚db$‚ec$‚fd$‚ge$‚hf$‚ig$ ‚jh$ ‚ki$ ‚lj$ ‚mk$ ‚nl$‚om$‡ÿn%‚qÿ%‚rp%‚sq%‚tr%‚us%‚vt%‚wu%‡ÿv&‚yÿ&‚zx&‚{y&‚|z&‚}{&‚~|&‚}&‚€~&‚�& ‚‚€& ‚ƒ�& ‚„‚& ‚…ƒ& ‚†„&‚‡…&‚ˆ†&‚‰‡&‚Šˆ&‚‹‰&‚ŒŠ&‚�‹&‚ŽŒ&‚��&‚�Ž&‚‘�&‚’�&‚“‘&‡ÿ’'‚•ÿ'‚–”'‚—•'‚˜–'‚™—'‚š˜'‚›™'‚œš'‚�›' ‚žœ' ‚Ÿ�' ‚ ž' ‚¡Ÿ' ‚¢ '‚£¡'‚¤¢'‚¥£'‚¦¤'‚§¥'‚¨¦'‚©§'‚ª¨'‚«©'‚¬ª'‚­«'‡ÿ¬(‚¯ÿ(‚°®(‚±¯(‚²°(‚³±(‚´²(‚µ³(‚¶´(‚·µ( ‚¸¶( ‚¹·( ‚º¸( ‚»¹( ‚¼º(‚½»(‚¾¼(‚¿½(‚À¾(‚Á¿(‚ÂÀ(‚ÃÁ(‚ÄÂ(‚ÅÃ(‚ÆÄ(‚ÇÅ(‡ÿÆ)‚Éÿ)‚ÊÈ)‚ËÉ)‚ÌÊ)‚ÍË)‡ÿÌ*‚Ïÿ*‚ÐÎ*‚ÑÏ*‡ÿÐ+‚Óÿ+‚ÔÒ+‚ÕÓ+‚ÖÔ+‚×Õ+‡ÿÖ,‚Ùÿ,‚ÚØ,‚ÛÙ,‡ÿÚ-‚Ýÿ-‚ÞÜ-‚ßÝ-‚àÞ-‚áß-‡ÿà.‚ãÿ.‚äâ.‚åã.‚æä.‚çå.‚èæ.‚éç.‡ÿè/‚ëÿ/‚ìê/‚íë/‚îì/‚ïí/‚ðî/‚ñï/‚òð/‚óñ/ ‚ôò/ ‚õó/ ‚öô/ ‚÷õ/ ‚øö/‚ù÷/‚úø/‚ûù/‚üú/‚ýû/‚þü/‚ÿý/ƒþ/ƒÿ/ƒ/ƒ/‡ÿ