`8`Nپp Hy NMHz<<b Hz`&O`?< NA.KNu (Ver. 18.4.91) p Hello !! I am your personal boot sector GUARDIAN As long as I display this message YOUR BOOT SECTOR IS NOT INFECTED BY ANY VIRUS --------------------------------------- This guardian was placed on your diskette by FASTCOPY PRO (c) 1991 ICP Verlag, Martin Backschat q 8 /`! #@o')+/1 3@5`79;=A C@E`GKMOQ S@U`WY[]_/c@e`gikmoq s@u`wy{} @`  O ` / @ @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   /Aa!#A%a')+-/1!O5a79;=?A!CAEaIMOQ!SAUaWY[]_a!Oeaimoq!sAuawy{}!Aa!Aa!Aa!Aa!Aaǁɡ!Aaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&O&eb&g&ik&m&o'q"'sB'ub'w'y'{'}'("(B(b((((()")B)b)))))*"*B*b** /`! #@o')+/1 3@5`79;=A C@E`GKMOQ S@U`WY[]_/c@e`gikmoq s@u`wy{} @`  O ` / @ @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   /Aa!#A%a')+-/1!O5a79;=?A!CAEaIMOQ!SAUaWY[]_a!Oeaimoq!sAuawy{}!Aa!Aa!Aa!Aa!Aaǁɡ!Aaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&O&eb&g&ik&m&o'q"'sB'ub'w'y'{'}'("(B(b((((()")B)b)))))*"*B*b**DEMO_ASS AR4DEMO_PC BR4DEMO_PD DR4FONTS FR4PC_FSEL HR4PC_HELP IR4BGIOBJ TTP P4c0CPP TTP N4k.DISPOBJ TTP O4[YHC TTP #O4\PASM TTP N4j/PCC CFG jPCC TTP N4fPLINK TTP Yz K\READ_ME TXT!! . 7.. 7C_ASM PRJ 8C_ASM_C C Y4C_ASM_S S ; DEMO PRJ D DEMO S Ņ . 7.. 7BGIDEMO C TwaBGIDEMO PRJ DCLOCKACCC BwPeAHELLO C bLNATEST C bPCFRAME C bPCFRAME PRJ KUPCGEM1 C b PCGEM2 C N%v PCGEM3 C b(PCGEM4 C b-EPCGEM5 C ze?$PCTEST RSC TISCANCODEH VJ. 7.. 7BEZUG C YCCOUNT C ZCCOUNT PRJ \$CCOUT C ]FOR C avINSPDEMOC bPCFRAME C dPDGEMDB C fPDGEMDB PRJ g%PDTEST RSC hTEXT DAT jWCOUNTB C fWCOUNTB PRJ m READ__MEDOC!}$. 7.. 7BOLD CHR VEURO CHR b!GOTH CHR bFLCOM CHR bE/LITT CHR b SANS CHR bF5SCRI CHR b*SIMP CHR b TRIP CHR b;ATSCR CHR b"%B. 7.. 7PC_FSEL ACC %P43vLPC_FSEL DOC bnG READ__MEDOC!}$. 7.. 7HELP PRJ coJBHELPMSG C yuhHELPMSG H KKPC_HELP ACC GP4LYPC_HELP DOC ocPC_HELP INF #og; Das Projekt C_ASM zeigt, wie eine Assemblerroutine aus einem C-Programm ; aufgerufen werden kann. Die Assemblerroutine ruft wiederum eine ; C-Funktion sowie eine Pure C - Bibliotheksfunktion auf. c_asm.tos = pcstart.o ; pure c startup c_asm_c.c ; main module ( includes main-funktion ) c_asm_s.s ; assembler module pcfltlib.lib pcstdlib.lib '̓Ѓ"˩ǃ̓у#̓˃̓#˃̓ƒǃ̓̓˃Ʈǃƃƃ̓ƃǃ΃ƾ=΃#ууу̓̓ԏƃƃ׍;͍̓ƃǃƃƃу׍ ʃ͍̓׏Ѓ"Ʈ׃׃̓ƃ͏̓уǍƃЃ׃Ѓ̓ƃǃу׍Ύ"ͮǃ̓demo.tos = demo.s Ӄƃуă׃у͍̓у˃ƍƃƃу澎у̓Ůуփ"ƃ"ȃŃσ7ƃЃ#׃ƃ̓ƃ׃˃ƒ̃̓уЃ̓ӎ7͍у͓̓ӎ'̓̓7σ΃̓ƃ׃׍Ѯͮ̓͏̓̃уͮŃȍ̓͏̓Ѯ"̓Ѓ̓̓̓̓ƃύƃ̓ƃƃ͏ڎ"̓у׃̓Ńуƃ̓ˍ˃ǃ"Ȯ;ƃ̓͏Ѓ7уу̓ƃͮƏ̓׃уу΃̓ʍƩǃƃƃƃ; C_ASM.S ; Demoprogramm zum Aufruf von Assemblerroutinen aus ; C-Programmen und umgekehrt. EXPORT SumMulFac ; Fr MAIN.C IMPORT fakult ; Aus MAIN.C IMPORT printf ; Aus der Bibliothek PCFLTLIB TEXT SumMulFac: move.l D3, -(A7) ; Benutzte Register retten move.l D4, -(A7) move.w D0, D3 ; D3,D4 dienen als Variable move.w D1, D4 muls D0, D1 ; Produkt berechnen move.L D1, -(A7) ; Ergebnis mit printf() ausgeben move.w D4, -(A7) move.w D3, -(A7) lea multi, A0 bsr printf addq #8, A7 ; Stackkorrektur nach Aufruf von printf() move.w D3, D0 move.w D4, D1 add D0, D1 ; Summe berechnen move.w D1, -(A7) ; Ergebnis mit printf() ausgeben move.w D4, -(A7) move.w D3, -(A7) lea summe, A0 bsr printf addq #6, A7 ; Stackkorrektur nach Aufruf von printf() move.w d3, d0 beq exit bsr fakult ; Fakultt berechnen (in C_ASM.C) exit: move.l (A7)+, D4 ; Register wiederherstellen move.l (A7)+, D3 rts DATA multi: dc.b "Das Produkt aus %d und %d ist %ld", 10, 0 summe: dc.b "Die Summe aus %d und %d ist %d", 10, 0 gram resetQuitRunRun-MenSaveStackStep overTrace intoUntil returnUser ScreenVariablesViewWatch...Watches DHP wU?|m 1<.u|u 1Ü9\(<) 1Ü9,oZsĝs@zē<.ēǍ,v%l|bu > > > > > > > B O R L A N D < < < < < < < < * ; * * ; * All rights reserved Copyright (89) * ; * * ; * -------------------------------------------------------------------- * ; * * ; * project BGI DEMO * ; * * ; * module bgiobj.prj * ; * * ; ************************************************************************ BGIDEMO.PRG = PCSTART.O BGIDEMO.C PCFLTLIB.LIB ; note: the order of the librarys is significant !! PCBGILIB.LIB PCSTDLIB.LIB PCEXTLIB.LIB PCTOSLIB.LIB PCGEMLIB.LIB ; * -------------------------------------------------------------------- * ; * end of bgidemo.prj * ; * -------------------------------------------------------------------- * o\y cvѹє\x 2lo0eRѹє cӋm*-/M! f`йӞ(m?Lcƽ*z\g,hEsқM%W\fƄČƽg,k# int main( void ) { printf("Hello, world\n"); return 0; } +Ah] 8vӶ"eӵl }0u,Ҩ  #include "linea.h" BITBLT bitblt; MFORM maus; PATTERN fill; SDB sprite1, sprite2, sprite3, sprite4; SSB buffer1, buffer2, buffer3, buffer4; int points[] = { 320,0, 430,150, 640,200, 430,250, 320,400, 210,250, 0,200, 210,150, }; extern FONTS *Fonts; int main(void) { int x, y, i; char s[81]; linea_init(); set_fg_bp(1); /* schwarz */ set_ln_mask(0xFFFF); /* durchgezogene Linie */ set_clip(0, 0, 639, 399, 0); /* Clipping aus */ hide_mouse(); /* Maus ausschalten */ set_pattern(fill, 1, 0); /* Fllmuster */ fill[0] = 0x5555; fill[1] = 0xAAAA; set_wrt_mode(REPLACE); filled_rect(0, 0, 640, 400); for(i = 0; i < 256; i += 2) { fill[0] = i; fill[1] = i*256; filled_rect(320-i, 200-i/2, 320+i, 200+i/2); } fill[0] = 0x3333; fill[1] = 0xCCCC; filled_polygon(points, 8); for(x = 0, y = 0; y < 401; x += 2, y += 2) { draw_line(x,y,640-x,400-y); draw_line(x,400-y,640-x,y); draw_line(640-x,y,x,400-y); draw_line(640-x,400-y,x,y); } set_wrt_mode(XOR); set_ln_mask(0x3333); for(y = 10; y < 391; y += 5) horizontal_line(10,y,630); for(x = 0; x < 641; x++) put_pixel(x,200,1); for(y = 0; y < 401; y++) put_pixel(320,y,1); for(i = 0; i <200; i += 4) draw_circle(320, 200, i, 1); /*** SPRITE DEMO ***/ sprite1.xhot = sprite1.yhot = 8; sprite1.form = VDIFM; sprite1.bgcol = 1; sprite1.fgcol = 2; for(i = 0; i < 32; i++) sprite1.image[i] = 0xF0F0; sprite2.xhot = sprite2.yhot = 8; sprite2.form = XORFM; sprite2.bgcol = 1; sprite2.fgcol = 2; for(i = 0; i < 32; i++) sprite2.image[i] = 0xF0F0; sprite3.xhot = sprite3.yhot = 8; sprite3.form = VDIFM; sprite3.bgcol = 1; sprite3.fgcol = 2; for(i = 0; i < 32; i++) sprite3.image[i] = 0x8888; sprite4.xhot = sprite4.yhot = 8; sprite4.form = XORFM; sprite4.bgcol = 1; sprite4.fgcol = 2; for(i = 0; i < 32; i++) sprite4.image[i] = 0x8888; for(x = 10, y = 10; y < 391; x++, y++) { draw_sprite(x, y, &sprite1, &buffer1); draw_sprite(540-x, 400-y, &sprite2, &buffer2); draw_sprite(100+x, 400-y, &sprite3, &buffer3); draw_sprite(640-x, y, &sprite4, &buffer4); for(i = 0; i < 1000; i++) ; undraw_sprite(&buffer4); undraw_sprite(&buffer3); undraw_sprite(&buffer2); undraw_sprite(&buffer1); } fill[0] = 0xFFFF; fill[1] = 0xFFFF; set_wrt_mode(XOR); for(i = 0; i < 50; i++) filled_rect(0, 0, 640, 400); /*** BITBLT Demo ***/ bitblt.s_xmin = 120; bitblt.s_ymin = 0; bitblt.d_xmin = 120; bitblt.d_ymin = 0; bitblt.op_tab[0] = bitblt.op_tab[1] = 0x8; bitblt.op_tab[2] = bitblt.op_tab[3] = 0x8; bitblt.s_form = bitblt.d_form = Physbase(); bitblt.s_nxwd = bitblt.d_nxwd = 2; bitblt.s_nxln = bitblt.d_nxln = 80; bitblt.s_nxpl = bitblt.d_nxpl = 2; bitblt.p_addr = 0L; bitblt.plane_ct = 1; bitblt.fg_col = 1; bitblt.bg_col = 1; for(i = 1; i < 400; i++) { bitblt.b_wd = i; bitblt.b_ht = i; bit_blt(&bitblt); } fill[0] = 0x0; fill[1] = 0x0; set_wrt_mode(REPLACE); filled_rect(0, 0, 640, 400); set_wrt_mode(TRANS); /*** TEXTBLT DEMO ***/ for(i = 1; i < 51; i++) s[i-1] = (char) i; s[50] = '\0'; for(i = 0; i < 19; i++) { set_text_blt(Fonts->font[i%3], 0, (i*2)%33, 0, 1, 0); print_string(10, 10+19*i, i%3, s); } set_text_blt(Fonts->font[2], 0, 0, 0, 1, 0); print_string(10, 371, -2, "Weiter mit Taste ..."); /*** Maus DEMO ***/ maus.mf_xhot = maus.mf_yhot = 8; maus.mf_fg = 0; maus.mf_bg = 1; maus.mf_nplanes = 1; for(i = 0; i < 16; i++) { maus.mf_mask[i] = 0xFFFF-i-i*256; maus.mf_data[i] = i+i*256; } transform_mouse(&maus); show_mouse(0); Cnecin(); return(0); } M xl\zl',;ѴPϝ}#l;ѴPϝbx8, )O bns0-U]ЍӄӜ мˍ'M> ]H#E|c ēlo A T-/rCǢ [KTDY28Ӫ- 8([UE|cloүқҩ߇Ҳ 3 g,h`'ѽRud2z)-$ u 7=="Ѣ=CМ6,p obP$M' Lm-=/. Se]-8M9 m ,[ЀО ]H#Sd"luS ,L^Ѣ6"w-5ҸӚ/SdRluS*еO #include #include #include /* -------------------------------------------------------------------- */ /* Typendefinition. */ /* -------------------------------------------------------------------- */ typedef enum { FALSE, TRUE } boolean; /* -------------------------------------------------------------------- */ /* Globale Variablen. */ /* -------------------------------------------------------------------- */ int work_in[12], work_out[57]; int handle, phys_handle; int gl_hchar, gl_wchar, gl_hbox, gl_wbox; int gl_apid; /* ------------------------------------------------------------------- */ /* Funktionsprototypen. */ /* ------------------------------------------------------------------- */ boolean open_vwork( void ); void close_vwork( void ); void gem_prg( void ); /* -------------------------------------------------------------------- */ /* boolean open_vwork( void ); */ /* */ /* Workstation ffnen ... */ /* */ /* -> Nichts. */ /* */ /* <- TRUE falls das VDI initialisiert */ /* werden konnte, */ /* FALSE sonst. */ /* -------------------------------------------------------------------- */ boolean open_vwork( void ) { register int i; if (( gl_apid = appl_init() ) != -1 ) { for ( i = 1; i < 10; work_in[i++] = 1 ); work_in[10] = 2; phys_handle = graf_handle( &gl_wchar, &gl_hchar, &gl_wbox, &gl_hbox ); work_in[0] = handle = phys_handle; v_opnvwk( work_in, &handle, work_out ); return ( TRUE ); } else return ( FALSE ); } /* -------------------------------------------------------------------- */ /* void close_vwork( void ); */ /* */ /* ... und wieder schlieen. */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void close_vwork( void ) { v_clsvwk( handle ); appl_exit( ); } /* -------------------------------------------------------------------- */ /* void main( void ) */ /* */ /* Hier steht Ihr C-Programm! */ /* */ /* -> Nichts. */ /* */ /* <- Programmendecode: */ /* 0 fehlerfreier Ablauf */ /* -1 Fehler in der Programm- */ /* initialisierung */ /* -------------------------------------------------------------------- */ void main( void ) { if ( open_vwork( ) == TRUE ) { /* ================================ */ /* Fgen Sie Ihr Programm hier ein: */ /* -------------------------------- */ gem_prg( ); /* ================================ */ close_vwork( ); exit ( 0 ); } else { fprintf( stderr, "Fehler bei der Programminitialisierung!" ); exit ( -1 ); } } /* -------------------------------------------------------------------- */ /* Ende des GEM-Programmgersts. */ /* -------------------------------------------------------------------- */ ;(;M D }\(ō$&-MQ4J‹ xӉ;=M8? FSbT;MLS3K#ʌS3;]M8,#ƌC W* = pcstart.o * pcframe.c pcstdlib.lib pcextlib.lib pcgemlib.lib pctoslib.lib,pČolk,yц-mmҢK.|bӈBLNZƇl.=2;\kb-lS.ӵƶ sqOX \g bӞub]sѪ"|bҴdv&ĝ2RЈKүEz]\k]s R(Zm@. M 8zb}770ѝƢ"*/************************************************************************/ /* */ /* Beispielprogramm: APPL_TRECORD( ) */ /* APPL_TPLAY( ) */ /* */ /* Copyright (c) 1989 Borland International */ /* All rights reserved. */ /* */ /************************************************************************/ /* -------------------------------------------------------------------- */ /* Include-Files einbinden. */ /* -------------------------------------------------------------------- */ #include /* -------------------------------------------------------------------- */ /* Konstantendefinitionen. */ /* -------------------------------------------------------------------- */ #define STARTMES 0 #define EORECORDING 1 #define REPLAYFAST 2 #define REPLAYHURICANE 3 #define GOODBYE 4 #define BUFSIZE 16000 /* -------------------------------------------------------------------- */ /* Typendefinitionen. */ /* -------------------------------------------------------------------- */ typedef struct { long code; long event; } RECORD; /* -------------------------------------------------------------------- */ /* Globale Variablen. */ /* -------------------------------------------------------------------- */ char *Mess[] = { "[1][Alle im folgenden gemachten|Mausbewegungen werden nun|aufgezeichnet.][Start]", "[3][Das war's.|Und nun die Wiedergabe:][Play]", "[1][Nun eine etwas schneller|Wiedergabe.][Play]", "[1][Zum Schlu:|Schnell wie der Wind...][Play]", "[3][Damit ist das Programm|beendet.][Ende]" }; RECORD Buffer[BUFSIZE]; /* -------------------------------------------------------------------- */ /* Funktionsprototypen. */ /* -------------------------------------------------------------------- */ void gem_prg( void ); int usage( int message); /* -------------------------------------------------------------------- */ /* void gem_prg( void ); */ /* */ /* Beispiel fr die Verwendung der Funktionen appl_trecord( ) */ /* und appl_tplay in einem GEM-Programm. */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void gem_prg( void ) { usage( STARTMES ); appl_trecord( Buffer, 2000 ); usage( EORECORDING ); appl_tplay( Buffer, 2000, 5 ); usage( REPLAYFAST ); appl_tplay( Buffer, 2000, 20 ); usage( REPLAYHURICANE ); appl_tplay( Buffer, 2000, 100 ); usage( GOODBYE ); } /* -------------------------------------------------------------------- */ /* int usage( int message ); */ /* */ /* Es wird eine Meldung fr den Benutzer ausgegeben, auf die er */ /* dann reagieren mu. */ /* */ /* -> message Index der Meldung im Feld Mess (s.o.) */ /* */ /* <- Der Objektindex des Exitbutton wird */ /* zurckgegeben. */ /* -------------------------------------------------------------------- */ int usage( int message ) { return ( form_alert( 1, *( Mess + message ))); } /* -------------------------------------------------------------------- */ /* Ende der Beispielprogramms fr APPL_TRECORD( ), APPL_TPLAY( ). */ /* -------------------------------------------------------------------- */ D 0x10 #define S_IEXEC 0x20 #define MAXPATH 119 #define MAXDRIVE 3 #define MAXDIR 102 #define MAXFILE 9 #define MAXEXT 5 typedef unsigned long size_t; struct ffblk { char ff_reserved[21]; /* Reserved by TOS */ char ff_attrib; /* Attribute found */ int ff_ftime; /************************************************************************/ /* */ /* Beispielprogramm: EVNT_KEYBD( ) */ /* */ /* Copyright (c) 1989 Borland International */ /* All rights reserved. */ /* */ /************************************************************************/ /* -------------------------------------------------------------------- */ /* Include-Files einbinden. */ /* -------------------------------------------------------------------- */ #include #include "scancode.h" /* -------------------------------------------------------------------- */ /* Funktionsprototypen. */ /* -------------------------------------------------------------------- */ void gem_prg( void ); /* -------------------------------------------------------------------- */ /* void gem_prg( void ); */ /* */ /* Beispiel fr die Verwendung der Funktion evnt_keybd( ) in */ /* einem GEM-Programm. */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void gem_prg( void ) { int kc = 0; while ( kc != CNTRL_C ) { kc = evnt_keybd( ); if ( kc == CNTRL_C ) form_alert( 1, "[1][Programmende.][Ok]" ); else form_alert( 1, "[2][Programm kann mit|Control-C|verlassen werden][Ok]" ); } } /* -------------------------------------------------------------------- */ /* Ende der Beispielprogramms fr EVNT_KEYBD( ). */ /* -------------------------------------------------------------------- */ J@f gZ'D`NPKRCbp JN*m4&R'D MNRAN&Jm"M jN>` Q0<`j 0L<8NuHHgAHgAHg AHgA`|NuH8<$H:>GWpkgrkfNJ@gp` JN6H k(0`N(S ,"k JNJ@f0lg TfTflflg|89E9G`h|gh(, Jlp KN(m`(S JNRANp)@Jm:"J kN>89E9G0H k)p k!kB@` pLNuH<*HEWpj g>rj fNJ@f.&R *(KBC` "j MNJ@f0` PKRCb0 /* -------------------------------------------------------------------- */ /* Konstantendefinitionen. */ /* -------------------------------------------------------------------- */ #define ME_HIDE 0 #define ME_SHOW 1 #define ME_NORM 1 #define RSC_NAME "PCTEST.RSC" /* -------------------------------------------------------------------- */ /* Typendefinition. */ /* -------------------------------------------------------------------- */ typedef enum { FALSE, TRUE } boolean; /* -------------------------------------------------------------------- */ /* Globale Variablen. */ /* -------------------------------------------------------------------- */ OBJECT *M_tree; /* -------------------------------------------------------------------- */ /* Funktionsprototypen. */ /* -------------------------------------------------------------------- */ void gem_prg( void ); /* -------------------------------------------------------------------- */ /* void gem_prg( void ); */ /* */ /* Beispiel fr die Verwendung der Funktion evnt_mesag( ) in */ /* einem GEM-Programm. */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void gem_prg( void ) { int msgbuff[8]; /* Mitteilungspuffer. */ boolean done = FALSE; /* 'Mach weiter'-Flag. */ if ( rsrc_load( RSC_NAME ) > 0 ) /* Es kann auch ein anderes */ { /* Rsc-File geladen werden. */ rsrc_gaddr( 0, 0, &M_tree ); /* Startadresse des Baumes */ /* bestimmen. */ graf_mouse( M_OFF, 0 ); /* Maus ausblenden. */ menu_bar( M_tree, ME_SHOW ); /* Men anzeigen. */ graf_mouse( M_ON, 0 ); graf_mouse( ARROW, 0 ); /* Mauszeiger ist der Pfeil. */ do { evnt_mesag( msgbuff ); /* Ereignis abwarten. */ if ( msgbuff[0] == MN_SELECTED ) /* Menpunkt wurde ausgehlt. */ { if ( msgbuff[4] < 16 ) /* Kleiner 16 ist immer About */ /* bzw. Accessory-Eintrag. */ form_alert( 1, "[0][ Pure C Demo| |(c) 1989 \ Borland Int. |All rights reserved.][ Ok ]" ); else /* Wenn er eine hhere Nummer */ done = TRUE; /* besitzt, dann ist es voll- */ /* bracht. */ menu_tnormal( M_tree, msgbuff[3], ME_NORM ); } /* Mentitel normal zeichnen. */ } while ( !done ); /* Solange nichts getan ist! */ graf_mouse( M_OFF,0 ); menu_bar( M_tree, ME_HIDE ); /* Men verschwinden lassen. */ graf_mouse( M_ON, 0 ); rsrc_free( ); /* Durch Rsc-Datei belegten */ } /* Speicher freigeben. */ else form_alert( 1, "[3][Rsc-Datei nicht gefunden.][Abbruch]" ); } /* -------------------------------------------------------------------- */ /* Ende der Beispielprogramms fr EVNT_MESAG( ). */ /* -------------------------------------------------------------------- */ 2FE0fbR,0Z }!9&ߤ,WvYGHdPln&7qkIu[ņUih 1Ț /************************************************************************/ /* */ /* Beispielprogramm: EVNT_MULTI( ) */ /* diverse WIND_-Routinen */ /* */ /* Copyright (c) 1989 Borland International */ /* All rights reserved. */ /* */ /************************************************************************/ /* -------------------------------------------------------------------- */ /* Include-Files einbinden. */ /* -------------------------------------------------------------------- */ #include #include #include #include "scancode.h" /* -------------------------------------------------------------------- */ /* Konstantendefinitionen. */ /* -------------------------------------------------------------------- */ #define DESK 0 #define W_KIND NAME|CLOSER|FULLER|MOVER|SIZER #define EV_KIND MU_MESAG|MU_TIMER|MU_KEYBD #define WINDOW_NAME "Pure C - Beispielprogramm" #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b)) /* -------------------------------------------------------------------- */ /* Typendefinition. */ /* -------------------------------------------------------------------- */ typedef enum { FALSE, TRUE } boolean; /* -------------------------------------------------------------------- */ /* Funktionsprototypen. */ /* -------------------------------------------------------------------- */ void gem_prg( void ); void hndl_window( void ); void do_redraw( int w_handle, int x, int y, int w, int h ); void new_size( int w_handle, int x, int y, int w, int h ); void close_window( int w_handle ); void clipping( int x, int y, int w, int h, int mode ); boolean rc_intersect( GRECT *r1, GRECT *r2 ); boolean open_window( void ); /* -------------------------------------------------------------------- */ /* Globale Variablen. */ /* -------------------------------------------------------------------- */ int Msgbuff[8]; /* Buffer fr Mitteilungen. */ int W_handle, /* Variablen zum Arbeiten mit einem */ Wx, Wy, Ww, Wh; /* Fenster - bei mehreren Fenstern */ boolean W_fulled; /* ist ein Feld mit diesen Variabl. */ /* zu vereinbaren. */ int pxarray[128]; /* Feld fr Clipkoordinaten etc. */ boolean Done = FALSE; /* 'Mach weiter'-Flag. */ /* -------------------------------------------------------------------- */ /* Extern definierte globale Variable. */ /* -------------------------------------------------------------------- */ extern int handle; extern int gl_wbox, gl_hbox; /* -------------------------------------------------------------------- */ /* void gem_prg( void ); */ /* */ /* Beispiel fr die Verwendung der Funktion evnt_multi( ), sowie */ /* diverser Funktionen der wind-Bibliothek in einem GEM-Programm. */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void gem_prg( void ) { int style = 0; /* Fllmuster fr Fenster. */ int event, /* Ergebnis mit Ereignissen. */ mx, my, /* Mauskoordinaten. */ mbutton, /* Mausknopf. */ mstate, /* Status des Mausknopfs. */ keycode, /* Scancode einer Tastatureingabe. */ mclicks; /* Anzahl Mausklicks. */ vsf_color( handle, 1 ); /* Farbindex setzen. */ vsf_interior( handle, 3 ); /* Schraffierte Muster zeichnen. */ if ( open_window( ) == TRUE ) /* Ein Fenster zu Beginn ffnen. */ { do { event = evnt_multi( EV_KIND, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Msgbuff, 1000, 0, /* 1 s warten. */ &mx, &my, &mbutton, &mstate, &keycode, &mclicks); wind_update( BEG_UPDATE ); /* Jetzt darf GEM nicht mehr */ /* alleine zeichnen. */ if ( event & MU_MESAG ) /* Auswertung der Ereignisse. */ { if ( Msgbuff[0] >= WM_REDRAW && WM_NEWTOP >= Msgbuff[0] ) hndl_window( ); /* Fensteraktion. */ } else if ( event & MU_TIMER ) /* Nach 1 Sekunden anderen */ { /* Fensterinhalt zeichnen. */ style++; /* Fllmuster ndern. */ if ( style == 13 ) style = 1; vsf_style( handle, style ); do_redraw( W_handle, Wx, Wy, Ww, Wh ); } else if( event & MU_KEYBD ) { if ( keycode == CNTRL_C ) /* Mit Control-C kann beendet */ { /* werden. */ if ( W_handle != -1 ) close_window( W_handle ); Done = TRUE; } } wind_update( END_UPDATE ); } while ( !Done ); } } /* -------------------------------------------------------------------- */ /* void hndl_window( void ) handle windows */ /* */ /* Behandlen der Windowaktionen. */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void hndl_window( void ) { switch( Msgbuff[0] ) { case WM_REDRAW: /* Fensterinhalt neu zeichen. */ do_redraw( Msgbuff[3], Msgbuff[4], Msgbuff[5], Msgbuff[6], Msgbuff[7] ); break; case WM_CLOSED: /* Fenster wurde geschlossen. */ close_window( W_handle ); /* Programm beendet. */ Done = TRUE; break; case WM_MOVED: /* Fenster wurde bewegt oder in */ case WM_SIZED: /* seiner Gre verndert. */ if ( Msgbuff[6] < 10 * gl_wbox ) /* Mindestgre fr Fenster. */ Msgbuff[6] = 10 * gl_wbox; if ( Msgbuff[7] < 5 * gl_hbox ) Msgbuff[7] = 5 * gl_hbox; new_size( Msgbuff[3], Msgbuff[4], Msgbuff[5], Msgbuff[6], Msgbuff[7] ); break; case WM_TOPPED: /* Fenster (wurde) aktiviert. */ case WM_NEWTOP: wind_set( Msgbuff[3], WF_TOP, 0, 0, 0, 0 ); wind_get( Msgbuff[3], WF_WORKXYWH, &Wx, &Wy, &Ww, &Wh ); break; case WM_FULLED: /* Fenster zoomen. */ if (( W_fulled ^= TRUE )) wind_get( Msgbuff[3], WF_FULLXYWH, &Msgbuff[4], &Msgbuff[5], &Msgbuff[6], &Msgbuff[7] ); else wind_get( Msgbuff[3], WF_PREVXYWH, &Msgbuff[4], &Msgbuff[5], &Msgbuff[6], &Msgbuff[7] ); wind_get( Msgbuff[3], WF_WORKXYWH, &Wx, &Wy, &Ww, &Wh ); new_size( Msgbuff[3], Msgbuff[4], Msgbuff[5], Msgbuff[6], Msgbuff[7] ); break; } } /* -------------------------------------------------------------------- */ /* boolean open_window( void ); */ /* */ /* ffnen eines Fensters. Bei erfolgreichem ffnen wird TRUE zu- */ /* rckgeliefert. */ /* */ /* -> Nichts. */ /* */ /* <- TRUE falls ein Fenster geffnet wer- */ /* konnte (dann wurden auch dessen */ /* globale Parameter gesetzt), */ /* FALSE sonst. */ /* -------------------------------------------------------------------- */ boolean open_window( void ) { int new, xdesk, ydesk, wdesk, hdesk; /* Gre Arbeitsflche des Desktop. */ wind_get( DESK, WF_WORKXYWH, &xdesk, &ydesk, &wdesk, &hdesk ); if (( new = wind_create( W_KIND, xdesk, ydesk, wdesk, hdesk )) < 0 ) { form_alert( 1, "[3][Kann kein Fenster ffnen.][Abbruch]" ); return ( FALSE ); } graf_mouse( M_OFF, 0 ); /* Maus aus. */ wind_set( new, WF_NAME, WINDOW_NAME, 0, 0 ); /* Fenstername setzen. */ /* ffnendes Rechteck zeichnen. */ graf_growbox( 0, 0, 0, 0, wdesk / 10, hdesk / 10, wdesk / 3, hdesk / 3 ); wind_open( new, wdesk / 10, hdesk / 10, wdesk / 3, hdesk / 3 ); /* Fenster ffnen. */ /* Arbeitsflche des Fensters best. */ wind_get( new, WF_WORKXYWH, &Wx, &Wy, &Ww, &Wh ); W_handle = new; W_fulled = FALSE; graf_mouse( M_ON, 0 ); /* Maus an. */ graf_mouse( ARROW, 0 ); return ( TRUE ); /* ERFOLG! */ } /* -------------------------------------------------------------------- */ /* void do_redraw( int w_handle, int x, int y, int w, int h ); */ /* */ /* Neu zeichnen des Inhalts eines Fensters. */ /* */ /* -> w_handle Handle des zu schlieenden Fensters. */ /* x, y x-,y-Koordinate des Zeichenbereichs. */ /* w, h Hhe und Breite des Zeichenbereichs. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void do_redraw( int w_handle, int x, int y, int w, int h ) { GRECT t1, t2; t2.g_x = pxarray[0] = x; /* Zeichenkoordinaten setzen. */ t2.g_y = pxarray[1] = y; t2.g_w = w; t2.g_h = h; pxarray[2] = x + w - 1; pxarray[3] = y + h - 1; graf_mouse( M_OFF, 0 ); wind_get( w_handle, WF_FIRSTXYWH, &t1.g_x, &t1.g_y, &t1.g_w, &t1.g_h ); while ( t1.g_w && t1.g_h ) { if ( rc_intersect( &t2, &t1 ) == TRUE ) { /* Nur berechnetes Rechteck */ /* neu zeichen, sonst knnten */ /* andere Bildschirminhalte */ /* zerstrt werden. */ clipping( t1.g_x, t1.g_y, t1.g_w, t1.g_h, TRUE ); v_bar( handle, pxarray ); } wind_get( w_handle, WF_NEXTXYWH, &t1.g_x, &t1.g_y, &t1.g_w, &t1.g_h ); } clipping( t1.g_x, t1.g_y, t1.g_w, t1.g_h, FALSE ); graf_mouse( M_ON, 0 ); } /* -------------------------------------------------------------------- */ /* void new_size( int w_handle, int x, int y, int w, int h ); */ /* */ /* Fenster an neue Gre anpassen. */ /* */ /* -> w_handle Fensterhandle. */ /* x, y, w, h Auenkoordinaten des Fensters. */ /* */ /* <- Die globalen Variablen, die die Koor- */ /* dinaten der Fensterarbeitsflche ent- */ /* halten, werden updated. */ /* -------------------------------------------------------------------- */ void new_size( int w_handle, int x, int y, int w, int h ) { wind_set( w_handle, WF_CURRXYWH, x, y, w, h ); wind_get( w_handle, WF_WORKXYWH, &Wx, &Wy, &Ww, &Wh ); } /* -------------------------------------------------------------------- */ /* void close_window( int w_handle ); */ /* */ /* Schlieen eines Fensters. */ /* */ /* -> w_handle Handle des zu schlieenden Fensters. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void close_window( int w_handle ) { int x, y, w, h; wind_get( w_handle, WF_CURRXYWH, &x, &y, &w, &h ); graf_shrinkbox( 0, 0, 0, 0, x, y, w, h ); wind_close( w_handle ); wind_delete( w_handle ); } /* -------------------------------------------------------------------- */ /* boolean rc_intersect( GRECT *r1, GRECT *r2 ); */ /* */ /* Berechnung der Schnittflche zweier Rechtecke. */ /* */ /* -> r1, r2 Pointer auf Rechteckstruktur. */ /* */ /* <- TRUE falls sich die Rechtecke */ /* schneiden, */ /* FALSE sonst. */ /* -------------------------------------------------------------------- */ boolean rc_intersect( GRECT *r1, GRECT *r2 ) { int x, y, w, h; x = max( r2->g_x, r1->g_x ); y = max( r2->g_y, r1->g_y ); w = min( r2->g_x + r2->g_w, r1->g_x + r1->g_w ); h = min( r2->g_y + r2->g_h, r1->g_y + r1->g_h ); r2->g_x = x; r2->g_y = y; r2->g_w = w - x; r2->g_h = h - y; return ( (boolean) ((w > x) && (h > y) ) ); } /* -------------------------------------------------------------------- */ /* void clipping( int x, int y, int w, int h, int mode ); */ /* */ /* Last but not least: (Re-)Set Clipping Rectangle ... */ /* */ /* -> x x-Koordinate der Clipp' Begrenzung. */ /* y y-Koordinate - " - . */ /* w Breite des begrenzten Rechtecks. */ /* h Hhe - " - . */ /* mode TRUE - clipping on, */ /* FALSE - clipping off. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void clipping( int x, int y, int w, int h, int mode ) { pxarray[0] = x; pxarray[1] = y; pxarray[2] = x + w - 1; pxarray[3] = y + h - 1; vs_clip( handle, mode, pxarray ); } /* -------------------------------------------------------------------- */ /* Ende der Beispielprogramms fr EVNT_MULTI( ). */ /* -------------------------------------------------------------------- */ l(H`.0 LNmV(H0, Nkp m LpNj$` Lrp5Nk'H` Lrp5Nk'H`0< LN[~(HNjt2 #include #include #include #include /* -------------------------------------------------------------------- */ /* Konstantendefinitionen. */ /* -------------------------------------------------------------------- */ /* Indizes fr Meldungen: */ /* ----------------------------------- */ #define MOPENED 0 /* Datei konnte geffnet werden */ #define MFSEL 1 /* Programmende */ #define MERROR 2 /* Datei konnte nicht geffnet werden */ #define STFILELEN 13 /* Maximale Lnge eines Filenamens */ #define STPATHLEN 64 /* Maximale Lnge eines Pfades */ #define EOS '\0' /* Ende eines Strings */ #define BACKSLASH '\\' /* -------------------------------------------------------------------- */ /* Funktionsprototypen. */ /* -------------------------------------------------------------------- */ void close_vwork( void ); /* aus PCFRAME.C */ void gem_prg( void ); void usage( int m ); void build_fname( char *dest, char *s1, char *s2 ); int op_fbox( void ); /* -------------------------------------------------------------------- */ /* Globale Variablen. */ /* -------------------------------------------------------------------- */ char Path[STPATHLEN] = "A:\\*.*"; char *Mess[] = /* Texte fr Meldungen */ { "[2][Datei konnte geffnet werden.][Ende|Weiter]", "[3][Abbruch der Dateiauswahl.][ Ok ]" }; /* -------------------------------------------------------------------- */ /* void gem_prg( void ); */ /* */ /* Beispiel fr die Verwendung der Funktion fsel_input( ). */ /* (Bzw. der Dateiauswahl unter GEM generell.) */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void gem_prg( void ) { Path[0] = (char) Dgetdrv( ) + 'A'; /* Aktuelles Laufwerk in Pfad */ while ( op_fbox( ) != 0 ) /* Solange erfolgreich gewhlt */ usage( MOPENED ); /* wurde weiter. */ usage( MFSEL ); /* Jetzt aber Schlu. */ } /* -------------------------------------------------------------------- */ /* void usage( int m ); */ /* */ /* Ausgabe einer vordefinierten Meldung. */ /* */ /* -> m Nummer der Meldung. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void usage( int m ) { int endcode = 0; if ( m < 2 ) { if( form_alert( 1, Mess[m] ) == 2) /* Wenn die Datei vorhanden */ /* ist, und der Benutzer im */ /* Programm weitermachen will, */ return; /* dann Programm fortsetzen. */ } else /* Datei ist nicht vorhanden. */ { form_error( ENOENT ); endcode = -1; } close_vwork( ); /* Sonst Programmabbruch. */ exit( endcode ); } /* -------------------------------------------------------------------- */ /* int op_fbox( void ) open file via box */ /* */ /* Datei mittels Dateiauswahlbox ffnen. */ /* */ /* -> Nichts. */ /* */ /* <- 0 Falls das Programm beendet werden */ /* soll. */ /* -------------------------------------------------------------------- */ int op_fbox( void ) { char n[STFILELEN], /* Buffer fr Dateinamen */ x[STPATHLEN + STFILELEN]; /* Buffer fr Pfadnamen + Datei- */ /* namen. */ int b; /* Enthlt Code des Buttons der */ /* zum Abbruch der Dateiauswahl */ /* fhrte. */ int version; /* wird GEMDOS-Versionsnummer */ /* erhalten. */ int result; *n = EOS; /* Dateinamen lschen. */ version = Sversion ( ); /* Berechne die GEMDOS-Version, */ version >>= 8; /* da fsel_exinput erst ab */ /* Version 1.40 zur Verfgung */ /* steht. */ if ( version <= 20 ) /* Dateiauswahl. */ result = fsel_input( Path, n, &b ); else result = fsel_exinput( Path, n, &b, "Testauswahl" ); if ( result == 0 ) usage( result ); /* Fehler dabei aufgetreten. */ else if ( b != 0) { build_fname( x, Path, n ); /* Pfad- und Dateinamen konkat. */ /* Datei 'testen'. */ if ( Fattrib( x, 0, 0 ) < 0 ) usage( MERROR ); /* Fehler dabei aufgetreten. */ } return ( b ); } /* -------------------------------------------------------------------- */ /* build a file name */ /* void build_fname( char *dest, char *s1, char *s2 ); */ /* */ /* Konkatoniere Pfadnamen und Dateinamen. */ /* */ /* -> dest Zielstring. */ /* s1 Pfadname. */ /* s2 Dateiname. */ /* */ /* <- Ergebnis befindet sich in 'dest'. */ /* -------------------------------------------------------------------- */ void build_fname( char *dest, char *s1, char *s2 ) { char *cptr; strcpy( dest, s1 ); /* Pfad kopieren. */ cptr = strrchr( dest, (int) BACKSLASH); strcpy( ++cptr, s2); /* Schlielich den Dateinamen */ } /* dranhngen. */ /* -------------------------------------------------------------------- */ /* Ende der Beispielprogramms fr FORM_ALERT( ), FORM_ERROR( ), */ /* und FSEL_INPUT() (oder FSEL_EXINPUT( )). */ /* -------------------------------------------------------------------- */ 9eg2"j J0NjLNu/ AvCr2IR^ Qg(2IE"r2)Rit4( ieN $_NuH<*H6EvGr0HA(p SgR0<lr2,ACol2H4JӲ ^`SCl`*l@2H4JӲ ^`S@lN(H`0HѪnL<NuH0$H(*v6*֒ Gm&  KN`  KN($j `L 8NuH06(Ev0HA&p" f20<N&HC" pN0H&^B A!`@p0+Єc<0<N&HC" pN0H&^A"p#K 0HA!p0+Ak0Hٲ^L NuH #include #include #include #include #include /* -------------------------------------------------------------------- */ /* Makros. */ /* -------------------------------------------------------------------- */ #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b)) /* -------------------------------------------------------------------- */ /* Extern definierte globale Variablen. */ /* -------------------------------------------------------------------- */ /* Mittels dieser Variablen kann */ extern int _app; /* das Programm feststellen, ob es */ /* als Accessory oder normale App- */ /* likation gestartet wurde. */ /* -------------------------------------------------------------------- */ /* Globale Variablen. */ /* -------------------------------------------------------------------- */ int whandle; /* Handle fr geffnetes Fenster. */ char title[] = " Pure C Clock "; /* Titelzeile des Fensters. */ int gl_wchar, /* Gre und Breite eines Buchsta- */ gl_hchar, /* ben (wichtig falls mit unter- */ gl_wbox, /* schiedlichen Bildschirmaufl- */ gl_hbox; /* sungen gearbeitet wird) bzw. */ /* einer Box. */ int phys_handle, /* Handles fr GEM und VDI. */ handle; int max_x, /* Maximale Gre der Arbeitsflche */ max_y; int appl_id, /* Identifikationsnummer des Prog. */ menu_id; /* Id.-nummer im Men 'Desk'. */ time_t Tim = 0; /* Minutenzhler. */ char Time_pattern[40] = " %H:%M - %a %d.%b %Y"; /* -------------------------------------------------------------------- */ /* Funktionsprototypen. */ /* -------------------------------------------------------------------- */ void open_window( void ); int rc_intersect( GRECT *r1, GRECT *r2 ); void mouse_on( void ); void mouse_off( void ); void redraw_window( int all ); int handle_message( int pipe[8] ); void event_loop( void ); /* -------------------------------------------------------------------- */ /* void main( void ); */ /* */ /* Kernstck des Programms. */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void main( void ) { int i; int work_in[11]; int work_out[57]; /* ----------------------------------- */ /* Programminitialisierung: */ /* ----------------------------------- */ appl_id = appl_init( ); if ( appl_id != -1 ) { for ( i = 0; i < 10; i++ ) work_in[i] = 1; work_in[10] = 2; phys_handle = graf_handle( &gl_wchar, &gl_hchar, &gl_wbox, &gl_hbox ); handle = phys_handle; v_opnvwk( work_in, &handle, work_out ); if ( handle != 0 ) { max_x = work_out[0]; max_y = work_out[1]; if ( !_app ) /* Falls das Programm als Accessory */ /* gestartet wurde, hat _app den */ /* null, sonst eins. */ menu_id = menu_register( appl_id, " Pure C Clock" ); else { graf_mouse( 0, (void*)0 ); open_window( ); } /* ----------------------------------- */ /* Event Loop */ /* ----------------------------------- */ event_loop( ); /* ----------------------------------- */ /* Deinitialisierung */ /* ----------------------------------- */ v_clsvwk( handle ); } appl_exit( ); } exit( 0 ); } /* -------------------------------------------------------------------- */ /* void open_window( void ); */ /* */ /* ffnen eines Fensters fr die Zeitanzeige. */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void open_window( void ) { if ( whandle <= 0 ) { whandle = wind_create( NAME|CLOSER|MOVER, 0, 0, max_x + 1, max_y + 1 ); if ( whandle <= 0 ) return; wind_set( whandle, WF_NAME, title ); wind_open( whandle, max_x / 10, max_y / 10, max_x / 3 * 2, max_y / 5 ); } else wind_set( whandle, WF_TOP ); } /* -------------------------------------------------------------------- */ /* boolean rc_intersect( GRECT *r1, GRECT *r2 ); */ /* */ /* Berechnung der Schnittflche zweier Rechtecke. */ /* */ /* -> r1, r2 Pointer auf Rechteckstruktur. */ /* */ /* <- == 0 falls sich die Rechtecke nicht */ /* schneiden, */ /* != 0 sonst. */ /* -------------------------------------------------------------------- */ int rc_intersect( GRECT *r1, GRECT *r2 ) { int x, y, w, h; x = max( r2->g_x, r1->g_x ); y = max( r2->g_y, r1->g_y ); w = min( r2->g_x + r2->g_w, r1->g_x + r1->g_w ); h = min( r2->g_y + r2->g_h, r1->g_y + r1->g_h ); r2->g_x = x; r2->g_y = y; r2->g_w = w - x; r2->g_h = h - y; return ( ((w > x) && (h > y) ) ); } /* -------------------------------------------------------------------- */ /* void mouse_on( void ); */ /* */ /* Mauszeiger anschalten. */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void mouse_on( void ) { graf_mouse( M_ON, (void *)0 ); } /* -------------------------------------------------------------------- */ /* void mouse_off( void ); */ /* */ /* Mauszeiger ausschalten. */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void mouse_off( void ) { graf_mouse( M_OFF, (void *)0 ); } /* -------------------------------------------------------------------- */ /* void redraw_window( int all ); */ /* */ /* Fensterinhalt neu zeichnen, nachdem er zuvor aus irgendeinem */ /* Grunde zerstrt wurde, oder weil das Fenster neu geffnet */ /* wurde. */ /* */ /* -> all == 0 Nur Datum und Uhrzeit neu, */ /* != 0 gesamten Fensterinhalt neu */ /* schreiben */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void redraw_window( int all ) { GRECT box, work; int clip[4]; char s[40]; /* Erhlt Datum und Uhrzeit */ time_t tim; if( whandle <= 0 ) /* Wenn kein Fenster auf ist, */ return; /* brauch auch nicht gezeichnet */ /* zu werden. */ /* Wieder eine Minute vergangen? */ if ( ((tim = time( &tim ) / 60 ) > Tim ) || all ) { Tim = tim; /* Ja, dann Minuten merken. */ tim *= 60; strftime( s, 40, Time_pattern, localtime( &tim )); mouse_off( ); vsf_color( handle, 0 ); /* set white fill */ vswr_mode( handle, 1 ); /* set replace mode */ wind_get( whandle, WF_WORKXYWH, &work.g_x, &work.g_y, &work.g_w, &work.g_h ); wind_get( whandle, WF_FIRSTXYWH, &box.g_x, &box.g_y, &box.g_w, &box.g_h ); work.g_w = min( work.g_w, max_x - work.g_x + 1 ); work.g_h = min( work.g_h, max_y - work.g_y + 1 ); while ( box.g_w > 0 && box.g_h > 0 ) { if( rc_intersect( &work, &box ) ) { clip[0] = box.g_x; clip[1] = box.g_y; clip[2] = box.g_x + box.g_w - 1; clip[3] = box.g_y + box.g_h - 1; vs_clip( handle, 1, clip ); if ( all ) vr_recfl( handle, clip ); /* fill rectangle */ v_gtext( handle, (work.g_x + work.g_w / 2) - (int)strlen( s ) * gl_wchar / 2, work.g_y + max_y / 10, s ); } wind_get( whandle, WF_NEXTXYWH, &box.g_x, &box.g_y, &box.g_w, &box.g_h ); } mouse_on( ); } } /* -------------------------------------------------------------------- */ /* int handle_message( int pipe[8] ); */ /* */ /* Auswertung der Ereignisse des Multi-Events bezglich des */ /* Messagebuffers. */ /* */ /* -> Zeiger auf den Inhalt des Message- */ /* buffers. */ /* */ /* <- Falls das Fenster geschlossen wird */ /* und das Programm nicht als Accessory */ /* gestartet wurde wird eine 1 zurckge- */ /* geben zum Zeichen der Programmbeendi- */ /* gung, sonst immer eine 0. */ /* -------------------------------------------------------------------- */ int handle_message( int pipe[8] ) { switch ( pipe[0] ) { case WM_REDRAW: redraw_window( 1 ); break; case WM_TOPPED: wind_set( whandle, WF_TOP ); break; case WM_CLOSED: if ( pipe[3] == whandle ) { wind_close( whandle ); wind_delete( whandle ); whandle = 0; } if ( _app ) return ( 1 ); break; case WM_MOVED: case WM_SIZED: if ( pipe[3] == whandle ) wind_set( whandle, WF_CURRXYWH, pipe[4], pipe[5], pipe[6], pipe[7] ); break; case AC_OPEN: if ( pipe[4] == menu_id ) open_window( ); break; case AC_CLOSE: if ( pipe[3] == menu_id ) whandle = 0; break; } return ( 0 ); } /* -------------------------------------------------------------------- */ /* event_loop() */ /* */ /* Die Multi-Event-Schleife. */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void event_loop( void ) { int x, y, kstate, key, clicks, event, state; int pipe[8]; int quit; quit = 0; do { event = evnt_multi( MU_MESAG | MU_TIMER, 2, 0x1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, pipe, 1000, 0, &x, &y, &state, &kstate, &key, &clicks ); wind_update( BEG_UPDATE ); if ( event & MU_MESAG ) quit = handle_message( pipe ); if ( event & MU_TIMER ) redraw_window( 0 ); wind_update( END_UPDATE ); } while ( !quit ); } /* -------------------------------------------------------------------- */ /* End von CLOCKACC.C */ /* -------------------------------------------------------------------- */ B@, TN(H)C ` ,f B@ LN(H%L||fp@`B@ `$j f/ p:NhXOLNu hCv` (fB( |!i h fNuH<&H$I*o86$ g(k`f JNh`(l fpNP(H +g"@#H`'L'LB(C g. -fB@- UN*H` -f B@ MN*H)MBl|fp@`B@ " g4-HHԂAF80(JDgBA-0N*H MNɖѫ LL<NuH<$Hv%C&jxKF` f ?p}NhTO(k,HHЀ:5JEg BA0N(H LNɖѪpNP"K(H((((((8!C R"yv!i"yv#H(" &kRD f|L<8Nu/p=NhXONuH #include #include #include #include #ifdef __TOS__ #include #else #include #include #endif #ifdef __TOS__ #define LineStyles LStyles #define FillStyles FStyles #endif #define ESC 0x1B /* Escape key */ #define PI 3.14159 /* Value for PI */ #define TRUE 1 #define FALSE 0 #define ON 1 #define OFF 0 #define PauseTime 70 char *Fonts[] = { "DefaultFont", "TriplexFont", "SmallFont", "SansSerifFont", "GoticFont" }; char *LineStyles[] = { "SolidLn", "DottedLn", "CenterLn", "DashedLn", "UserBitLn" }; char *FillStyles[] = { "EmptyFill", "SolidFill", "LineFill", "LtSlashFill", "SlashFill", "BkSlashFill", "LtBkSlashFill", "HatchFill", "XHatchFill", "InterleaveFill", "WideDotFill", "CloseDotFill" }; char *TextDirect[] = { "HorizDir", "VertDir" }; char *HorizJust[] = { "LeftText", "CenterText", "RightText" }; char *VertJust[] = { "BottomText", "CenterText", "TopText" }; struct PTS { int x, y; }; /* Structure to hold vertex points */ int GraphDriver; /* The Graphics device driver */ int GraphMode; /* The Graphics mode value */ double AspectRatio; /* Aspect ratio of a pixel on the screen*/ int MaxX, MaxY; /* The maximum resolution of the screen */ int MaxColors; /* The maximum # of colors available */ int ErrorCode; /* Reports any graphics errors */ struct palettetype palette; /* Used to read palette info */ /* */ /* Function prototypes */ /* */ void Initialize( void ); void ReportStatus( void ); void TextDump( void ); void Bar3DDemo( void ); void RandomBars( void ); void TextDemo( void ); void ColorDemo( void ); void ArcDemo( void ); void CircleDemo( void ); void PieDemo( void ); void BarDemo( void ); void LineRelDemo( void ); void PutPixelDemo( void ); void PutImageDemo( void ); void LineToDemo( void ); void LineStyleDemo( void ); void CRTModeDemo( void ); void UserLineStyleDemo( void ); void FillStyleDemo( void ); void FillPatternDemo( void ); void PaletteDemo( void ); void PolyDemo( void ); void SayGoodbye( void ); void Pause( void ); void MainWindow( char *header ); void StatusLine( char *msg ); void DrawBorder( void ); void changetextstyle( int font, int direction, int charsize ); int gprintf( int *xloc, int *yloc, char *fmt, ... ); /* -------------------------------------------------------------------- */ /* #ifdef __TOS__ #include int random( int max ) { return( rand( ) % max ); } void delay( int pt ) { int i; for( i = pt / 10; i != 0; i-- ) Vsync(); } #endif */ /* -------------------------------------------------------------------- */ /* */ /* Begin main function */ /* */ int main() { Initialize(); /* Set system into Graphics mode */ ReportStatus(); /* Report results of the initialization */ ColorDemo(); /* Begin actual demonstration */ if( MaxColors > 2 ) PaletteDemo(); PutPixelDemo(); PutImageDemo(); Bar3DDemo(); BarDemo(); RandomBars(); ArcDemo(); CircleDemo(); PieDemo(); LineRelDemo(); LineToDemo(); LineStyleDemo(); UserLineStyleDemo(); TextDump(); TextDemo(); CRTModeDemo(); FillStyleDemo(); FillPatternDemo(); PolyDemo(); SayGoodbye(); closegraph(); return( 0 ); } /* INITIALIZE: Initializes the graphics system and reports */ /* any errors which occured. */ void Initialize( void ) { int xasp, yasp; /* Used to read the aspect ratio*/ GraphDriver = DETECT; /* Request auto-detection */ initgraph( &GraphDriver, &GraphMode, "..\\FONTS" ); ErrorCode = graphresult(); /* Read result of initialization*/ if( ErrorCode != grOk ){ /* Error occured during init */ printf( " Graphics System Error: %s\n", grapherrormsg( ErrorCode ) ); exit( 1 ); } getpalette( &palette ); /* Read the palette from board */ MaxColors = getmaxcolor() + 1; /* Read maximum number of colors*/ MaxX = getmaxx(); MaxY = getmaxy(); /* Read size of screen */ getaspectratio( &xasp, &yasp ); /* read the hardware aspect */ AspectRatio = ( double )xasp / ( double )yasp; /* Get correction factor*/ } /* REPORTSTATUS: Report the current configuration of the system */ /* after the auto-detect initialization. */ void ReportStatus( void ) { struct viewporttype viewinfo; /* Params for inquiry procedures*/ struct linesettingstype lineinfo; struct fillsettingstype fillinfo; struct textsettingstype textinfo; struct palettetype palette; char *driver, *mode; /* Strings for driver and mode */ int x, y; getviewsettings( &viewinfo ); getlinesettings( &lineinfo ); getfillsettings( &fillinfo ); gettextsettings( &textinfo ); getpalette( &palette ); x = 10; y = 4; MainWindow( "Status report after InitGraph" ); settextjustify( LEFT_TEXT, TOP_TEXT ); #ifdef __TOS__ if( MaxColors > 2 ) settextstyle( SMALL_FONT, LEFT_TEXT, 1 ); #endif driver = getdrivername(); mode = getmodename( GraphMode ); /* get current setting */ gprintf( &x, &y, "Graphics device : %-20s (%d)", driver, GraphDriver ); gprintf( &x, &y, "Graphics mode : %-20s (%d)", mode, GraphMode ); gprintf( &x, &y, "Screen resolution : ( 0, 0, %d, %d )", getmaxx(), getmaxy()); gprintf( &x, &y, "Current view port : ( %d, %d, %d, %d )", viewinfo.left, viewinfo.top, viewinfo.right, viewinfo.bottom ); gprintf( &x, &y, "Clipping : %s", viewinfo.clip ? "ON" : "OFF" ); gprintf( &x, &y, "Current position : ( %d, %d )", getx(), gety() ); gprintf( &x, &y, "Colors available : %d", MaxColors ); gprintf( &x, &y, "Current color : %d", getcolor() ); gprintf( &x, &y, "Line style : %s", LineStyles[lineinfo.linestyle] ); gprintf( &x, &y, "Line thickness : %d", lineinfo.thickness ); gprintf( &x, &y, "Current fill style : %s", FillStyles[ fillinfo.pattern ] ); gprintf( &x, &y, "Current fill color : %d", fillinfo.color ); gprintf( &x, &y, "Current font : %s", Fonts[ textinfo.font ] ); gprintf( &x, &y, "Text direction : %s", TextDirect[textinfo.direction] ); gprintf( &x, &y, "Character size : %d", textinfo.charsize ); gprintf( &x, &y, "Horizontal justify : %s", HorizJust[ textinfo.horiz ] ); gprintf( &x, &y, "Vertical justify : %s", VertJust[ textinfo.vert ] ); Pause(); /* Pause for user to read screen */ } /* TEXTDUMP: Display the all the characters in each of the */ /* available fonts. */ void TextDump() { #ifndef __TOS__ static int CGASizes[] = { 1, 3, 7, 3, 3 }; #endif static int NormSizes[] = { 1, 1, 1, 1, 1 }; char buffer[80]; int font, ch, wwidth, lwidth, size; struct viewporttype vp; for( font=0 ; font<5 ; ++font ){ /* For each available font */ sprintf( buffer, "%s Character Set", Fonts[font] ); MainWindow( buffer ); /* Display fontname as banner */ getviewsettings( &vp ); /* Read current viewport */ settextjustify( LEFT_TEXT, TOP_TEXT ); moveto( 2, 3 ); buffer[1] = '\0'; /* Terminate string */ wwidth = vp.right - vp.left; /* Determine the window width */ lwidth = textwidth( "H" ); /* Get average letter width */ if( font == DEFAULT_FONT ){ changetextstyle( font, HORIZ_DIR, 1 ); ch = 0; while( ch < 256 ){ /* For each possible character */ buffer[0] = ch; /* Put character into a string */ outtext( buffer ); /* Send string to screen */ if( ( getx() + lwidth ) > wwidth ) moveto( 2, gety() + textheight( "H" ) + 3 ); ++ch; /* Goto the next character */ } } else{ #ifdef __TOS__ size = NormSizes[font]; #else size = ( MaxY < 200 ) ? CGASizes[font] : NormSizes[font]; #endif changetextstyle( font, HORIZ_DIR, size ); ch = '!'; /* Begin at 1st printable */ while( ch < 127 ){ /* For each printable character */ buffer[0] = ch; /* Put character into a string */ outtext( buffer ); /* Send string to screen */ /* Are we still in window? */ if( ( lwidth+getx() ) > wwidth ) moveto( 2, gety()+textheight( "H" )+3 ); ++ch; /* Goto the next character */ } } Pause(); /* Pause until user acks */ } /* End of FONT loop */ } /* */ /* BAR3DDEMO: Display a 3-D bar chart on the screen. */ /* */ void Bar3DDemo( void ) { static int barheight[] = { 1, 3, 5, 4, 3, 2, 1, 5, 4, 2, 3 }; struct viewporttype vp; int xstep, ystep; int i, j, h, color, bheight; char buffer[10]; MainWindow( "Bar 3-D / Rectangle Demonstration" ); #ifdef __TOS__ if( MaxColors > 2 ) settextstyle( SMALL_FONT, LEFT_TEXT, 1 ); #endif h = 3 * textheight( "H" ); getviewsettings( &vp ); settextjustify( CENTER_TEXT, TOP_TEXT ); changetextstyle( TRIPLEX_FONT, HORIZ_DIR, 1 ); outtextxy( MaxX/2, 6, "These are 3-D Bars" ); changetextstyle( DEFAULT_FONT, HORIZ_DIR, 1 ); #ifdef __TOS__ if( MaxColors > 2 ) changetextstyle( SMALL_FONT, HORIZ_DIR, 1 ); #endif setviewport( vp.left+50, vp.top+40, vp.right-50, vp.bottom-10, 1 ); getviewsettings( &vp ); line( h, h, h, vp.bottom-vp.top-h ); line( h, ( vp.bottom-vp.top )-h, ( vp.right-vp.left )-h, ( vp.bottom-vp.top )-h ); xstep = ( ( vp.right-vp.left ) - ( 2*h ) ) / 10; ystep = ( ( vp.bottom-vp.top ) - ( 2*h ) ) / 5; j = ( vp.bottom-vp.top ) - h; settextjustify( LEFT_TEXT, CENTER_TEXT ); for( i=0 ; i<6 ; ++i ){ line( h/2, j, h, j ); itoa( i, buffer, 10 ); outtextxy( 0, j, buffer ); j -= ystep; } j = h; settextjustify( CENTER_TEXT, TOP_TEXT ); for( i=0 ; i<11 ; ++i ){ color = random( MaxColors ); if( color == BLACK ) color = BLUE; setfillstyle( i+1, color ); line( j, ( vp.bottom-vp.top )-h, j, ( vp.bottom-vp.top-3 )-( h/2 ) ); itoa( i, buffer, 10 ); outtextxy( j, ( vp.bottom-vp.top )-( h/2 ), buffer ); if( i != 10 ){ bheight = ( vp.bottom-vp.top ) - h - 1; bar3d( j, ( vp.bottom-vp.top-h )-( barheight[i]*ystep ), j+xstep, bheight, 15, 1 ); } j += xstep; } Pause(); /* Pause for user's response */ } /* */ /* RANDOMBARS: Display random bars */ /* */ void RandomBars( void ) { int color; MainWindow( "Random Bars" ); StatusLine( "Esc aborts or press a key..." ); /* Put msg at bottom of screen */ while( !kbhit() ){ /* Until user enters a key... */ color = random( MaxColors-1 )+1; setfillstyle( random( 11 )+1, color ); setcolor( color ); bar3d( random( getmaxx() ), random( getmaxy() ), random( getmaxx() ), random( getmaxy() ), 0, OFF ); } Pause(); /* Pause for user's response */ } /* */ /* TEXTDEMO: Show each font in several sizes to the user. */ /* */ void TextDemo( void ) { int charsize[] = { 1, 1, 1, 1, 1 }; int font, size; int h, x, y, i; struct viewporttype vp; char buffer[80]; for( font=0 ; font<5 ; ++font ){ /* For each of the four fonts */ sprintf( buffer, "%s Demonstration", Fonts[font] ); MainWindow( buffer ); getviewsettings( &vp ); changetextstyle( font, VERT_DIR, charsize[font] ); settextjustify( CENTER_TEXT, BOTTOM_TEXT ); outtextxy( 2*textwidth("M"), vp.bottom - 4*textheight("M"), "Vertical" ); changetextstyle( font, HORIZ_DIR, charsize[font] ); settextjustify( LEFT_TEXT, TOP_TEXT ); outtextxy( 2*textwidth("M"), 2, "Horizontal" ); settextjustify( CENTER_TEXT, CENTER_TEXT ); x = (vp.right - vp.left) / 2; y = textheight( "H" ) / 2; #ifdef __TOS__ for( i=1; i<3+GraphMode; i++ ) #else for( i=1 ; i<5 ; ++i ) #endif { /* For each of the sizes */ size = (font == SMALL_FONT) ? i+3 : i; changetextstyle( font, HORIZ_DIR, size ); h = textheight( "H" ); y += h; sprintf( buffer, "Size %d", size ); outtextxy( x, y, buffer ); } if( font != DEFAULT_FONT ){ /* Show user declared font size */ y += h / 2; /* Move down the screen */ settextjustify( CENTER_TEXT, TOP_TEXT ); setusercharsize( 5, 6, 3, 2 ); changetextstyle( font, HORIZ_DIR, USER_CHAR_SIZE ); outtextxy( (vp.right-vp.left)/2, y, "User Defined Size" ); } Pause(); /* Pause to let user look */ } /* End of FONT loop */ } /* */ /* COLORDEMO: Display the current color palette on the screen. */ /* */ void ColorDemo( void ) { struct viewporttype vp; int color, height, width; int x, y, i, j; char cnum[5]; MainWindow( "Color Demonstration" ); /* Show demonstration name */ #ifdef __TOS__ if( MaxColors > 2 ) settextstyle( SMALL_FONT, LEFT_TEXT, 1 ); #endif color = BLACK; getviewsettings( &vp ); /* Get the current window size */ width = 2 * ( ( vp.right+1 ) / 16 ); /* Get box dimensions */ height = 2 * ( ( vp.bottom-10 ) / 10 ); x = width / 2; y = height / 2; /* Leave 1/2 box border */ for( j=0 ; j<3 ; ++j ){ /* Row loop */ for( i=0 ; i<5 ; ++i ){ /* Column loop */ setfillstyle( SOLID_FILL, color );/* Set to solid fill in color */ setcolor( color ); /* Set the same border color */ bar( x, y, x+width, y+height ); /* Draw the rectangle */ rectangle( x, y, x+width, y+height ); /* Outline the rectangle */ if( MaxColors == 2 && color == WHITE ){ setcolor( BLACK ); rectangle( x, y, x+width, y+height );/* Outline white in black */ } if( MaxColors >= 2 && color == BLACK ){ setcolor( MaxColors-1 ); rectangle( x, y, x+width, y+height );/* Outline black in white */ } if( MaxColors == 2 && color == WHITE ) itoa( 1, cnum, 10 ); /* Convert color # to ASCII */ else itoa( color, cnum, 10 ); outtextxy( x+( width/2 ), y+height+4, cnum );/* Show color # */ x += ( width / 2 ) * 3; /* move the column base */ if( MaxColors == 2 && color == BLACK ) color = WHITE; else color = ++color % MaxColors; /* Advance to the next color*/ } /* End of Column loop */ y += ( height / 2 ) * 3; /* move the row base */ x = width / 2; /* reset column base */ } /* End of Row loop */ Pause(); /* Pause for user's response */ } /* */ /* ARCDEMO: Display a random pattern of arcs on the screen */ /* until the user says enough. */ /* */ void ArcDemo( void ) { int mradius; /* Maximum radius allowed */ int eangle; /* Random end angle of Arc */ struct arccoordstype ai; /* Used to read Arc Cord info */ MainWindow( "Arc Demonstration" ); StatusLine( "ESC Aborts - Press a Key to stop" ); mradius = MaxY / 10; /* Determine the maximum radius */ while( !kbhit() ){ /* Repeat until a key is hit */ setcolor( random( MaxColors - 1 ) + 1 );/* Randomly select a color */ eangle = random( 358 ) + 1; /* Select an end angle */ arc( random( MaxX ), random( MaxY ), random( eangle ), eangle, mradius ); getarccoords( &ai ); /* Read Cord data */ line( ai.x, ai.y, ai.xstart, ai.ystart ); /* line from start to center */ line( ai.x, ai.y, ai.xend, ai.yend ); /* line from end to center */ } /* End of WHILE not KBHIT */ Pause(); /* Wait for user's response */ } /* */ /* CIRCLEDEMO: Display a random pattern of circles on the screen */ /* until the user says enough. */ /* */ void CircleDemo( void ) { int mradius; /* Maximum radius allowed */ MainWindow( "Circle Demonstration" ); StatusLine( "ESC Aborts - Press a Key to stop" ); mradius = MaxY / 10; /* Determine the maximum radius */ while( !kbhit() ){ /* Repeat until a key is hit */ setcolor( random( MaxColors - 1 ) + 1);/* Randomly select a color */ circle( random( MaxX ), random( MaxY ), random( mradius ) ); } /* End of WHILE not KBHIT */ Pause(); /* Wait for user's response */ } /* */ /* PIEDEMO: Display a pie chart on the screen. */ /* */ #define adjasp( y ) ( ( int )( AspectRatio * ( double )( y ) ) ) #define torad( d ) ( ( ( double )( d ) * PI ) / 180.0 ) void PieDemo( void ) { struct viewporttype vp; int xcenter, ycenter, radius, lradius; int x, y; double radians, piesize; MainWindow( "Pie Chart Demonstration" ); #ifdef __TOS__ if( MaxColors > 2 ) settextstyle( SMALL_FONT, LEFT_TEXT, 1 ); #endif getviewsettings( &vp ); /* Get the current viewport */ xcenter = ( vp.right - vp.left ) / 2; /* Center the Pie horizontally */ ycenter = ( vp.bottom - vp.top ) / 2+20; /* Center the Pie vertically */ radius = ( vp.bottom - vp.top ) / 3; /* It will cover 2/3rds screen */ piesize = ( vp.bottom - vp.top ) / 4.0; /* Optimum height ratio of pie */ while( ( AspectRatio*radius ) < piesize ) ++radius; lradius = radius + ( radius / 5 ); /* Labels placed 20% farther */ changetextstyle( TRIPLEX_FONT, HORIZ_DIR, 1 ); settextjustify( CENTER_TEXT, TOP_TEXT ); outtextxy( MaxX/2, 6, "This is a Pie Chart" ); if( MaxColors > 2 ) changetextstyle( SMALL_FONT, HORIZ_DIR, 1 ); else changetextstyle( TRIPLEX_FONT, HORIZ_DIR, 1); settextjustify( CENTER_TEXT, TOP_TEXT ); setfillstyle( SOLID_FILL, BLUE ); pieslice( xcenter+10, ycenter-adjasp( 10 ), 0, 90, radius ); radians = torad( 45 ); x = xcenter + ( int )( cos( radians ) * ( double )lradius ); if( MaxColors > 2 ) y = ycenter +10 - (int)( sin( radians ) * ( double )lradius * AspectRatio ); else y = ycenter - (int)( sin( radians ) * ( double )lradius * AspectRatio ); settextjustify( LEFT_TEXT, BOTTOM_TEXT ); outtextxy( x, y, "25 %" ); setfillstyle( WIDE_DOT_FILL, GREEN ); pieslice( xcenter, ycenter, 90, 135, radius ); radians = torad( 113 ); x = xcenter + ( int )( cos( radians ) * ( double )lradius ); if( MaxColors > 2 ) y = ycenter +20 - ( int )( sin( radians ) * (double)lradius * AspectRatio ); else y = ycenter - ( int )( sin( radians ) * (double)lradius * AspectRatio ); settextjustify( RIGHT_TEXT, BOTTOM_TEXT ); outtextxy( x, y, "12.5 %" ); setfillstyle( INTERLEAVE_FILL, YELLOW ); settextjustify( RIGHT_TEXT, CENTER_TEXT ); pieslice( xcenter-10, ycenter, 135, 225, radius ); radians = torad( 180 ); x = xcenter + ( int )( cos( radians ) * ( double )lradius ); if( MaxColors > 2 ) y = ycenter +10 - ( int )( sin( radians ) * (double)lradius * AspectRatio ); else y = ycenter - ( int )( sin( radians ) * ( double )lradius * AspectRatio ); settextjustify( RIGHT_TEXT, CENTER_TEXT ); outtextxy( x, y, "25 %" ); setfillstyle( HATCH_FILL, BLUE ); pieslice( xcenter, ycenter, 225, 360, radius ); radians = torad( 293 ); x = xcenter + ( int )( cos( radians ) * ( double )lradius ); if( MaxColors > 2 ) y = ycenter - 20 - ( int )( sin( radians ) * (double)lradius * AspectRatio ); else y = ycenter - ( int )( sin( radians ) * ( double )lradius * AspectRatio ); settextjustify( LEFT_TEXT, TOP_TEXT ); outtextxy( x, y, "37.5 %" ); Pause(); /* Pause for user's response */ } /* */ /* BARDEMO: Draw a 2-D bar chart using Bar and Rectangle. */ /* */ void BarDemo( void ) { int barheight[] = { 1, 3, 5, 2, 4 }; int styles[] = { 1, 3, 10, 5, 9, 1 }; int xstep, ystep; int sheight, swidth; int i, j, h; struct viewporttype vp; char buffer[40]; MainWindow( "Bar / Rectangle demonstration" ); #ifdef __TOS__ if( MaxColors > 2 ) settextstyle( SMALL_FONT, LEFT_TEXT, 1 ); #endif h = 3 * textheight( "H" ); getviewsettings( &vp ); settextjustify( CENTER_TEXT, TOP_TEXT ); changetextstyle( TRIPLEX_FONT, HORIZ_DIR, 1 ); outtextxy( MaxX /2, 6, "These are 2-D Bars" ); #ifdef __TOS__ if( MaxColors > 2 ) changetextstyle( SMALL_FONT, HORIZ_DIR, 1 ); else #endif changetextstyle( DEFAULT_FONT, HORIZ_DIR, 1 ); setviewport( vp.left+50, vp.top+30, vp.right-50, vp.bottom-10, 1 ); getviewsettings( &vp ); sheight = vp.bottom - vp.top; swidth = vp.right - vp.left; line( h, h, h, sheight-h ); line( h, sheight-h, sheight-h, sheight-h ); ystep = ( sheight - ( 2*h ) ) / 5; xstep = ( swidth - ( 2*h ) ) / 5; j = sheight - h; settextjustify( LEFT_TEXT, CENTER_TEXT ); for( i=0 ; i<6 ; ++i ){ line( h/2, j, h, j ); itoa( i, buffer, 10 ); outtextxy( 0, j, buffer ); j -= ystep; } j = h; settextjustify( CENTER_TEXT, TOP_TEXT ); for( i=0 ; i<6 ; ++i ){ setfillstyle( styles[i], random( MaxColors ) ); line( j, sheight - h, j, sheight- 3 - ( h/2 ) ); itoa( i, buffer, 10 ); outtextxy( j, sheight - ( h/2 ), buffer ); if( i != 5 ){ bar( j, ( sheight-h )-( barheight[i] * ystep ), j+xstep, sheight-h-1 ); rectangle( j, ( sheight-h )-( barheight[i] * ystep ), j+xstep, sheight-h ); } j += xstep; } Pause(); } /* */ /* LINERELDEMO: Display pattern using moverel and linerel cmds. */ /* */ void LineRelDemo( void ) { struct viewporttype vp; int h, w, dx, dy, cx, cy; struct PTS outs[7]; MainWindow( "MoveRel / LineRel Demonstration" ); StatusLine( "Press any key to continue, ESC to Abort" ); getviewsettings( &vp ); cx = ( vp.right - vp.left ) / 2; /* Center of the screen coords */ cy = ( vp.bottom - vp.top ) / 2; h = ( vp.bottom - vp.top ) / 8; w = ( vp.right - vp.left ) / 9; dx = 2 * w; dy = 2 * h; setfillstyle( SOLID_FILL, BLUE ); bar( 0, 0, vp.right-vp.left, vp.bottom-vp.top ); /* Draw backgnd */ outs[0].x = cx - dx; outs[0].y = cy - dy; outs[1].x = cx - ( dx-w ); outs[1].y = cy - ( dy+h ); outs[2].x = cx + dx; outs[2].y = cy - ( dy+h ); outs[3].x = cx + dx; outs[3].y = cy + dy; outs[4].x = cx + ( dx-w ); outs[4].y = cy + ( dy+h ); outs[5].x = cx - dx; outs[5].y = cy + ( dy+h ); outs[6].x = cx - dx; outs[6].y = cy - dy; setfillstyle( SOLID_FILL, WHITE ); fillpoly( 7, ( int * )outs ); outs[0].x = cx - ( w/2 ); outs[0].y = cy + h; outs[1].x = cx + ( w/2 ); outs[1].y = cy + h; outs[2].x = cx + ( w/2 ); outs[2].y = cy - h; outs[3].x = cx - ( w/2 ); outs[3].y = cy - h; outs[4].x = cx - ( w/2 ); outs[4].y = cy + h; setfillstyle( SOLID_FILL, BLUE ); fillpoly( 5, ( int * )outs ); /* Draw a Tesseract object on the screen using the LineRel and */ /* MoveRel drawing commands. */ setcolor( BLACK ); moveto( cx-dx, cy-dy ); linerel( w, -h ); linerel( 3*w, 0 ); linerel( 0, 5*h ); linerel( -w, h ); linerel( -3*w, 0 ); linerel( 0, -5*h ); moverel( w, -h ); linerel( 0, 5*h ); linerel( w+( w/2 ), 0 ); linerel( 0, -3*h ); linerel( w/2, -h ); linerel( 0, 5*h ); moverel( 0, -5*h ); linerel( -( w+( w/2 ) ), 0 ); linerel( 0, 3*h ); linerel( -w/2, h ); moverel( w/2, -h ); linerel( w, 0 ); moverel( 0, -2*h ); linerel( -w, 0 ); Pause(); /* Wait for user's response */ } /* */ /* PUTPIXELDEMO: Display a pattern of random dots on the screen */ /* and pick them back up again. */ /* */ void PutPixelDemo( void ) { int seed = 1958; int i, x, y, h, w, color; struct viewporttype vp; MainWindow( "PutPixel / GetPixel Demonstration" ); getviewsettings( &vp ); h = vp.bottom - vp.top; w = vp.right - vp.left; srand( seed ); /* Restart random # function */ for( i=0 ; i<5000 ; ++i ){ /* Put 5000 pixels on screen */ x = 1 + random( w - 1 ); /* Generate a random location */ y = 1 + random( h - 1 ); color = random( MaxColors ); putpixel( x, y, color ); } srand( seed ); /* Restart Random # at same # */ for( i=0 ; i<5000 ; ++i ){ /* Take the 5000 pixels off */ x = 1 + random( w - 1 ); /* Generate a random location */ y = 1 + random( h - 1 ); color = getpixel( x, y ); /* Read the color pixel */ if( color == random( MaxColors ) ) /* Used to keep RANDOM in sync */ putpixel( x, y, 0 ); /* Write pixel to BLACK */ } Pause(); /* Wait for user's response */ } /* */ /* PUTIMAGEDEMO */ /* */ void PutImageDemo( void ) { static int r = 20; static int StartX = 100; static int StartY = 50; struct viewporttype vp; int x, y, ulx, uly, lrx, lry, size, i, width, height, step; void *Saucer; MainWindow( "GetImage / PutImage Demonstration" ); getviewsettings( &vp ); /* Draw Saucer */ setfillstyle( SOLID_FILL, getmaxcolor() ); fillellipse( StartX, StartY, r, ( r/3 )+2 ); ellipse( StartX, StartY-4, 190, 357, r, r/3 ); line( StartX+7, StartY-6, StartX+10, StartY-12 ); circle( StartX+10, StartY-12, 2 ); line( StartX-7, StartY-6, StartX-10, StartY-12 ); circle( StartX-10, StartY-12, 2 ); /* Read saucer image */ ulx = StartX-( r+1 ); uly = StartY-14; lrx = StartX+( r+1 ); lry = StartY+( r/3 )+3; width = lrx - ulx + 1; height = lry - uly + 1; size = imagesize( ulx, uly, lrx, lry ); Saucer = malloc( size ); getimage( ulx, uly, lrx, lry, Saucer ); putimage( ulx, uly, Saucer, XOR_PUT ); /* Plot some "stars" */ for ( i=0 ; i<1000; ++i ) putpixel( random( MaxX ), random( MaxY ), random( MaxColors-1 )+1 ); x = MaxX / 2; y = MaxY / 2; /* until a key is hit */ while ( !kbhit() ) { /* Draw the Saucer */ putimage( x, y, Saucer, XOR_PUT ); /* draw image */ delay( PauseTime ); putimage( x, y, Saucer, XOR_PUT ); /* erase image */ /* Move Saucer */ step = random( 2*r ); if ( ( step/2 ) % 2 != 0 ) step = -1 * step; x = x + step; step = random( r ); if ( ( step/2 ) % 2 != 0 ) step = -1 * step; y = y + step; if ( vp.left + x + width - 1 > vp.right ) x = vp.right-vp.left-width + 1; else if ( x < 0 ) x = 0; if ( vp.top + y + height - 1 > vp.bottom ) y = vp.bottom-vp.top-height + 1; else if ( y < 0 ) y = 0; } free( Saucer ); Pause(); } /* */ /* LINETODEMO: Display a pattern using moveto and lineto commands. */ /* */ #define MAXPTS 15 void LineToDemo( void ) { struct viewporttype vp; struct PTS points[MAXPTS]; int i, j, h, w, xcenter, ycenter; int radius, angle, step; double rads; MainWindow( "MoveTo / LineTo Demonstration" ); getviewsettings( &vp ); h = vp.bottom - vp.top; w = vp.right - vp.left; xcenter = w / 2; /* Determine the center of circle */ ycenter = h / 2; radius = ( h - 30 ) / ( AspectRatio * 2 ); step = 360 / MAXPTS; /* Determine # of increments */ angle = 0; /* Begin at zero degrees */ for( i=0 ; i> i ); /* Clear the Ith bit in word */ setlinestyle( USERBIT_LINE, style, NORM_WIDTH ); line( x, y, x, h-y ); /* Draw the new line pattern */ x += 5; /* Move the X location of line */ i = ++i % 16; /* Advance to next bit pattern */ if( style == 0xffff ){ /* Are all bits set? */ flag = FALSE; /* begin removing bits */ i = 0; /* Start with whole pattern */ } else{ /* Bits not all set... */ if( style == 0 ) /* Are all bits clear? */ flag = TRUE; /* begin setting bits */ } } settextjustify( LEFT_TEXT, TOP_TEXT ); Pause(); /* Wait for user's response */ } /* */ /* FILLSTYLEDEMO: Display the standard fill patterns available. */ /* */ void FillStyleDemo( void ) { int h, w, style; int i, j, x, y; struct viewporttype vp; char buffer[40]; MainWindow( "Pre-defined Fill Styles" ); #ifdef __TOS__ if( MaxColors > 2 ) settextstyle( SMALL_FONT, LEFT_TEXT, 1 ); #endif getviewsettings( &vp ); w = 2 * ( ( vp.right + 1 ) / 13 ); h = 2 * ( ( vp.bottom - 10 ) / 10 ); x = w / 2; y = h / 2; /* Leave 1/2 blk margin */ style = 0; for( j=0 ; j<3 ; ++j ){ /* Three rows of boxes */ for( i=0 ; i<4 ; ++i ){ /* Four column of boxes */ setfillstyle( style, MaxColors-1 ); /* Set the fill style and WHITE */ bar( x, y, x+w, y+h ); /* Draw the actual box */ rectangle( x, y, x+w, y+h ); /* Outline the box */ itoa( style, buffer, 10 ); /* Convert style 3 to ASCII */ outtextxy( x+( w / 2 ), y+h+4, buffer ); ++style; /* Go on to next style # */ x += ( w / 2 ) * 3; /* Go to next column */ } /* End of column loop */ x = w / 2; /* Put base back to 1st column */ y += ( h / 2 ) * 3; /* Advance to next row */ } /* End of Row loop */ settextjustify( LEFT_TEXT, TOP_TEXT ); Pause(); /* Wait for user's response */ } /* */ /* FILLPATTERNDEMO: Demonstrate how to use the user definable */ /* fill patterns. */ /* */ void FillPatternDemo( void ) { int style; int h, w; int x, y, i, j; char buffer[40]; struct viewporttype vp; static char patterns[][8] = { { 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55 }, { 0x33, 0x33, 0xCC, 0xCC, 0x33, 0x33, 0xCC, 0xCC }, { 0xF0, 0xF0, 0xF0, 0xF0, 0x0F, 0x0F, 0x0F, 0x0F }, { 0x00, 0x10, 0x28, 0x44, 0x28, 0x10, 0x00, 0x00 }, { 0x00, 0x70, 0x20, 0x27, 0x24, 0x24, 0x07, 0x00 }, { 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00 }, { 0x00, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x00 }, { 0x00, 0x00, 0x22, 0x08, 0x00, 0x22, 0x1C, 0x00 }, { 0xFF, 0x7E, 0x3C, 0x18, 0x18, 0x3C, 0x7E, 0xFF }, { 0x00, 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, 0x00 }, { 0x00, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x00 } }; MainWindow( "User Defined Fill Styles" ); #ifdef __TOS__ if( MaxColors > 2 ) settextstyle( SMALL_FONT, LEFT_TEXT, 1 ); #endif getviewsettings( &vp ); w = 2 * ( ( vp.right + 1 ) / 13 ); h = 2 * ( ( vp.bottom - 10 ) / 10 ); x = w / 2; y = h / 2; /* Leave 1/2 blk margin */ style = 0; for( j=0 ; j<3 ; ++j ){ /* Three rows of boxes */ for( i=0 ; i<4 ; ++i ){ /* Four column of boxes */ setfillpattern( &patterns[style][0], MaxColors-1 ); bar( x, y, x+w, y+h ); /* Draw the actual box */ rectangle( x, y, x+w, y+h ); /* Outline the box */ itoa( style, buffer, 10 ); /* Convert style 3 to ASCII */ outtextxy( x+( w / 2 ), y+h+4, buffer ); ++style; /* Go on to next style # */ x += ( w / 2 ) * 3; /* Go to next column */ } /* End of coulmn loop */ x = w / 2; /* Put base back to 1st column */ y += ( h / 2 ) * 3; /* Advance to next row */ } /* End of Row loop */ settextjustify( LEFT_TEXT, TOP_TEXT ); Pause(); /* Wait for user's response */ } /* */ /* PALETTEDEMO: Display a random pattern of colors on the screen */ /* until the user says enough. */ /* */ void PaletteDemo( void ) { int i, j, x, y, color; struct viewporttype vp; int height, width; MainWindow( "Palette Demonstration" ); StatusLine( "ESC aborts or press a key..." ); getviewsettings( &vp ); width = ( vp.right - vp.left ) / 15; /* get width of the box */ height = ( vp.bottom - vp.top ) / 10; /* Get the height of the box */ x = y = 0; /* Start in upper corner */ color = 1; /* Begin at 1st color */ for( j=0 ; j<10 ; ++j ){ /* For 10 rows of boxes */ for( i=0 ; i<15 ; ++i ){ /* For 15 columns of boxes */ setfillstyle( SOLID_FILL, color++ );/* Set the color of box */ bar( x, y, x+width, y+height ); /* Draw the box */ x += width + 1; /* Advance to next col */ if( MaxColors == 4 ) color = ( color % ( MaxColors -1 ) );/* Set new color for lowres*/ else color = 1 + ( color % ( MaxColors - 2 ) ); } /* End of COLUMN loop */ x = 0; /* Goto 1st column */ y += height + 1; /* Goto next row */ } /* End of ROW loop */ while( !kbhit() ){ /* Until user enters a key... */ setpalette( 1+random( MaxColors - 2 ), random( MaxColors ) ); } setallpalette( &palette ); } /* */ /* POLYDEMO: Display a random pattern of polygons on the screen */ /* until the user says enough. */ /* */ #define MaxPts 6 /* Maximum # of pts in polygon */ void PolyDemo( void ) { struct PTS poly[ MaxPts ]; /* Space to hold datapoints */ int color; /* Current drawing color */ int i; MainWindow( "DrawPoly / FillPoly Demonstration" ); StatusLine( "ESC Aborts - Press a Key to stop" ); while( !kbhit() ){ /* Repeat until a key is hit */ color = 1 + random( MaxColors-1 ); /* Get a random color # ( no blk )*/ setfillstyle( random( 10 ), color );/* Set a random line style */ setcolor( color ); /* Set the desired color */ for( i=0 ; i<( MaxPts-1 ) ; i++ ){ /* Determine a random polygon */ poly[i].x = random( MaxX ); /* Set the x coord of point */ poly[i].y = random( MaxY ); /* Set the y coord of point */ } poly[i].x = poly[0].x; /* last point = first point */ poly[i].y = poly[1].y; fillpoly( MaxPts, ( int * )poly ); /* Draw the actual polygon */ } /* End of WHILE not KBHIT */ Pause(); /* Wait for user's response */ } /* */ /* SAYGOODBYE: Give a closing screen to the user before leaving. */ /* */ void SayGoodbye( void ) { struct viewporttype viewinfo; /* Structure to read viewport */ int h, w; MainWindow( "== Finale ==" ); getviewsettings( &viewinfo ); /* Read viewport settings */ changetextstyle( TRIPLEX_FONT, HORIZ_DIR, 1 ); settextjustify( CENTER_TEXT, CENTER_TEXT ); h = viewinfo.bottom - viewinfo.top; w = viewinfo.right - viewinfo.left; outtextxy( w/2, h/2, "That's all, folks!" ); StatusLine( "Press any key to EXIT" ); getch(); cleardevice(); /* Clear the graphics screen */ } /* */ /* PAUSE: Pause until the user enters a keystroke. If the */ /* key is an ESC, then exit program, else simply return. */ /* */ void Pause( void ) { static char msg[] = "Esc aborts or press a key..."; int c; StatusLine( msg ); /* Put mesage at bottom of screen */ c = getch(); /* Read a character from keyboard */ if( ESC == c ){ /* Does user wish to leave? */ closegraph(); /* Deinitialize graphic mode */ exit( 0 ); /* Return to System */ } if( 0 == c ){ /* Did user hit a non-ASCII key? */ c = getch(); /* Read scan code for keyboard */ } cleardevice(); /* Clear the screen */ } /* */ /* MAINWINDOW: Establish the main window for the demo and set */ /* a viewport for the demo code. */ /* */ void MainWindow( char *header ) { int height; cleardevice(); /* Clear graphics screen */ setcolor( MaxColors - 1 ); /* Set drawing color */ setviewport( 0, 0, MaxX, MaxY, 1 ); /* Open port to full screen */ height = textheight( "H" ); /* Get basic text height */ changetextstyle( DEFAULT_FONT, HORIZ_DIR, 1 ); settextjustify( CENTER_TEXT, TOP_TEXT ); outtextxy( MaxX/2, 0, header ); setviewport( 4, height+4, MaxX-4, MaxY-( height+8 ), 1 ); DrawBorder(); setviewport( 5, height+5, MaxX-5, MaxY-( height+9 ), 1 ); } /* */ /* STATUSLINE: Display a status line at the bottom of the screen. */ /* */ void StatusLine( char *msg ) { int height; setviewport( 4, 0, MaxX, MaxY, 1 ); /* Open port to full screen */ setcolor( MaxColors - 1 ); /* Set current color to white */ changetextstyle( DEFAULT_FONT, HORIZ_DIR, 1 ); settextjustify( CENTER_TEXT, TOP_TEXT ); setlinestyle( SOLID_LINE, 0, NORM_WIDTH ); setfillstyle( EMPTY_FILL, 0 ); height = textheight( "H" ); /* Determine current height */ if( GraphMode < STHIGH ) bar( 0, MaxY-( height+8 ), MaxX-8, MaxY-4 ); else bar( 0, MaxY-( height+5 ), MaxX-8, MaxY ); rectangle( 0, MaxY-( height+8 ), MaxX-8, MaxY-4 ); outtextxy( MaxX/2, MaxY-( height+7 ), msg ); setviewport( 5, height+5, MaxX-5, MaxY-( height+9 ), 1 ); } /* */ /* DRAWBORDER: Draw a solid single line around the current */ /* viewport. */ /* */ void DrawBorder( void ) { struct viewporttype vp; setcolor( MaxColors - 1 ); /* Set current color to white */ setlinestyle( SOLID_LINE, 0, NORM_WIDTH ); getviewsettings( &vp ); rectangle( 0, 0, vp.right-vp.left, vp.bottom-vp.top ); } /* */ /* CHANGETEXTSTYLE: similar to settextstyle, but checks for */ /* errors that might occur whil loading the font file. */ /* */ void changetextstyle( int font, int direction, int charsize ) { int ErrorCode; graphresult(); /* clear error code */ settextstyle( font, direction, charsize ); ErrorCode = graphresult(); /* check result */ if( ErrorCode != grOk ){ /* if error occured */ closegraph(); printf( " Graphics System Error: %s\n", grapherrormsg( ErrorCode ) ); exit( 1 ); } } /* */ /* GPRINTF: Used like PRINTF except the output is sent to the */ /* screen in graphics mode at the specified co-ordinate. */ /* */ int gprintf( int *xloc, int *yloc, char *fmt, ... ) { va_list argptr; /* Argument list pointer */ char str[140]; /* Buffer to build sting into */ int cnt; /* Result of SPRINTF for return */ va_start( argptr, format ); /* Initialize va_ functions */ cnt = vsprintf( str, fmt, argptr ); /* prints string to buffer */ outtextxy( *xloc, *yloc, str ); /* Send string in graphics mode */ *yloc += textheight( "H" ) + 2; /* Advance to next line */ va_end( argptr ); /* Close va_ functions */ return( cnt ); /* Return the conversion count */ } f f?|`H jANNB@N`.p0+,t"f jANNB@N?n pAN`A4pNB@;************************************************************************ ;* * ;* Projektdatei fr 'fehlerhaftes' GEM-Beispielprogramm zur * ;* Demonstration von Turbo Debugger. * ;* * ;* Copyright (c) 1989 Borland International. * ;* All rights reserved. * ;* * ;************************************************************************ pdgemdb.prg .C [ -Y ] .L [ -Y -L ] = pcstart.o pdgemdb.c pcframe.c pcstdlib.lib pcgemlib.lib pctoslib.lib JN'L'CB y # KLNu/ / 0<"y`$Q`&R$ J$K" fXIS@l# yNB&_$_Nu/ / &H$y` JN$R f&_$_Nu/ / &H$y` JN$R f&_$_Nur2"p"iBB)0Nur2"p )Nur2"p"i$ Desk File Turbo Debugger Demo -------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 Quit PP  $ +P2 G \ q    / $y` *AN&R JNs$K fB&_$_NuH0$HH| cv Gp0"J KNB30 KL NuNV(J@g pNNuH86(H|f"9¼gE\G09f'J Sg"H kNJ@g/AN6XO'S0||b@0;N (>Tj LN4/AN6XO3`v LN/A&N6XO`T LN/A@N6XO`> LN/AeN6XO`(AN6/ AN6XO`?ATo be, or not to be, that is the question: Whether 'tis nobler in the mind to suffer The slings and arrows or outrageous fortune Or to take arms against a sea of troubles, And by opposing end them. To die -- to sleep -- No more; and by a sleep to say we end The heartache, and the thousand natural shocks That flesh is heir to. 'Tis a consummation Devoutly to be wished. To die -- to sleep. To sleep -- perchance to dream: ay, there's the rub! For in that sleep of death what dreams may come When we have shuffled off this mortal coil, Must give us pause. There's the respect That makes calamity of so long life. For who would bear the whips and scorns of time, The oppressor's wrong, the proud man's contumely, The pangs of despised love, the law's delay, The insolence of office, and the spurns That patient merit of the unworthy takes, When he himself might his quietus make With a bare bodkin? Who would these fardels bear, To grunt and sweat under a weary life, But that the dread of something after death -- The undiscovered country, from whose bourn No traveller returns -- puzzles the will, And makes us rather bear those ills we have Than fly to others that we know not of? Thus conscience does make cowards of us all, And thus the native hue of resolution Is sicklied o'er with the pale cast of thought, And enterprises of great pith and moment With this regard their currents turn awry And lose the name of action. (ք&j `"pN(H + j$N,)@(PKQJn$R f LNuH>v($y$`&j(j*+*j`p,-܆ܼ09Hg M N,Hِ0- LN=@`60- LNJ@g(  MN,Hِ0- LNr2-Ё-@ֆƚJnث$R fp L|xNuH>YO.:BC&h(hM8`H|b@0;NffxxxpN*HB ,"V$q" f , WN. , V$p+j  j (f:!n`0pN*H+l `\0.g"pN*H0, KN;@ ;l `40, KNJ@g pN*H0, KNr2, Ё+@ , V$p" g+j `0.g"pN*H0, KN;@ ;l `X0, KNJ@g; *********************************************************************** ; * * ; * WCOUNTB.PRJ * ; * * ; *********************************************************************** WCOUNTB.TOS .C [-Y -W-sig] .L [-Y -L] = PCSTART.O WCOUNTB.C PCSTDLIB.LIB ; *********************************************************************** JFb0L|xNuH0G4B$k`0"B@ kN j (rN<&BA0"j JN4$R f +L Nu/ / EB0#$B&J` <NBB'H&BG cB<&_$_Nu/ / &I$H QDB2g B@Np(NB!J!K"yB"#BC !I !I!I !I!I!I !I$ 90d#0&_$_Nu// OEH4 <N%H"<B@N <N%H"<B@N *%@N%HNr&r B@ANp ANN/@N /@NB/@ B@N/@p/************************************************************************/ /* */ /* CCOUT.C */ /* */ /* Ein Beispielprogramm fr die Verwendung des Pure Debuggers. */ /* */ /* Copyright (c) 1989 Borland International. */ /* All rights reserved. */ /* */ /************************************************************************/ #include #include #include #include /* -------------------------------------------------------------------- */ /* void print_cstatist( int *statarray ); */ /* */ /* Ausdrucken der Zeichenhufigkeitsstatistik. */ /* -------------------------------------------------------------------- */ void print_cstatist( int *statarray ) { int i; printf( "\nErgebnis:\n---------\n" ); printf( "\n Buchstabe Anzahl Buchstabe Anzahl Buchstabe Anzahl Buchstabe Anzahl\n" ); /* Ausgabe der Wortlngen */ for ( i = 0; i < 24; i+=4 ) printf( "%7c %7d %9c %7d %9c %7d %9c %7d\n", (char)i + 'A', statarray[i], (char)i + 1 + 'A', statarray[i + 1], (char)i + 2 + 'A', statarray[i + 2], (char)i + 3 + 'A', statarray[i + 3] ); printf( "%7c %7d %9c %7d %9c\n\n", (char)i + 'A', statarray[i], (char)i + 1 + 'A', statarray[i + 1] ); printf( " Sonstige Zeichen: %d\n", statarray[i + 2] ); } /* -------------------------------------------------------------------- */ /* Ende CCOUT.C */ /* -------------------------------------------------------------------- */ LNxC KN>` "Jp LNxfCgAN>C JNx"J@gp yJNt"N JNx0J@g "J NN> NNOL\NuH(O$HANFANANIHCA Nj JN.p. JNXJ@gpL JNXJ@g& JN.C0< JNȴC A Nj`pC JNXJ@g8 JN.C ANAN&C00<C JNȴ`ppS JNXJ@g< JN.C ANAN&C0C0<C JNȴ`&p yJNt`OLNu/ / &H <Nst$H f yJp NtB&Bk7|&_$_Nu PNsNuH8&H$I IN&0+Cko.0+|H SNs(H f yJp Nt&k"J0+ SN>kLNuH<&H*I$o(o"JNXJ@f"L KNx0J@gR"K LN>`F g / "M KNx>XOJ@f"J LNXJ@g"/ "o KNx>XOJ@f"J LNXJ@fp`B@L<NuNYNu?/ YO$H.lB@N6orAN@0Np JNXO$_6Nu/ &HB@ INX7@J@lp`B+BSBk7| B@&_Nu/ $H0*NYn$_Nu0( #include void f( void ) { int i = 1; i = 2; printf( "f1: i = %d\n", i ); } void main( void ) { int i = 0; f( ); i = 3; printf( "main: i = %d\n", i ); } 8$H8&INɘ<[g JN BB@`NIJSDn p TNt JNɘHR@g|g|NgU@g`Bp`SDl p TNt`LNu?/ $H JNɘ< g< g JN $_6NuH $HNɘHN?HN_fp`  JN B@LNu/ UO$H0gSPH| gJnR@gXS@g@| g`4| g*| g@|!g` p ` #include void main( void ) { int f, fac, i; printf( "\nZahl eingeben ( >= 1 ) : " ); scanf( "%d", &f ); if ( f >= 1 ) { for( fac = 1, i = 1; i <= f; i++ ) { fac = fac * i; } printf( "\nFakultt von %d ist %d.\n", f, fac ); exit( 0 ); } else exit( -1 ); } /* -------------------------------------------------------------------- */ /* Ende FOR.C */ /* -------------------------------------------------------------------- */ fvJCfNZ/B"L RNjPO6JCl0NSV0*f RNkBNPNLNZRNbJCgv0`pOLNu/ O&HAN"KANNMbNvVAmrpNNJ"KANNMnO&_NuOAr"pNRS@fANONuOAN6rANONuH06&HAxNZ J@fLNMbNvVE\ JrpNNJ/ 0C JN*XO6NMnNZRNbNF0`pL NuO"A^NU@fDCPpA\NxCAN>CPANCANApNONuOHWHoHoHo HoBgBgBgBgBgBgBgBgBgBgBgBgp?C.A.4rp!NO.r@fONuYONNHWHoHoHor B@NO0/gN0/Nx`XONuHGArpNNJ/************************************************************************/ /* */ /* INSPDEMO.C */ /* */ /* Ein Beispielprogramm fr die Verwendung des Pure Debuggers. */ /* */ /* Copyright (c) 1989 Borland International. */ /* All rights reserved. */ /* */ /************************************************************************/ #include /* -------------------------------------------------------------------- */ /* Strukturdefinition einer einfach verketteten Liste. */ /* */ /* Hier: Liste enthlt Hotelbeschreibungen bestehend aus */ /* Hotelname, HotelKategorie und einem Zeiger auf den */ /* nchsten Listeneintrag. */ /* -------------------------------------------------------------------- */ typedef struct hlist { char name[40]; int category; struct hlist *next; } HLIST; /* -------------------------------------------------------------------- */ /* Initialisierung der Hotelliste: */ /* -------------------------------------------------------------------- */ HLIST Hotel6 = { "Strand Motel", 2, 0L }; HLIST Hotel5 = { "Paradise Hotel", 4, &Hotel6 }; HLIST Hotel4 = { "Grillton", 5, &Hotel5 }; HLIST Hotel3 = { "Last palace", 0, &Hotel4 }; HLIST Hotel2 = { "Grand Holyday", 3, &Hotel3 }; HLIST Hotel1 = { "Hotel Very Best", 1, &Hotel2 }; /* -------------------------------------------------------------------- */ /* void main( void ); */ /* */ /* Ausgabe der Hotelliste auf dem Monitor. */ /* -------------------------------------------------------------------- */ void main( void ) { HLIST *hp; /* Zeiger auf einen Listenein- */ /* trag. */ hp = &Hotel1; /* Initialisierung des Listen- */ /* zeigers auf den ersten */ /* Eintrag. */ puts( "Hotelnamensliste:" ); puts( "-----------------" ); while ( hp != 0L ) /* Letzter Eintrag ist durc h */ { /* Nullzeiger gekennzeichnet. */ printf( "\nName: %s\t\tCategory: %d", hp->name, hp->category ); hp = hp->next; /* Zeiger auf nchsten Eintrag */ } /* setzen. */ puts( "\n\nWeiter mit " ); getchar( ); } /* -------------------------------------------------------------------- */ /* Ende INSPDEMO.C */ /* -------------------------------------------------------------------- */ JNx0` "J KN>JEg ANQH KNJ@g JEgAYN`0HAN#SCl/gCAN>A`N&H ggN KNQHOL|8NuH8OBCNLEGI`9fNNJHoHo"J KNPO9f 20NM09gN3B@NHoHoHo"Ho HRBg?<BgBgBgBgBgBgBgBgBgBgp?"KA.4rp3NO.8pNHTHTHTHor B@NO0/N@pDgN2/0/N69fB20NMpDg?/?/4/20NXOpDgAN6p Dg NK`pDgN@pNN/************************************************************************/ /* */ /* PCFRAME.C */ /* */ /* Programmsequenz zum Starten eines GEM-Programms. */ /* */ /* Dieses oder ein hnliches Programmgerst leitet jedes GEM- */ /* Programm ein. */ /* (In den weiteren GEM-Beispielen wird dieser Programmteil als */ /* gegeben vorausgesetzt). */ /* */ /* Copyright (c) 1989 Borland International. */ /* All rights reserved. */ /* */ /************************************************************************/ /* -------------------------------------------------------------------- */ /* include - Files einbinden. */ /* -------------------------------------------------------------------- */ #include #include #include #include /* -------------------------------------------------------------------- */ /* Typendefinition. */ /* -------------------------------------------------------------------- */ typedef enum { FALSE, TRUE } boolean; /* -------------------------------------------------------------------- */ /* Globale Variablen. */ /* -------------------------------------------------------------------- */ int work_in[12], work_out[57]; int handle, phys_handle; int gl_hchar, gl_wchar, gl_hbox, gl_wbox; int gl_apid; /* ------------------------------------------------------------------- */ /* Funktionsprototypen. */ /* ------------------------------------------------------------------- */ boolean open_vwork( void ); void close_vwork( void ); void gem_prg( void ); /* -------------------------------------------------------------------- */ /* boolean open_vwork( void ); */ /* */ /* Workstation ffnen ... */ /* */ /* -> Nichts. */ /* */ /* <- TRUE falls das VDI initialisiert */ /* werden konnte, */ /* FALSE sonst. */ /* -------------------------------------------------------------------- */ boolean open_vwork( void ) { register int i; if (( gl_apid = appl_init() ) != -1 ) { for ( i = 1; i < 10; work_in[i++] = 1 ); work_in[10] = 2; phys_handle = graf_handle( &gl_wchar, &gl_hchar, &gl_wbox, &gl_hbox ); work_in[0] = handle = phys_handle; v_opnvwk( work_in, &handle, work_out ); return ( TRUE ); } else return ( FALSE ); } /* -------------------------------------------------------------------- */ /* void close_vwork( void ); */ /* */ /* ... und wieder schlieen. */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void close_vwork( void ) { v_clsvwk( handle ); appl_exit( ); } /* -------------------------------------------------------------------- */ /* void main( void ) */ /* */ /* Hier steht Ihr C-Programm! */ /* */ /* -> Nichts. */ /* */ /* <- Programmendecode: */ /* 0 fehlerfreier Ablauf */ /* -1 Fehler in der Programm- */ /* initialisierung */ /* -------------------------------------------------------------------- */ void main( void ) { if ( open_vwork( ) == TRUE ) { /* ================================ */ /* Fgen Sie Ihr Programm hier ein: */ /* -------------------------------- */ gem_prg( ); /* ================================ */ close_vwork( ); exit ( 0 ); } else { fprintf( stderr, "Fehler bei der Programminitialisierung!" ); exit ( -1 ); } } /* -------------------------------------------------------------------- */ /* Ende des GEM-Programmgersts. */ /* -------------------------------------------------------------------- */ fBR R m<fG<.f8` @RD|mz`2<fSR0lBR` 0 3 g:`HN2zRJEgrBD; *********************************************************************** ; * * ; * CCOUNT.PRJ * ; * * ; *********************************************************************** CCOUNT.TTP .C [ -Y ] .L [ -Y -L ] = PCSTART.O CCOUNT.C CCOUT.C PCSTDLIB.LIB ; *********************************************************************** N"K JN`4<f"yT JN`<0m<zo <.g<fNB@L NuH0:6$H&I8Dt@gN`pEg JN`` "K J0NL 8NuH0$H68fNQNLNf0N80NG0g 2pNM62pNMN&BD`&3@HphCg 2pNN&` 2pNN2RD|mBD`"3@ HA2pNNn2pNMRD| mArpNNnGLBApNM'HB+r&pNMArpNNJpNPD kN8Bk kA"K"" k0(S k0(kSk KC"""k JN2L 8NuH0O8:$H&I/************************************************************************/ /* */ /* WCOUNTB.C */ /* */ /* Ein Beispielprogramm fr die Verwendung des Pure Debuggers. */ /* */ /* ACHTUNG: DIESES PROGRAMM ENTHLT EINIGE FEHLER!!! */ /* */ /* Copyright (c) 1989 Borland International. */ /* All rights reserved. */ /* */ /************************************************************************/ #include #include #include #include #define MAXWORDLEN 16 /* maximale Lnge eines Wortes */ #define NUL ((char)0) /* Endemarke (Nullzeichen) */ #define SPACE ((char)0x20) /* Trennzeichen zwischen Wrtern */ char *nextword( char *lineptr ); int wordlen( char *wordstart ); /* -------------------------------------------------------------------- */ /* Hauptprogramm */ /* -------------------------------------------------------------------- */ void main( void ) { FILE *infile; /* Eingabedatei */ char linebuf[1024]; /* "momentane Zeile" */ char *lineptr; /* Zeiger auf das erste/nchste */ /* Wort in linebuf */ int i; /* fr Schleifen usw. */ static int wordlens[MAXWORDLEN + 1], /* speichert die Wortlngen */ longwords; /* Fr Wrter > MAXWORDLEN */ printf( "VORSICHT!\n\n"); printf( "WCOUNTB.C ist ein bungsprogramm fr Pure Debugger.\n"); printf( "Wenn Sie dieses Programm nicht vom Debugger aus gestartet\n" ); printf( "haben, dann drcken Sie bitte nur !\n\n" ); printf( "Ansonsten hngt sich das System auf.\n\n" ); printf( "Weitere Informationen finden Sie im Benutzerhandbuch.\n\n" ); printf( "Geben Sie den Namen der Textdatei ein (z.B. TEXT.DAT): " ); gets( linebuf ); /* linebuf wird hier "mibraucht" */ if ( !strlen( linebuf )) /* nur RETURN gedrckt? */ exit( 1 ); /* Dann Programm vorzeitig beenden. */ infile = fopen( linebuf, "r" ); /* ffnen der Datei */ if ( !infile ) { printf( "Fehler beim ffnen von %s\n", linebuf ); exit( 1 ); } /* Lesen einer Zeile */ while ( fgets(linebuf, sizeof( linebuf ), infile )) { printf( "%s", linebuf ); /* Ausgabe */ /* Prfung des Pufferendes und */ /* Entfernen des abschlieenden \n */ i = strlen( linebuf ); /* Lnge der Zeile */ if ( linebuf[i - 1] != '\n' ) /* Zeilenvorschub letztes Zeichen? */ printf( "Beginn einer berlangen Zeile:\n\t%70s\n", linebuf ); else linebuf[i - 1] = NUL; /* Zeilenvorschub ersetzen */ lineptr = nextword( linebuf );/* Ermitteln des ersten Wortanfangs */ while ( *lineptr ) { i = wordlen( lineptr ); /* Bestimmung der Wortlnge */ if ( i > MAXWORDLEN ) /* grer als MAXWORDLEN? */ longwords++; /* ja - wird als "langes Wort" */ else /* gespeichert */ wordlens[i]++; /* sonst den entsprechenden Zhler */ /* erhhen */ lineptr += i; /* Zeiger um die Wortlnge erhhen */ lineptr = nextword( lineptr ); /* gibt es ein weiteres Wort? */ } } printf( " Lnge Anzahl\n" ); /* Ausgabe der Wortlngen */ for ( i = 1; i <= MAXWORDLEN; i++ ) printf( " %5d %5d\n", i, wordlens[i] ); printf( "berlange Wrter: %5d\n", longwords ); fclose(infile); /* Schlieen der Datei und */ exit( 0 ); /* Programmende */ } /* -------------------------------------------------------------------- */ /* char *nextword( char *lineptr ); */ /* */ /* Funktion liefert einen Zeiger auf den Start des nchsten */ /* 'Wortes' in einer Zeile. */ /* -------------------------------------------------------------------- */ char *nextword( char *lineptr ) { while ( *lineptr == SPACE ) /* Solange der Zeiger auf ein Leer- */ lineptr++; /* zeichen zeigt, wird er erhht */ return( lineptr ); /* Ergebnis: Zeiger auf das */ } /* nchste "Nicht-Leerzeichen" */ /* -------------------------------------------------------------------- */ /* int wordlen( char *wordstart ); */ /* */ /* Funktion berechnet die Lnge eines 'Wortes'. */ /* -------------------------------------------------------------------- */ int wordlen( char *wordstart ) { char *charptr; /* Arbeitszeiger */ charptr = wordstart; /* Arbeitszeiger auf den ber- */ /* gebenen Startwert */ /* Solange das "momentane" Zeichen */ /* != NUL und != SPACE ist: */ while ( *charptr & *charptr != SPACE ) charptr++; /* Arbeitszeiger auf das nchste */ /* Zeichen */ return( charptr - wordstart ); /* Ergebnis: */ } /* Wortende - Start = Lnge */ /* -------------------------------------------------------------------- */ /* Ende WCOUNTB.C */ /* -------------------------------------------------------------------- */ ʮ JNr8 N:j00*Na,JDmj$mR0*$ JNn. Nd.m N2n Nx&`(no&`8*$Hĉ` N,&SDl`&BGJEm pj(@o>0*(H@fJGg2 NXOLNuH ($yʮ JN6 N*j082j00N0*/************************************************************************/ /* */ /* CCOUNT.C */ /* */ /* Ein Beispielprogramm fr die Verwendung des Pure Debuggers. */ /* */ /* Copyright (c) 1989 Borland International. */ /* All rights reserved. */ /* */ /************************************************************************/ #include #include #include #include #define NUL ((char)0) /* Endemarke (Nullzeichen) */ extern char *print_cstatist( int *statarray ); /* -------------------------------------------------------------------- */ /* Hauptprogramm */ /* -------------------------------------------------------------------- */ void main( int argc, char *argv[] ) { FILE *infile; /* Eingabedatei */ char linebuf[1024]; /* "momentane Zeile" */ char *lineptr; /* Zeiger auf das erste/nchste */ /* Wort in linebuf */ int i; /* fr Schleifen usw. */ static int cfrequence[(int)('Z' - 'A') + 2]; /* speichert die Hufigkeit der */ /* Buchstaben sowie aller anderen */ /* Zeichen */ printf( " CCOUNT ermittelt die Hufigkeitsverteilung der Buchstaben in einem Text\n" ); printf( " -----------------------------------------------------------------------\n\n" ); if ( argc != 2 ) { printf( "Geben Sie den Namen der Textdatei ein (z.B. TEXT.DAT),\n" ); printf( "oder nur fr Abbruch: " ); gets( linebuf ); /* linebuf wird hier "mibraucht" */ if ( !strlen( linebuf )) /* nur RETURN gedrckt? */ exit( 1 ); /* Dann Programm vorzeitig beenden. */ } else strcpy( linebuf, argv[1] ); infile = fopen( linebuf, "r" ); /* ffnen der Datei */ if ( !infile ) { printf( "Fehler beim ffnen von %s\n", linebuf ); exit( 1 ); } printf( "Einlesen des Textes %s\n", linebuf ); /* Lesen einer Zeile */ while ( fgets(linebuf, (int) sizeof( linebuf ), infile )) { /* Prfung des Pufferendes und */ /* Entfernen des abschlieenden \n */ i = (int)strlen( linebuf ); /* Lnge der Zeile */ /* Zeilenvorschub letztes Zeichen? */ if ( linebuf[i - 1] != '\n' ) printf( "\nBeginn einer berlangen Zeile:\n\t%70s\n", linebuf ); else linebuf[i - 1] = NUL; /* Zeilenvorschub ersetzen */ strupr( linebuf ); lineptr = linebuf; while ( *lineptr ) { if ( isupper( *lineptr )) cfrequence[(int)(*lineptr - 'A')]++; else cfrequence[(int)('Z' - 'A') + 1]++; lineptr++; } } print_cstatist( cfrequence ); puts( "\nWeiter mit \n" ); getchar(); fclose(infile); /* Schlieen der Datei und */ exit( 0 ); /* Programmende */ } /* -------------------------------------------------------------------- */ /* Ende CCOUNT.C */ /* -------------------------------------------------------------------- */ 8g|P2f5o.O LlNuN_2"pNNuH O$yʮ0Na&`T29A NBD` 7 @fRDDnJ@g  fxB4H//  JN~"$ _N XO N&0*NamOLNu// $yʮ0Na&`,p/At// J N$"$ _NXO Nd&0*Nam$_&NuH ON&EHWHoC JNdPO JN(/gJgnN_2fpЄ` N_2gP/g/ JpЃNh&`/ JpЃNg&JmgpЃNJ@g ЄNJ@gJlNSNe` JN(؃" NNOLNuNcJ@gNNuH O$yʮ0Na&2<?0*NaC2NS8HJg"A N_LB7@ANexN` NOLNuH8O$yʮ0*$ JNN`6GIHWHoHo Ho"K LNeO LN(JDg KN*/K/g 0Na,` 0*Na,~N_22Hm/g:/ L Nh,Jm`g\pІNJ@g0HІNJ@fB0H`/ L Ng,Jm&g"pІNVJ@g0HІNHJ@f0H܀`Jl/f/************************************************************************/ /* */ /* PDGEMDB.C */ /* */ /* Ein Beispielprogramm fr die Verwendung des Pure Debuggers. */ /* */ /* ACHTUNG: DIESES PROGRAMM ENTHLT EINIGE FEHLER!!! */ /* */ /* Copyright (c) 1989 Borland International */ /* All rights reserved. */ /* */ /************************************************************************/ /* -------------------------------------------------------------------- */ /* Include-Files einbinden. */ /* -------------------------------------------------------------------- */ #include /* -------------------------------------------------------------------- */ /* Konstantendefinitionen. */ /* -------------------------------------------------------------------- */ #define ME_HIDE 0 #define ME_SHOW 1 #define ME_NORM 1 #define RSC_NAME "PDTEST.RSC" /* -------------------------------------------------------------------- */ /* Typendefinition. */ /* -------------------------------------------------------------------- */ typedef enum { FALSE, TRUE } boolean; /* -------------------------------------------------------------------- */ /* Globale Variablen. */ /* -------------------------------------------------------------------- */ static OBJECT *M_tree; static boolean *Done; /* -------------------------------------------------------------------- */ /* Funktionsprototypen. */ /* -------------------------------------------------------------------- */ void gem_prg( void ); void hndl_event( int * msgbuff ); /* -------------------------------------------------------------------- */ /* void gem_prg( void ); */ /* */ /* Hier steht der Quelltext fr ein beliebiges GEM-Programm. */ /* (Hier Anzeigen eines Mens.) */ /* */ /* -> Nichts. */ /* */ /* <- Nichts. */ /* -------------------------------------------------------------------- */ void gem_prg( void ) { static boolean done = FALSE; /* 'Mach weiter'-Flag. */ int msgbuff[8]; /* Mitteilungspuffer. */ *Done = done; /* Programm noch nicht fertig */ if ( rsrc_load( RSC_NAME ) > 0 ) /* Laden des Resource-Files. */ { rsrc_gaddr( 0, 0, &M_tree ); /* Startadresse des Mens */ /* bestimmen. */ graf_mouse( M_OFF, 0 ); /* Maus ausblenden. */ menu_bar( M_tree, ME_SHOW ); /* Men anzeigen. */ graf_mouse( M_ON, 0 ); graf_mouse( ARROW, 0 ); /* Mauszeiger ist der Pfeil. */ do { evnt_mesag( msgbuff ); /* Ereignis abwarten. */ hndl_event( msgbuff ); /* Ergebnis auswerten. */ } while ( !done ); /* Solange nichts getan ist! */ graf_mouse( M_OFF,0 ); menu_bar( M_tree, ME_HIDE ); /* Men verschwinden lassen. */ graf_mouse( M_ON, 0 ); rsrc_free( ); /* Durch Rsc-Datei belegten */ } /* Speicher freigeben. */ else form_alert( 1, "[3][Rsc-Datei nicht gefunden.][Abbruch]" ); } /* -------------------------------------------------------------------- */ /* void hndl_event( int *msgbuff ); */ /* */ /* Auswerten mglicher Ereignisse. */ /* */ /* -> msgbuff Zeiger auf Puffer mit Ergebnis des */ /* GEM-Ereignisalarms. */ /* */ /* <- Done (globale Varibale) */ /* TRUE - Programmabbruch */ /* FALSE - sonst */ /* -------------------------------------------------------------------- */ void hndl_event( int *msgbuff ) { *Done = TRUE; if ( msgbuff[0] == MN_SELECTED ) /* Menpunkt wurde ausgewhlt */ { if ( msgbuff[4] != 16 ) /* Ungleich 16 ist alles, nur */ /* nicht das Ende! */ form_alert( 1, "[0][ Pure Debugger Demo| |(c) 1989 \ Borland Int. |All rights reserved.][ Ok ]" ); else *Done = FALSE; /* sonst ist es vollbracht. */ menu_tnormal( M_tree, msgbuff[3], ME_NORM ); } /* Mentitel normal zeichnen. */ } /* -------------------------------------------------------------------- */ /* Ende von PDGEMDB.C */ /* -------------------------------------------------------------------- */ vaZfTCY'͎ ii1@8T`xĀ Y&y%A2g`Ύ$`BUoZɸ=,UnR`0Qi[lHb @25 h!U_0zb+g̢!30ں+d;Е`a+[vt҉+Ee> 8NMk+Xlh1k&^"b]9^ܣW+6noRƂFBF[1zAHr0XҊ,BZ m2Ċ1WfI9mdEDO :[* a +2$x9P+3|& 8AbPmVYTxfn݅^*C+O*qFZ4o*嫆&;%F5[ c '?)L.xk"5N=/c5_(X CQ78[f L) em4M~h`gVr5pE+ 먝=%"fj= qi>CV0x/IUx_``$&̅ կZ[TINSPECT.H*181d #ҘqC_$q2J!T,$J F4M :( E_0q :A(ㆎCHM-I]ޭRe^Yl*MXXKYҍb+dMi,}pMPKBGI Stroked Font V1.1 - Jul 12, 1988 Copyright (c) 1987,1988 Borland International EURO + -6Jv*6HP^f 4>tP^2DN\h 8BP\jv6Tf2Rr08JVf" ^ " T  & h  " J p  F p 0Nb*<P` &6H\p|.>Nbv(6FV`jz2Ht:Zr &Dbp#6(     % "##! *"$ ' !#5##!  (%" %%01$!%$%+ "%%$$$$$$$$....!$$#$/! #**&&*#0&*******"*"# "*" " $* **********/*/~/ *y&v&v&'~("!&&) " "" ) (& """)""") .. 1/)  *) "##)")}""//*22&)0& ))))#,%*+"+"*#####"%% ~~~(++"%% ~~~(++"%% ~~~(++"%% ~~~(++"%% ~~~(++"%% ~~~(++'**'**$$$!$$'**'**!$$ }})******$$$!$$!$$ }}++~++++++++++~++++++++++~+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |++||* &*+++)'"&"'PE'q3KPvi6'lnxd \"rMtht*$k.){G Heg~peei#;Wnuo@jX_s ônq&,XH./L!MT4)r.Bh03Ox ́_WFbu+YeThEax#34CQTPYayLeSQ8Ê"TERUU*?DA0@i@g@b@ktDI/)tf&!bW0Jt_QH )0Q71{RVO`xIv&19F݈F")Id>dZIZ!X@~>t3TuPi-i51'q]i,A(htBAqs{HҗlqIb0.!gHPiphi/P~MXz6s9j(Mb2CKp<ibA{ w(O9)r);SI*b)&m0OaS3EΙr; 7Uɉ,D*Ɉ-q72Y*ȋ|)'"(Q(|9*AQ_ V[YjI.k>#Ÿz5R3w@( MPO !z()#Sv#gPr3022Jz. "ZS791=j:%S^AؤO^PKBGI Stroked Font V1.1 - Jan 12, 1989 Copyright (c) 1987,1988 Borland International GOTHgF+ :^r >Zv&xtJTpz@VJ t 6 b 02:Phh0b@th Z2*8" j L!!*""".#v###@$$>%%Z&B'''H(())4**0++,,--- ...v//&0|000"111112477(787H7V7d7x7777777777788 808@8P8d8x8888888899"909@9P9Z9d99,:b:::\;;$<<p>>x??R@@@jAAAAAA&BXB|BBBBB6CC            #            }             }                                       z{ z      z z                      zz y}           {y}                      | z  ~ ~  {                   ~~~~        }}}}}}}} }}}}}}}}}}}}y       yy  yy  y  y y  y y              x  |   ~    y      O$_6Nu/ / UOEZpN<|f ydf ybf y`gp`B@5@CAtBA09^Nr09^Nd09fH5@29hH5AHjHjHjHRB@rNOGHkHk?*?*?*C K42<pNOTO&_$_NuH06$HAN1C"J&H&&pPhphh J209^PKBGI Stroked Font V1.1 - Jan 12, 1989 Copyright (c) 1987,1988 Borland International LCOM.+  4H6Bj4H T`P*j0Xlt" r  8 X x > z . V  @ h | 8x:hT\X2D>@r,z$V(fn$|$n8v.JZjjX """"""""" ##(#6#@#J#X#f#t#|######## $$4$H$X$h$x$$$$$$$$$B%%%%2&r&&&&'N''''L(((h)))**&*4*B*j*** +L+f+|++++      "                             yyy           y y      |         y         }}}}        {}}}}} }}}}}}}}}}}}  y y yy     y  y   y  y  y        {      y      <INA\O[HL NuH L V ` n |   $ @ P ` p $6Hbz*Hd"0>Zn   ~~~~   ~~a`paQ86NuP`??Ba<*fP`D<?fP`BA F;Bg6Sg(af<*fP`<?fP`BA F;g`aVB86NuaJP`#мB9Nu yмRмR9NuJ9g SмS9NuH&H(I*Jv?g :gP`<TK \gg :gP` <UCgJkJj?<NATO<AfBr\t.gfg fRgSK KtJWFBBk LtJWFBfJgJ`rSHJg"(fSHSBg`SBg fSg`Sg`LRBBkBJgSBQ -\gSCk*\fg<a<b<B`QL8Nup`p`A(p"@ "ByUA1B3U3UO"Nu/ Hz?<&NN\O$_Nu@TXJ? ?ry@ڢ!h5?ڢ!h5?ڢ!h5?@@NaN-INF+INF(C)Xmath by d'ART/ 09U kbT`/ &H/<?< NA#/@NA\ K$_$9g 3U "B`"AU"N|"K f$ByU `RS@f"y f0<`>"H y f0<`,H>/NXOL|`HyHyU'NrPOJ@k09&_Nu"_HpNLJ@fpN/ "yV ),g8"@g2g.f$HgggJf`g<=fJfRI I$_Nu`O~"Ap~WF<PKBGI Stroked Font V1.1 - Jul 12, 1988 Copyright (c) 1987,1988 Borland International SANS4+   $(,048<@Dp@ <|Rjx0x|2n 6 F n B t b |  & F Z h | : z 06FL &Tl<DR"rRt`PVd X:< "p Z !&!NAXO$_Nu/ /?< NA\O$_Nu/ /?<9NA\O$_Nu/ /?<HNA\O @$_Nu/ /?<;NA\O$_Nu/ ??/?<WNAO $_Nu/ //??<JNAO $_Nu/ ?<,NATO$_Nu/ ??/?<CNAO $_Nu/ ?/?<GNAPO$_Nu/ ?/?<=NAPO$_Nu/ /?<INA\O$_Nu/ ?< NMTO$_Nu/ ??< NMXO$_Nu/ ?<NNTO @$_Nu/ ???<NN\O$_Nu/ ?<NNTO$_Nu/ /// /?<NNO @$_Nu/ ??<!NNXO$_Nu/ ??<@NNXO$_Nu*.*.H.PRJ.\..\.PDB    _StkLim_StkOver0PKBGI Stroked Font V1.1 - Jan 12, 1989 Copyright (c) 1987,1988 Borland International SCRIm*+ 2F>Px>`nBZvDn:t2f"z6x 2 t , x   " P $ \  D FfDrFp RR0b*lL::nT&Z@b(8HHDf n z !!!&!4!B!N!V!b!r!!!!!!!!""(":"J"X"f"t"""""" #R#|###$*$6$F$X$$$$$$%T%~%%%&$&4&D&R&`&r&&&&'0'F'T'''                                   }  y          {  ~            |            }}}}                }}}}}}}}  }}}}}}}}}}}} y       y    y  y   yy  y      }   }~  ~  z   %s statement missing ;Do statement must have whileArgument %d missing nameMisplaced breakMisplaced continueGoto statement missing labelStatement missing ;Incompatible storage classStructure or union syntax errorDeclaration missing ;Enum syntax errorDeclaration syPKBGI Stroked Font V1.1 - Jul 12, 1988 Copyright (c) 1987,1988 Borland International SIMPw + :N<Nv>`nBZx.<j0@L`p 6BZfz"Ff0@Hl ( : P \ p | D P d  0 h * d  8 ~ 4Tx8TLp,>`x":FVft&:NZv&x^(b*Tj8Nft                    }         y          |        } }  |      }}}}        }}}}}}}} }}}}}}}}}}}} y       y    y  y   yy        }}}  }   z  FbM_hP'l)̡ڀ76KFF\lsaR腴=N#p h]3ѽ]H$:aCM18MudkJWUH%+; *JO+BP+r`-`0`D` fwʖBiBP^2 gǿYijf1D>3*QPZRfσq-Ƞ {n,h]/:Ռvu`x% dѡdC*2L2*Z" Z !f!!|""R##V$$%%J&&*''(((z))B**+x++:,,,,N-----.03$303@3P3^3l33333333333444*4:4J4Z4n44444444555,5:5J5Z5d5n556,6R666T7777H888b99<::L;;; <,>2>`>>>      !   &                                   }  yyz                yz{{z yz{{z        yyx      | z                 y   ||                }}}}}        }}}}}} }}}}}}}}}}}} y yy y yy    yy yy   yy   y   yy  yyy      }}    ||   }          zz      PIa.6/yQM믗# Ք w<f2͔.ޯ<|LDL L.L,Mk]ğ BPD}G 鴆r||m^!Sm1DQ%|Qe,fnAk M0BRĄ4\\:|S>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@#J3J k #J Ј<.@#JJyJg<"@(I$k,"Jf"JfB// ?<?<JNAO A<~kRrRAfA6<HCBB`6 !jBJ)gHiRC` "fSI "WSAkHiRCBSQJ)gHiRCHy`$ON*0 J"LN? 97g @N 97g @NN1T?<LNAB//NPONuH>O$H*I(o&G"J KN.X"J KN2j"Kp JN2RCp JN2HCAIN..M "M NN." NN.HV"K o.N XO6CI/ C8/ "K JN-"_N->"_N-8"Mp NN1JCfBT`8pO L|NuA8pyNN$*r@3NNu/ / OxHWHoCAN$:POEJGr46p` 2A7R@| m7|Ho"J KN!XO5o5oO&_$_Nu?OAxp"N'#XN"X629JgA8NpN#`(A8s0N#6NNPAN"@ W(fN"`N" yXp"N'8O6NuXBRATCFS@||f0 A P0|\jT@kJyNgNh!/N`/|Ns < yXFN/ A$h hJ@g/(Hj"h PJ@faX`aP4$_NupN#:NuB@N#0Nu?A<6KC610A4BCJC I6NuNh NuNh NuNph NuNh NuNh NuNph Nu/N!_ NuN h "P0(`BS@lNuH 86$HN20NX h "P0(`S@nBLNu/ $HN6 h "P0(S@mfB$_Nu/ $H?*?*?*?BgBgBBBAN!LO $_Nu/ $IHjHjHjN!`O $_NuQOBAN#JCNAB@N?/?/?/4/rB@ yJN \OPONuQO 9JgC @NApNfBJPONu?/ $HN$6rA:pC JN$CH* JN)$_6Nu/ $HgH|N$ JN$.$_Nu<0m<9oH<Am<Zo<<am<zo0?A8BSD?D0CS@?@2/yJo?yJ0/yJo?yJA09JNPO86NuH8$H68I:~`0 JN\2H ЀЁG4+m 0 J2N0+|| bH@0;N>>>.>.>.2+0HAHA'H `0+HA'p 6JCmCfxLNuH A:~E8"H`&0)H"0)H#r0) H#rC?A?B?A?B?C ?@ ?C?@?AA0rNdBDII`Z4@H6*Djf 2pNN`2pNPjl0*DH l2pN`AI2pN0N`RD| m0<NOL8Nu?/ $HBC`*0H"yIC JN#J@f0N80N^` RCyRm$_6Nug ?gpNufB@NugRI`NuH0YO&H$I<*g8Jf8f4`.AB@`<|f`|lR@JfBC KNJ@fp`JfB@XOL NuH8&H$Ip*g`  ICI LN"J@gCI LN"J@fB@``B@`Jg<.fr `RLR@|mB .f RL"L KN"9SgGI`&op*f "K LN J@gp`B@LNuH(O$H(IN"&UC` 2\0gSCJClC0AN"^CIAN!9SgII"LAN!p|AN!(H gBArpNpNhpNbOxLNu/ / &HES$"j JN!"K JN!> JrpN(pN*&_$_NuH:O\,H(IERBRGI g @NBH3HpNJ@fPpNX(&JgJg ND&f pN`&"L NNBD`B3@HH|@fz`BE2pNZ@gJEg 2pN2`2pN40NrRD|m"NAN!CIAN ZBE0NMx NN>pANF<J@f@/ "N SNXO: NNNV<J@f"/ "N2H SNXO@0HbN@4JEg2H SB@N` SNBrEB@NB@NJEg5|B@N`pN0**g j$NLBj*NOL\xNu/ / $HN 09RH&yIGB@` < gR@|mg."K JN&_$_NuAShlpNu2(hAmpNupNu/ YOpNES ?*?*?*??*C A 4*2*0*NfO pN0jgjr2 NXO$_Nu?/ 6$HrA:pC JNCI JN$_6NuH08$HGJ Am$ Pn *:fH|"J0HAN0H3g C JN` J0N~L Nu/ $HN U@` 2\fB2`S@J@l$_Nu?62pN0NBApdN2pN0N6NuH QO68BANV$HCNXAB@N*ApN"?/?/?/4/rB@ JN\O0 JNT8ApNApN20N4pN 09RN0POLNu/ O$H"HANB@2|g 7 f.RA`R@ 7 gRA4R@7 fSA 2.fB2O$_Nu/ O$H"HAN$ %| B@2 7.fr`RA4R@7 fO$_Nu// O$IrpNrpNS@fv`BC JrpN JN(JCg(f pN``C JN&J@ff JpNF`0O$_&Nu?/ O$HBANArpN(rpN,rpND6 JrpN` JNP|fp`B@O$_6Nu/ / O(H&IA"LN(K ,:fAH|NDTL \f(RLB/` ,f |\B, ,\fANrVL .f ,.g"LANC KN2OP(_&_NuHCI JN"`pЄ 2\g 2:f"L JNATN0< JN6JCfAJpNU@gK"K MN~"L MNB@ MN8J@lv` JNh:J@lv`rpN ,'m N*H fv`0BC" M0NT.Jlv`Jg" M0Ngv MNFBA0ANr0AN0NJ@gv0NJ@gvJCg0NOL&"INu"JNu"JNu"J/Nu"J3Nu"J5Nu"J7Nu/ $HrpNAICS f"J;#|JA` "I#J$_Nu/ $HN"yS JNN$_Nu/ / $H&I09RNzJ@g" JNCI JNH"yS JNB@`* yRg"J KN KN3S `ByS p&_$_NuH0O$H&IBCAJIN4J@g@"J KNC KNB@ KN6J@mN.AJpN 6U@g 3S p`B@OxL Nu/ O$HBCAJ[NJ@g4AxN JNANJ@gpNLAxN"yS JN*O$_Nu/ O&HCJoANANCJ|AN"ApN @S@f0N"KANANrANJ@gpN"yS KNOx&_NuH0O$HG"J KNx KN0N~>N?@ KB@Np6l KpN`r0AN(0NO|L Nu/ O$HAxN&J@g(NBANHoxC JNXO"yS JN"O$_Nu/ / O$HGx"J KN KN"JANC KNJ@g "yS JNO&_$_NuH08&H$IBCAI`RC00HAfyR09S"g ySNhByS"0N|myRl "J KN2`B@L Nu?/ 6$HB9S|&fS|mN29IpN09INV3I2pN0NB0N"yS JN$_6NuNS@g S@gS@gNupyRN*Nup yRNNuNNuH08<>$H&IBCR@|7b|@0;Nppppxxxxxxxxxxxxxxxx:ppp........pNj\N`BEAI`RE0PH@f J0N`0N*"K JN6`0N"K JN6`0NvByS `0N JNZ`0N JN`~0N JN`n0N JNF``0N JN|`R"K J20N6`B J20N `6 JNf"yS JNd`"pyRN`pyRN`0N:0L NuH086:&H$I? yRB@r4NTO8J@m2pNJ@gB@`"J K420N L 8NuH8OGSV kgvE0+fBR R m<f\<.f6` 0RC|mx`0<fSR0lBR` 0 3 g8`HN2xRJDgBCII`20H"K2H TANJ@fHNJ@g0NrJ@gRCkmȶkl0NXJ@f`<gZzC`0H"K2H TAN6J@fREkmSE0H TA@2H"TC@` @RDRHRIgg4B3@"KANxAN`"CJANANP7|0N0N`0+g kN.BkOL8Nu// 6ER RgR0*(g j"NBj(0C6J@lBC` jmvjjl0NJ`p j@mpCN60N\$_&NuH0&HBCEI`20gRC|m|l20HpNJ@f K0NNB@L NuH8$H&I:II˶<fByS `,< f,"J KNNCJ KNC KN3S p`BD`RD 4@g4@f 4@g J24B04 N`T yRgJ09RNTJ@f<H| g&]@g[@g`(pN JN8`pN JN` pN JNB@L8NuH0$H&I2|R0gDn|Hg(|g,|g@`|SgV| g`t JN`pN0`pN&`pN JN`rpNjJ@fpNj"K JNh`r yRgd09RNrJ@fVpN@ JN`H< fpN,"K JN`4<f"yS JN`<0m<zo <.g<fNB@L NuH068&H$It@gr@gr`r"J KN`:EpCg KN` "J K0NL 8NuH<$H6*I&o fN KN KrpNN MN0NHKI0-g2pN;C2pNNR&BD`"5@HphCg 2pN`2pNRD|mBDII`5@H L2pN2pNRD| mA rpNKS BApN^+H|A rpNpNh mN\Bm mA"M"" m0(U m0(mSm MC"""m JNP KN*L<8NuH>O(H&I$oNMPO @$_NuA(p"@ "ByJA1B3J3JO"Nu/ Hz?<&NN\O$_NuSfNuH<&H&$I(pe$f"IH"L KNJ@o "L KN`pЃ"NI "NK"L MNJ@o "L MN"K MNJ@o "K MN|`"L KNJ@o "L KNfpf"M K NV`KH`c4"K MNJ@m`"L KNJ@n` "L MN"ę`b޹b"K MNJ@l "K MN "N*crd "J M "N&`pd ""J K N&M`L<8NuJgNNu0<a`H06&Hp Cgp@CfFpC?/ ?<=NAPOJk&8jaTpCgF?<?p/?<BNAO Jj.`Br߲fNAXONual37p`ް|c/ ??<>NAXO$_JkpNuaB37pNu/ /?<ANA\OJkp$_Nua37p$_NuH/<VNA J@kp$_Nua37p$_Nu/ J@f//aJ@fBg`//??<?NAO $_JkNu  _`a37pNuH&Hx&SgkJ9Jkvf~a<g&< g<<gP< g< e޸dRa`JgSSKpap apa`Rp aJp a`bJg^J`TxB9J`Jx B9J`Jp a2 L$_NuBx`xB9J`x B9J`?<NATONu??<NAXONuH@??<@NAO $_JkfNuab37pNu37NuH 6?<?B?<BNAO (Bg?/<?<BNAO *Bg?/?<BNAO JWHL8NuD@| |"b;NupNu   JgJgJgJgJg JgJgJfSHggggg ggf @NugfSHNuJgNugHf8g@f0g8f(g0f g(fg fgfgg!epNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNuSeg gb pNuJfpNupNu"CB@f ANu//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!7`0123456789abcdefghijklmnopqrstuvwxyz/ &yJ g/ &S?<INA\O`&yJ g/ &S?<INA\O`&_Nu|A0|NuBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@$HBJBf$HBJBfNuHBЂNuHBЂNu$HBJBf($HBJBf H@B@H@NuB@H@HB0@0H@0H@Nu AH@r2B@tЀӁd҈рӁQF@Nu/ a|$_Nu/ a|$_Nu/??a~20 _Jfnt4J| <0HB<0/t4| <0HB<0/t4JJ||PdBBHB <0HB<0BQNuPNu4J|<e6< b0<g2|g"SB; "b`2|<b eaJgQNuPNuHH2<fr2dHAf r2HAfPNuQNu/??at20 _Jfdt4JJ| <0HB<0:t4J|? <0HB<0:t4B|? <0HB<0BQNuQNu4Z|<b4J|?<;b4|<bpNupNuHO&H(I*Iv?Jg +:f <RK`?<NATO<AUB|\p.gfg fRgSK KpJWF@@kf:`\B@<@?Ho?<GNAPOApJWF@FBR@JgSHS@gRS@ fSgJ@f`BB(R@@k<:AfSLfg<a<b<@`QOL8xNup`p`HB<g$I&HvJWSKFCgBBBDBE (:ftg<#<\g0R<.gSf`"Sg #<\g<.gRSg#<\g`8BEBDEJgfTH`JCgfA0` SCQJDgfA@` SDQJEgg SEQBg<a<b<@`LNu*.[1][|PC Fileselector| 1990 by Borland Int'l Inc.|What to do?][ OFF | ON ][3][|Sorry, this is a DA][ Cancel ] PC-Fileselector E,EAEEEKEOEREYEOEREcElExEEEEEEEEEEEEEEEEEEEE@E@EEREEEEEFFF FFFFF$F*F0F>FMF[F>FMFiF>FMFwF>FMFF>FMFF>FMFF>FMFF>FMFF>FMFF>FMFF>FMFF>FMFEOERFG(GQGzG~GGGEOGGEGGGGGFRGHFRHH#H'   123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTXYZ))abc def ghi jkl 2(' 6+  (6 ? !         1 ! " # $ % & ' ( '&% )!*"+#,$-%. &/ 04(3)*+,-./ 0 1  2  3  ' 5!6!  ! 9 UV,W! *[\ ]  6  ^_ `+ %%% m   n  1o BJTC20RSC.RSCH,HNHkHHHHHII*ICInEnter new extension:EXT*.___XXXOKCancelFile maskNAMETITLNAMENAMETXT________.___FFFFFFFFFFFFILACTIOA:I:B:J:C:K:D:L:E:M:F:N:G:O:H:P: OpenNewNew FolderDeleteTouchCopyInfo*.**.C*.H*.S*.PRJ*.CFG*.PRG*.??? FILE1xxxxxx__________.___XXXXXXXXXXXXX FILE2xxxxxx FILE3xxxxxx FILE4xxxxxx FILE5xxxxxx FILE6xxxxxx FILE7xxxxxx FILE8xxxxxx FILE9xxxxxx FILE10xxxxx FILE11xxxxx FILE12xxxxxCopy fileCOPYNAMExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXto:from:COPYSRCFile informationCANCELINFONAMExxxNAME: ________.___INFOSIZESize: ________NNNNNNNNINFODATEDate: ________INFOTIMETime: ________Write protect:OffOn\[3][|Running out of memory][ Ok ][3][|File|%|not found][ Ok ][3][|Create error][ Ok ][3][|Read error][ Ok ][3][|Write error|possibly disk full][ Ok ][3][|Close error][ Ok ][3][|Delete error][ Ok ][3][|Rename error][ Ok ][3][|Name is empty][ Ok ][3][|% is illegal][ Ok ][3][|TC can't run in low resolution][ Ok ][3][|Internal error][ Ok ]???()*+,-./0123  0. !"#$%&21 !"#$%& ___________...*.*.*\[1][|File exists][OK|Cancel]SPRG|APP|TOS|TTPCFGCHPRJOpen File...Name of new file?Name of new folder?[1][|Delete ?][OK|Cancel]"\*.SfT$XU$U~r  V,>$^ ,>V.(*Ȗ  0L  bL@$FZ D: 6.zLBd 4*   0"6 R.$t9Ō 2xF1OSDi7NvepteF͜q:Di$l!SN9ng໌XALTÁv:>@ĘYUftɇ _tZ  Vf>gcK a{"*‰YY~XLۂ0)Su͗l<%5$vIi` @cF1!(ڕtlN2rQ螛OFgҙۘ)t2 waA-NUt0|v'cii"(8$*s1c]F$XB2HdHֵdNBTZ9|))dbY)'p*) dvg.)g>ɨK4BYfgi:ZNV;) 6HEAPSORT.Hg$I /T@B򢁂 IPQ𠊄y: PC~t2uؔH&;iܐq1&!!6 8A*@DΠH|Ci8e怀TPF}*& hʄe9tP&b)Ĝ4z|MݻyK7n΀@bL8)PbO@A:IDEAPPL.Cnq)1OVd /T@B򢁂 QQ y: D'T$$DX) &E@i%'N`8A }: :lLCL8pظQP 4nư9tȤy`Œ-c6̜9eiVװc˞M&p5V3 LG6ỉW`:o653]fViɊˊXS&eZ B2sԑ3&7 v/)TǕPure C fr den Atari ST 18.06.91 ---------------------------------------------------------------------- 1990 by Borland International Inc. PC_FSEL.ACC Erweiterung: Im Gegensatz zur PC-Dateiauswahlbox, kann diese Version auch durch die Tastenkombination Control- verlassen werden. In diesem Falle wird KEIN Dateiname bergeben sondern nur ein Pfad und die Extension, welche sich im untersten Extensionbutton befindet. Auf Wunsch eines Anwenders, sucht die Auswahlbox jetzt nach dem vorgegebenen Datei- namen und selektiert diese Datei, falls sie existiert. Sie wird auf jeden Fall, in den NameDialog (New File/NewFolder) aufgenommen. Mit einer Buch- stabentaste (a..z) kann man nach Dateien suchen lassen. Neu ist, da man mit den Grobuchstaben (A..Z) die Suche auf die Dateien beschrnken kann. Die Dateiauswahlbox vervollstndigt ggfls. auch selbststndig den gesuchten Namen. Hier noch einmal alle Short-cuts: -------------------------------- Alternate- Laufwerk selektieren Control-Return kein Dateiname Return Open Control-U Cancel Insert New File Shift-Insert New Folder Delete Delete Control-T Touch Control-O Copy Control-I Info Control-A *.* Control-C *.C Control-H *.H Control-S *.S Control-P *.PRJ Control-F *.CFG Control-R *.PRG Control-D *.??? (user defined) Shift-Control-D Doppelklick auf *.??? Technischer Hinweis: ------------------- Es wird der TRAP #2 Vektor nach dem XBRA-Protokoll verbogen, die XBRA-ID, welche verwendet wird ist "TCFS". Speicherbedarf liegt bei 23306 Bytes Ihr Pure C Team E1%X|'Hny*V;Ć{tz8=yOlslܘ PlBGtu tq"'!Xi'5' k!R{q=Ry;)p 'j4&Wdw*p`BXpG&Ppx p -dUȉSr!?iG` OiRya`؇6c.szxw.+Iq)OywАlɔ ǏEfmmxpjӕrlG&I`dy&;alBt1Pf'xonp֖^Wp0w|&hO |wVf`yG!hz&(Q9*@N R UiMS35WuVxXx0)n pyY#vQ(}%!)P 4bX9q4ڡTpoef0T'6yР5bEnP*9)BJwK8X#(P|[jX( ,zRNjRGV..\help.prg = pcstart.o helpmsg.c pcstdlib.lib pcgemlib.lib A`pc֑a=fiE=.\ g,BEϥZ{-#nR#Kk$V$m̕{ 0Q$ bEbu@r05}m9:W!!! ""@7!=l&9%?h]jE){7t C@{˭ާypjM\Ͳ ~7Aݭ_}i݅淽.9%, epTs8iSBdpta h@sWhSb('I1nM@dAL`l(yqζW_S!>ldzxPHq cA{}|CzOIBE!HP)SzN]<0*sx1QRbX#iN[]nWܫ}0pJ^`)k)tlת gLgRXެ߅Əf.Rgi`7TކkfN* V.N>lQϙXXXk֝Nۿ~YxvW) ?jDcaGqr`)}'JJ p<1p.*P#2+*jZ8V}oÖy)JVTAJ$O>`;HV )/̏I`gr!'mب'7w|%fh}lظU'.ߢ1?[*Y/fIWk!oԌn.@]yX|~$PkѦ.5c/w/|k-lmlM30%pPɛ"R!5ɱl`BۖlMlfəʶ1-AWix`z OkbvשHٝH-Gל/* some macros for the message pipe to PC_HELP.ACC (c) 1990 by Borland International */ #define AC_HELP 1025 /* message to DA */ #define AC_VERSION 1027 /* Ask DA for version */ #define AC_COPY 1028 /* Ask DA to copy screen */ #define AC_REPLY 1026 /* message from DA */ #define AC_NAME "PC_HELP " /* DA name */ Lj7_fyݬ3 p -j1)YJh֑Z^wj7_fAᯅLqn !aɥX?R!׬TdSq念S@E%zʞ1=^zu UX@]`z,fQoR&=^|KڝfSQm;no=^|=_xq@qYǸ*uSő02=^ܶFL<=^ w0=^NVW!N}Gc_G]/ 01퟿N]T tMiKħG\hmz kF {@~KħB>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@#W`3Wd k #Wj Ј<.@#WfJyWdg<"@(I$k,"Jf"JfB// ?<?<JNAO A<~kRrRAfA6<HCBB`6 !jBJ)gHiRC` "fSI "WSAkHiRCBSQJ)gHiRCHy`$ON?F0 J"LNF? 9Og @N 9Og @NNA6?<LNAHOvB@AONM8J@m0A"<NL* B7SJm7PHNAJ@f0NM(`AON=l&H g "KAN>`BCJCgAN6|OL8NuOHWHoHoHo HoBgBgBgBgBgBgBgBgBgBgBgBgp?C.A.4rp!NGO.r@fONuNNuN'Nu/OrB@N+F2YA|blA2;N`@",6B@N6`JpN6`@pN6`6pN6`,pN6`"ArB@N*g ANJ@gv`BC`v0OP&Nu?O6>?yW?|N)?@Ar0NFO6NuH $H6*BD0r CYWf0)N()8BXdjt0N%2`BgBgBgBgr 0NHLPO`zN6pN `NN#`f0*N&`\4<2*pN`L4<2*B@N`B@L xNu3PL3PJpNu/ N$HBApNPN#$_Nu?/ 8E\5@5A5A2jN"$_8NuHUO>BB6`@RBJfx< f$:<HƍHFFXEx El:`RCCn`,<f"J@gB@`zWElHJFl pTHTB`RCWlCnB0TOLxNu//UO&JorAPpЃN-(Jlp`RrA N'  fR TO(&Nu/&rAPN+&JlN'x` &Nu/&rAPpЃN,&Jnp` Nx&Nu/UO&N&N'8Rn`rA N'@  fR TO&Nu/YO&SJnp`VrA N' / g /gpl2rApЃN& f/HJ@lU`/HJ@l /g XO&Nu//UO(N&&RorA N&  g f Rn `rA N&HJ@lT` TO(&NuH &$H:N(CDl82H J N&L0L8NuH O(NH&2<0CN"62A?/ N* _2N6BD:E`Z< f24H…HBBXA8`><f6JEgBE`0|oHJ@lzTJUC`JCoHN7(J@g zŖE`RDSCl0OL8NuHO&>N&2<AN8BE<G`Z< f24H…HBBXA:`><f6JFgBF`0|oHJ@l|UDTK`JDoHN6J@g |F`RESDmElElA׷cSK AאЃOLNuH,*vBl,*xrAP N(R,JmmR`JgD LxNuBA`  fRASl0NuH $H(0*N&*&op`(BE`rAP N(|R&Jm mREjm0L8NuH0OTE, JN>J@gf`APN1&H gN>`JNA&rA8G CNACPAN2 Bo JNA8`AN@p JN@J@f JN>jOL NuH0OT&H(E, JN>>J@gg JN2& 2\0g\RCPA0N2VAN@fB@ JN@nJ@fCA0N28 JN1"N@fJ@gCPA0N2B@ JN@6J@m S"N@gpN0N@J`pN~OL NuH $H*,oNd6 J NZ8jlJ@m Nj:J@lBEjo:* Nj<J@lBFjo<*JClBC:jm xj<*Cf 420N`$4*20N4BA0N` 4*BA0NRCCnLxNuH $H80*N#&` N&SDl LNuH O$H(>6jlJBoN0JGlGBG0*G@o6N!/@0N#*0*N#|,o*BW`b> N"/@ 2*j?AA 2<N@?@2/CAN(?@4j2*A0N / N(RGSCJCom o,0g " J N@20NN\OLNuH $H8:6JBgDBJDlDDBDJ@l@@B@2*DEl:2*@El:JEo??*4BA0N.XOL8NuA\B(NNu/ $HBjBjpN" 5@pN"4pN"5@BAB@N ND$<2*HpNN p"pNR@5@4H2*HpN^$_NuH8QO&H$I g2*f>Bo?|F?|ZE"K JN>6J@m8I\|B,9j9j"KAN.AN LN*N0POLNu09\N!~NuH YO&?AE\0*N!b. N&N(:*` N$(SE|nl&BF` N2.RFjln` N.SF2*DAAom Nv&"0*N!>*oJGlBG0<j>@o>0j?@J@fJNJ@gB4DB2*B@ JNJFl4DBBA  JN`>:*F4?0 JN J24N` 5G4*BA  JN4H2HpN:*JEm jlF`JElJFm jmJFo N JN:2*0NJFg $"B@NlXOLNuH YO&E\ JN8 N:j0*N,JDmjmR0* JN. N.m Ntn N&`(no&`8*Hĉ` Nj&SDl`&BGJEm pj@o>0*H@fJGg2 NXOLNuH (E\ JN6 NVj82j0NN&LNuH &Jlv`NPoNH&E\0N(0*N*n(f$2*mjl4*jm0*j@oz<*n " NJg  JNb< N>jJFmjlJGm pj@o Nd  JN.< N>j2j0No "  JN"0NH"0*N>N2LNu09\NN 09\N NNuH YO&(NBJlv`l&Jlx`l(E\0N*0*N,N.o..l.m"  JN"  JN`("  JN"  JN"  JN"  JN"0Nv"0*Nl0HNv5@f N`  JN5@XOLNu?N-J@f <_g<#fp`B@6Nu/UO&JmNHmp`rA NPNJ@fp`B@TO&NuHO8N>&2<ANBB72CRA8`SDJDo 7@f`SDJDo 7@gzA`REEo 7Pf 7@f 7Pg8:`RES2H҃0HЃNJDgp`B@OL8NuH OE\0N$NN0N&2<?0*N C2N08J@nN`2HA NPB7@AN>OLNu?6NlJ@g N0ND6NuNN:NB9]NuA\(gNpNuB@NuNJ@g pNpNuB@Nu?:NHH:J@gN(B@:NuH0YO<.(*/$&HE\6*H "$NJ@gp`xJo S N8H*20NF>*FSG@HN J@gJg&420CR@ JNj4*H2*HpN&N.6*` N.SC|n0*N"B@$NtD? /N J24NJl:<*E4DB?0 JN J24N`4*F? /N J24NB@XOL NuH YO<E\N&(0*N".?j2||g|f pN\p`V0|W@fNP`B0|ag|g`N`*N@`$f N` N0r AXWf0(NGG7HH8KK4MM6PP2stHNB0<lX N&` N&`v`N&`z&JoN NrN.J@g@`rA NNJ@g* NN&Jn`rA NjNJ@f* N,&Jn`rA NHNJ@g N &JnJgNJ@f NX&`&N(`rA NNhJ@g, N.&n`rA NNFJ@f N &n`0*NT.zj` N"& N.SEJEn`(0*N*.zj` N & N.SEJEnBA N`& N2&`( N&` N&` N&2/ N& N|Hg|Pg |H8g|P2f5oB@XOLNuH89]g|xN&JonN$H f pN6`X" R N&R(Kx`4<f(pl HJAlTKUJoHN' J@g RKS`RSl  JN JNL8Nu?/ 6E\5@5A4*H2*HpND$<2HpN4$_6Nu/ E\N4*?0*N JBA4N$_NuH <>E\0*N&(BE` N(REEn` NX(SEEmJgNf" N2 NLNuH 86E\ JNLN(j2N(5CNLNuH 68E\ JNN|&2jN&*HUAg` NNLNuH UO8>E\J@g*0<jHHN(2HN)*j0*N,`6N.6*` Nh.SC|n 2HN(2HN(N,BE2 NTOLNuH8&H(IE\0NB&0*N8(LNuN*NNuH $H8N6J@mSD JN 6J@l N:0N0LNuH0YO&H.(6E\N` KN"KAN!JCg4|/A/N$rB@ _NJXOpNBNNL|NXOL Nu09]vNu/ / UOE]pN0|f yWf yWf yWgp`B@5@CAtBA09WN(r09WN) 09WH5@29WH5AHjHjHjHRB@rN+OGHkHk?*?*?*C K42<pN,POTO&_$_Nu/ $H3]C]"" J209WN($_Nu/QOA]C""BCpWopoo0/yWo ?yWv0/yWo ?yWvA0NPO&Nu?6S@f29PRyPJAf"pN+`JCfSyPfB@N+`0N+6NuH8OpNI]0,fNH&L69WHÇEW8:, WS0,H@<, kl 29W0kN ?@29W0+kN Smkm2CXAol4DBoGIHWHo"K LN*POTS0lD@80lD@60@D?20N B_l~N `BGIWr0N&\r0N&p?tC20N TOp?tC2FEN TOpR?4rFpEN TOp?tC2REN xTOp?tC2R@0N bTOBA0N%r0N&^JGgN B@N:O LNu09]f" 9]f ]NPN3]NuA]0m&2(m hS@yWnhSAyWnpNuB@NuH E]68*:*<*NpNr09WN%RBA09WN%,?* 420N TO?4*20N TO?* 42Fj 0N jTO?4*20EjN TTOB@NDLxNuH?D?o?yWCAN BJ@gpNKWJFnBF`BG:` f JGgBG`~ `REgo mBEIWp JNx&H g0B20N$t J42C0N$JGgBG`~ @E`20N$F J42C0N$BA0N$.?9W4/ 0Ք@2CN "TOB@NO LQO&H$IM]0.f ?.?.4.2.0<N&XO6J@lp`PNBgBg/ r0N&POE5C5|IWKW Sg042+5A`45U0R0.j0NH42+4.BB5Ano"0.4.BBH7@2.AA5@0+2.AA5@no"2.4.BBH7A0.@@5AHWHo?*?*?*CA42<B@N%O??/4/2/ 0N%XONr09WN!BA09WN!?*4*2*0NTOBnNB@POL|NuBgBg/r09]N%fPONuH8(HE]&J5|HkHk?,?,?,C K42<pN%HO0N66+2*AAHÇW8+4* BBHĉW0WA7@2W4* BB7AHlHl??+?+C L4B@2<N$O?,?,?,?r0*N$PO20NNNLNu??QO69]89]JDgHoHoHo Ho r0N#O`HoHoHo Ho r0N#OANJDgBy]PO86Nu??UO869]By]HWr pN#rXOWfJDg 0N$<0N#ByPTO86NuH8O6/.E] JG8j:WE6IW2(j 8D7A0/,W7@:7ENN0*2fN'$%H0 KN ` KC""0oC KNN>OL8NuH,O6E]jf JC""IHlHlHlHTr 0N"tONpNJ5|29WWRA0/N?@29WoRA0/Np?@K`j"LANrJ@gD L"M""pUmpmm"J LNJ@fx`BD M0NLN *fNHlHlHlHTr 0N!O0,o2,nB@NBjN.OL4Nu/4@y]69WHÇCH…W0&Nu4@y]H…W0NuH 86:49PgTE]RmJjmD4jBl:2*jAl.0*2N620Nx8|m 20N`20NL8NuH:N~A]6(09]@@HÇW8(29]AAHĉW4|b~B4; N *4>P`jBApDD@N`TBApDN`HBApN`>BApN`42DAHB@N`"2HB@N`rB@N`rB@NNBy]L8NuH0:68E]NNGWr0Nvr0N?9W4CW2*y]0W@0y]<WFNTOBA0N*r0NN*L xNuH(YO<*&E]Jf8<` 눐Ѕ"N(IPHWHoHoHo0@240*NJOogBgBgBg?0@240*NPOXOLxNuH 68E] *fN&5C 5D |NLNu9]f]Nu 9]fNB9]Nu/ 09Pg,E] *f N|` *f N|By]$_Nu09]Nur09WNNu09WNNuB@N(NuAQ`4JC"41 AC INuNh NuN h "P0(`BS@lNu/ $HN h "P0(S@mfB$_Nu/ $H?*?*?*?BgBgBBBANO $_Nu/ $IHjHjHjN O $_NuH QO68BANL$HCNpNzAB@NApN?/?/?/4/rB@ JNV\O0 JNp|8ApN`ApNXB@N*20N0POLNuH0O6&HER0g@f:N jC`g<%f %f g RH`ffApNX`\J`OL NupN LNu@l0NqNu@o0NqNuH0&H$I20N62*0+N82j0kN:2*j0+kN45D2C5A4D5B0*oJBop`B@L 8Nu0Qf"2(if4(if0(ifpNuB@Nu??QO6/JBo^JCoZJ@lB@JAlBA>?A8BSD?D0CS@?@2/yWo?yW0/yWo?yWA09WNPO86Nu/ OBE45h0hS@5@2(hSA5A5Q5i 4iSB5B 0)iS@5@HWC J09WrNNXOO$$_NuH0$H68`0 JN2H ЀЁG4+m 0 J2N0+|| bH@0;N>>>,>,>,pAQD'H `0+HAP'p 6JCmCfxL NuH EPAl`&0(H 0(H!r0( H!rAQ`eBC`rB@t8LA@ANRC|mLNuA]B#]Nu/ A]$H gp`F$H <N8$ g2B%| %|B@`2H%R@|mB@`p$_Nu y]NtB]NuA]"P ) / )NuH8((H&Jo\$y]l6"R&Q$*o6*"K NR *"* R&P"K LN8` * R&P "K LNL8NuH0YO.&(&H$y]JofN4ת ** o,ܼD Nr>J@fdBG`.0H"2o$*ԃl%` 0H列RG|mJob N** l,<܄ N>J@gp`8BG`0H"2oٲRG|m "S"* R PN6٪BXOL Nu/ y]BA`RA|l4Hv(f|l4H!(0`p&Nu2H y] 0Nu4H y]!(Nu// $y]&*Jo" "* R"P$* PN `&Jl" D"* R"P$* PN t $_&Nu// &$y]Jo6 *Ѓ RNJ@f\ * "* R"P PN *תת `:Jl6 * "* R"P PN תת * RNvJ@gp`B@$_&NuNNuNNuA]"H`BPI^cNu// &r€ցA]$H`PJ f^g N$ f`%C J$_&NuH0$H&r€ցo( N&H fp` *"R KN J RNn$%CB@L Nu/ $H g PNRB$_NuHrP4B"y]P2(A4(v8 D|PJ@o xP˜|P|A I8C:EEDE|DDD`@JCgNP* N@QLxNuH>Jg("y]$Q&Rd$)`$) &)d$Jgn(H`RSg$Jf"ҩf$) g&R `*K(` f,SJgJf"ҩf$) g&R `&M$`BCBEK (H50` RS5Pg Jf"ҩfZ$) gP&R `,K(`505Pf&SJg&Jf"ҩf $) g&R `&N$`SL|8Nup`H>tJWFg@SH"y]$Q&RЂd&`*) ()d &Jgz<(H$SF`SS#g$Jf$Q$R f")$Q&R&g`,K.JFg`#$f,SSFgJf$Q$R f")$Q&R&g`&N&`BDBEK <(H$5PSF` SS#5@g Jf$Q$R f^")$Q&R&gP`,K.JFg<`#5@$5Pf&SSFg&Jf$Q$R f ")$Q&R&g`&N&`RL|Nup`H&Hal|8a g.(HvKVh L"Ka L"UaJ*KQpL8Nup`H:&H(Ipf[|gk: |V&|`\x ag Kax,ag`L6(0@H@8||KYC|n4>MUpM@Jn8f aJ@fn l$n(20&20 :Zg @aJ@fp#8 <@a g&H:0.8r$aJfٮ:0.8"$K@ JaJf׮:#8xp n a< m na``<m n:  `aH2aĀA"0$0SAC( Qp` y8җ aJ@f y8("o"pL\Nup` p`p`p6a0`HvxMUp .g @aJ@f>-D :,g @aJ@f*#80.8g aJf=D8>QL@Nup`p`Jg <xNuxNua aNuHOp VadJf60rX OaJf H2.0Tf0r0AaJfh .ЮЮ$Ю0(a2 g\&H0"afJf:-D::=C8-K Ю-@ Ю-@ Ю$-@,pOXLNu Ka0ap`p`0ap`0ap`vMVhJn8fa"J@faJgMQNu 6@r v@C< a KVaJ@g0?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu/A^Bh1|1A2<fa6"_2r+2QA`r 2QNu/A^1|1|!I!o1A"_A000000000A^rm`Cc2222A^1|Bhrr`A^Bh1|1Ar`A^1ABh1|r`~/ /A^Bh1|1A1Br'a\A`f"_2"_2NuA^Bh1|1Arj`2A^Bh1|1Ar `C^3|3|3AC0""A^2<`A^BhBhre`C^3A03B23|CrtRB2fA^1Br`A^BhBhr{`3^/ C^2dBi3| Cp 2Q"<Irps/ NB$_ _0^A`f"op,2QA`p 2QNu^_fc`f`A^Bh1|1Arz`/ 1@ 0"<WLpsNBA`f0$_Nup `#aA_f00p `p`A_f00p`#a/ A_f00000 0 0000000000 paD"_2"o2"o"2"o&2"o*2"o.2Nu#aA_f000000p*`#a3_fp2`#aA_f0000000 0 0p3`/ #ap6a"_2"o2"o2"o 2Nu#a3_fp4`#a3_fpr`p3_f#ap#`^/ /pMaT"_2"_2"o2"o2Nu#a3_fpN`,/ /pOa""_2"_2"o2"o2Nu/ ?A_f00pha2CSA|;$Y4Q$_NuA_f00000pd`A_f00000pe`3_fpg`A_f000000 pi`j/ /A_f0000 00plaH"_2"_2"o 2"o2Nu3_fpf`&3_fpk`#apP`#apQ`/ 3^@@A"C^B@22220<"<LNBA`f0$_Nu^^_f`fac / ?<NATO$_NuH>?NAO $_Nu/ /?<NA\O$_Nu/ ?/?<NNAPO$_Nu/ ?<ONATO$_Nu/ ??<NAXO$_Nu/ ??<>NAXO$_Nu/ /?< NA\O$_Nu/ /?<9NA\O$_Nu/ /?<HNA\O @$_Nu/ //??<JNAO $_NuH>@NAO $_Nu/ /?< NA\O$_Nu/ ?/?< $4  z>>>>=>?@6 HBGCDEFGAQIP'JKLMNOPHYRX0STUVWXQ Z`9 [ \Pure C for Atari ST/TT 18.06.91 ---------------------------------------------------------------------- (c) 1990 by Borland International PC_HELP ------- Dieses kleine Programm stellt Ihnen das Help aus dem Pure C Entwicklungssystem als Standalone Anwendung zu Verfgung. Sie knnen es sowohl als Applikation als auch als Deskaccesory anwenden. Auerdem enthlt es eine Programmierschnittstelle, so da es von jeder beliebigen GEM-applikation aufgerufen werden kann. Installation Kopieren Sie einfach das Programm in das Verzeichnis, in dem sich auch Turbo C und die Helpfiles befinden. Sie knnen es aber auch mit der Extension ACC versehen, es in das Wurzelverzeichnis Ihres Bootlaufwerks kopieren und den Atari Rechner neu starten. In diesem Fall bentigt es aber noch den Pfad, in dem die Helpfiles sich befinden. Pfadangabe Beim Start des Programms oder beim Booten des Systems (DeskAccessory) wird der Helppfad mit folgenden Methoden gesucht: - PC_HELP.INF: befindet sich diese Datei im aktuellen Directory, so wird der Pfad, der mit einem einfachen Editor reingeschrieben werden kann, als der Turbo C Pfad erkannt und installiert. - PC.HLP: kann das Programm diese Datei mit shel_find finden, so wird der zugehrige Pfad installiert. - PC: fruchtet all dies nichts, so wird nach dieser Environmentvariablen gesucht und der entsprechnede Pfad installiert. - Ansonsten wird der gerade aktuelle Pfad verwendet. Aufruf Beim Aufruf vom Desktop oder als DeskAccessory erhlt man eine kleine Dialogbox in der man entweder eines der vordefinierten HelpScreens durch Mausklick auswhlen kann, oder Sie geben das gewnschte Schlsselwort ein und whlen den OK-Button. Verwenden Sie einen Kommandointerpreter, so knnen Sie dem Programm auch sofort einen Parameter bergeben, der dann als gesuchtes Schlsselwort interpretiert wird. Shortcuts UNDO zeigt den vorherigen Hilfetext. Control-U bzw. Control-Q schliet das HIlfefenster. Control-C kopiert den aktuellen Hilfetext in das GEM-Klemmbrett. Programmierschnittstelle Als DeskAccessory versteht das Programm neben den Standardmessages auch eine selbstdefinierte Message mit der Nummer 1025. Damit kann eine andere Applikation das Accessory beauftragen das Hilfefenster zu ffnen. Der Aufbau des Messagebuffers ist folgender: msgBuf[0] = 1025 (AC_HELP) msgBuf[1] = senderId (von appl_init) msgBuf[2] = 0 msgBuf[3] = Highword eines Zeigers auf das Schlsselwort msgBuf[4] = Lowword " " " " " msgBuf[5-8] werden ignoriert. Als zweite Nachricht kann man das Accessory nach der Versionsnummer fragen. Der Aufbau des Messagebuffers ist folgender: msgBuf[0] = 1027 (AC_VERSION) msgBuf[1] = senderId (von appl_init) msgBuf[2] = 0 msgBuf[3-8] werden ignoriert. Als letzte Nachricht kann man das Accessory beauftragen, den aktuellen Helptext in das GEM-Klemmbrett zu sichern. msgBuf[0] = 1028 (AC_COPY) msgBuf[1] = senderId (von appl_init) msgBuf[2] = 0 msgBuf[3-8] werden ignoriert. Die Antwort hat folgenden Aufbau: msgBuf[0] = 1026 (AC_REPLY) msgBuf[1] = senderId (Kennung des Accessories) msgBuf[2] = Versionsnummer msgBuf[3] = WindowHandle des Accessories Hinweis: Aus technischen Grnden ist es leider nicht mglich, da auf das Turbo Debugger Helpfile zugegriffen wird. Der Speicherbedarf liegt bei 29862 Bytes. Viel Spa wnscht Ihnen das Pure C Team <  =  >%!?1 = *C2D'E  FG H !I. @ JK-D:\PC\hXbO;UQA+œ $묨Pqwb =I5%I' gF 2|2bhK[Q/?ք#{՜xb:T;5SdkC9$MFzTN6%"|Ӈ !t&;'PEn#(C`$RESOURCE.Hr*y #Ҹæ2 D)2EN8l\@Aŀ L9c$RΛ4d$q2sԑ3& sN7:ǠbGŊe)# 'BB%*>~#GA<[% UI.Cj*ھ*  /T@B򢁂 IPQ𠊄y:@ "GH"V0yI ^ZI"$`hB!yC2q1&>6 8i܌aSLfkرl҈9VV\+'m BDAasV`zE!KNV2*l6oq piU{>9u3|Q 9y@yΜ: Z@2bOs m9hSfΜ0gwSFN:AM1oIsTAF@5h7U$gK\h fWap hnB\9ۃo ǝw}A{Dw߅7qN*i%=`By$XcW.R+ݏ $ F >H)esXA\GY$ e3h#nOQmb@lՖ]nSEiUk`~ yeeܡ_ Ce7xAA2XfUUئ NIEؽ!Ǫ-ZKRHѧA}Pr\Ύk!deAFnz diQօqQ_[yryI0q_Y@iBy`za.h/* example to show the message pipe to PC_HELP accessory (c) 1990 by Borland International */ #include #include "helpmsg.h" #define NULL (void *)0L /* call the Help DA */ static void Help( int acc_id, int ap_id, char *KeyWord ) { int msg_buff[8], top; msg_buff[0] = AC_HELP; /* magic message number */ msg_buff[1] = ap_id; /* my own id */ msg_buff[2] = 0; /* no more than 16 bytes */ *(char **)&msg_buff[3] = KeyWord; /* the KeyWord */ appl_write( acc_id, 16, msg_buff ); /* write message */ /* wait for reply */ do { evnt_mesag( msg_buff ); }while( msg_buff[0] != AC_REPLY ); /* wait until DA has window closed */ do { wind_get( 0, WF_TOP, &top ); } while( top ); } int main( int argc, char **argv ) { int acc_id, ap_id; ap_id = appl_init(); graf_mouse( ARROW, NULL ); /* which id has our DA */ acc_id = appl_find( AC_NAME ); if( acc_id < 0 ) { /* non, therefore no help available */ form_alert( 1, "[3][|" AC_NAME "|not found.][ OK ]" ); } else { if( argc >= 2 ) /* keyword given ? */ Help( acc_id, ap_id, argv[1] ); /* call DA */ else /* error alert */ form_alert( 1, "[1][|No Keyword given][ OK ]" ); } appl_exit(); return( 0 ); }qq @4p& 95nPt/IFG*"A07! @" t`+\M+<[) wU@B,`,摤&9I&}g#@GJ6 2DʓIܤST1 LuM pA$ d$(Wr8uQ"ŕ^o>&5SBׅ)S2oFL71%M/`-92c^i/pϠOV.sS9'vMSzl.8!زgYS$tʴ dȹ:%yg^U`]wGA~Ɨm-K6`u{Z.x&YxQTU$YR0FAAEVċOĨf'ڨ"ZL0QA0!^4 ZIXE<9@ RH,SP!ECPNȘ aޘA@%j&2PPHeJQO0כq&à9Dy 0qf; Example PCC configuration file ; -i=include\ -m ; no string merging -v ; verbose message output - nߊPzbBl>n fJCCBB 󞬭PTQAr#r4W)dQ% \sfa%r֐05߬L1}0ڇg=}'aPaTco Aq7 t`&0Fpg ,bQl4Gi7nƱ ]GԹ7(nDzwZ( s}'sPוZ`-CMTQ_-UlodvYfuYhiAҚQRlFvaB5@c fVoA%D^kg Հ{~!a H_HQ)`Z*$0u{g`c[h&NogVi*kxY)("W^gi =y"m&Ԧ j8`MqGpdҶW ;ppld~,Xf&`8*<<``2>>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@#$3( k #. Ј<.@#*Jy(g<"@(I$k,"Jf"JfB// ?<?<JNAO A<~kRrRAfA6<HCBB`6 !jBJ)gHiRC` "fSI "WSAkHiRCBSQJ)gHiRCHy`$ONm0 J"LNcR? 9:g @N 9>g @NN~H?<LNAB@Nu3B#JJNu09BNv@3BpNlLNu/ EJ jR jJe""< J09BNwа|gN%J$_NuH8(H&GJE RC o `Sl$`,`Sl"< K09BNwа|gNL$`LNu/ $HN{J JN$_Nu/ / EB0m2GJ"+ K0NwH k˰gN0Nv@4&_$_Nu/ / E4<2`|f4B@+|@BA*|@AnBB+|B@*|@n+H|g S@g6S@g"` + gJg"* g` kgz`rB@+|BA*|AfX$+gV *gP+*fB B"@()f4.(i`B@"l W hNJ@g W.(l g" fڹgB@` &S$R|fv g" ffp`B@XOLNu/ $H?"P*H j"* *HNTO$_Nu??86JAf4J@JA`?BBr0NTO86NuH ($H: *g *g *fN JN &"NopYNl?"JBB"pNPTOL8NuH8$H(I6*H| |b\A2;NRRRN `8pCS@g0Gz*HHЀ23gBA**HHԂ03(N$HpCW@f|`>ApCf (!f| (!f|p8Cf (f| 9|g|`|?"JBB LrpNlTOLNu/0t@|b:B4; N 0&&&&""*r| (g0`Fr `Fr`Br B@`< (fBB(J9|fvBJCfr|`9}gr |`r|20&Nu?/ UO$H>CNf6?"JBBrNTOTO$_6Nup7NlNuH $Hv` "* N&$R g *g fp`X*H|g`* j((Jf4/( 0<NlXO j!|`*HHЀA80H "NLNu?/ UO$H>CN6pN'Co B TO$_6NupN'B(BBBB NuH0$H&IpN'!J gj`B(!K!o L Nu/ / $H&IpN'!J gj`B(B !K&_$_Nu// $H&p N'!J gj`B(!C$_&NuH0&H6pN'$HBA0N%HCp "KANJ JL NuNNuNNuNNuNLNuNu// $HN6& JN$_&Nu/ O&IHWNXOA"K""2O &_NuNBNuOC""2 <@AN <@ANANBмO NuNxNu// &$H Nx <@ JN <@ JN$_&Nu?/ (H|m&E$20gBB@f0@02Nlp`B@$_6NuH>QO6$H&IK*g" g +f K` f&J(J|;fx`| m|3oBD`0@A800|g0 JN`J@f pANl`Jp@ j(g p6Nl`2p*H5ft+H5g|0 JN J@f0 KNJ@fzb<<0| |.b@0;N`d4l^ * o pTNl`fB"J jp;N XO`Pp*H5f pENl`6 ;f,j$j%Nn j,P .f"BB@( VN p;"JN XO(H` .f(J` ,f jN8J@g$j%Nn`B"J NN XO(H` ,f2 j"P jgB@ hN %H`0<Nm` ;f j`^ JN:J@f -g JN`J@f pPNl`4 +f((j lB@( jN ,H)Hn` 0fX/j  o hp,N("o#H. i p,N"o#H W(@@"h o!I%I J` g f j( BB@ jN p,"JN XO`t JN$HB"Jp* yXN XO`R JN$H` JN$HB"J jN XO`&p*H5g JN,(H`p jN R(H/ "J jN XO`p*H5g0t+H5fp"J KNB&H/"J jN(XO(H`p+H5g"K JNB$H/"K kN(XO(H`vp*H5ggNB$Hg*H+HI0_@| b@0;N"~~~"~~~N`JEf8p40g0 f"*g$| g|g| f 0Nl`0Nm ,fCfp"S j PNFJ@f&0_@| b@0;N::|g|fJEf0<Nm`~p4@gNJEf:p4@g2| f|g| f`|g| f 0Nl`0Nm f*| f$| g`p4@g` p7Nl`N JN8J@g8p40f0r4@f( jN / KN n20 JN` ,f p4@fAP0HЀ204HԂp(f j(+g ft0| g S@gS@g`Np 40gA *N p` A *N h| f AN `| fAN 0AN `2 *N%@`Z f`| f AN `B| f AN `0|g*p 4@gAN ,%@`AN $%@D%K J`2| f| f 5f j ( f H`B"J Kp5N XOO LNuH8$H(I&jp KNJ@f8 S (n$"T )n K"LNJ@g 0<Nm` 0<NmBBBAp"L JNlLNupTNlNuB@(|BA)| ) f ( f@g|g` (f@fpNuB@NuH0&H$I6NJ@fB@`$ S (g "R )fp` 0"R SNFL Nu// $Hp*HC1g j PN &` jN &JfpUNl N R$HN%Hh J$_&Nu// $HAp*H0gH|g&nY@g S@gU@g`r| g|g@|g`\"j&) `>p"j)H0g$j`p"j )H0g($I`$j jN &JgAB$np`B@$_&NuH<*H$I IN&H + JN8J@g(yX` BApN(HBBBAp??? MNB"L024Np*H"KpNJNB*HL<NuH0$H*HGz0HЀ23gBB?02N"H JB@24N$H JL NuH0$H*H|m0Gz0HЀ23gBB?02N"H JB@24N$H JL Nu fp@"h) g (gp`B@NuB@Nu/ / $HH|gVnS@gPW@gLS@gHU@gD`N| g<|"g6U@g2W@g`8 *f0&j kNJ@g k NJ@gp`B@` *gp`B@&_$_NuH08$H6 fQAlGB|g |g|f *2H牰ec$` *2H牰mo 0<Nm`V0H"3f |%g"|&g0H"3f|'g|$f 0<Nm2 *N%@CL NuAB4|bxB4; N l(.HNh rҨ €gN$( FNu NurҨ€g.$(FNuNu,rҨ,€g$(,FNu,Nu//p N XONu g g g g +fpNuB@Nu2AAH00NuH<3TV fEB@|*gn(|g@nS@g|gV`p|(gpS@g``|/gdS@gS@gS@g`BN/N&H g6p(N &H`@N/Nd&H gp;N &H`N/N@&H gp*N &H`N/N&H gʓp)N &H`N/SfLN/BA0NH>J@gN (H g`bBBBAB@NF*H gt fdN/`N*H gV ,f m (f(h` ;f m"h(Q`(m LN %@JfpUNlBAp N *N R&H`N/BA0NH>J@g0N (H gґN&H gBBBA"LpN&H`BBBAB@NF&H g g`BA*HN *N R&H`*HAN &H`nNKN/<2gBA y\ N(HCN &HBB@ y\Np,"KN XO&H`"p2NK`p yXN R&HN/ KL<NuH>YO6$H:?BN$HGIT g840PH> 'bD|f hg6|f g(|f gB@4HJFg 4(H89T3Vog:|m4|m.| n| o| f| g | f| f 0<NmCmCf Wg|0fjN/BBrB@N,H gj g p2NK`ZN/BB2,HN*H g>3V"Mp1 NN ,H"Np0 JN $H`N/420N,H f`3V"N J0N $H` JXOL|Nu/ / pNHT$H09g 0<Nl gN)B&H g 9g p2NK`N/"J KN.&_$_Nu/ / G2|bA2;N 6^BBBAB@N$H g pmNK`N/`BBrB@N$H g gpnNK`XBBrB@N$H gf g`pWNK`4ќN/BBrB@Nh$HB9ќ hg.p2NlBB@`NBBrB@N>$H g poNl`* JNB$H g*g f'j` ppNlBp&_$_NuH8(HN&fEG4jANn0&JCgH +jg pNNZJ@f|g|fNN&||fv`Bv`>Np@@ LN#NK092g Nv`NBCN&|SkBPByT0LNuH8O/H`BXBy2By4BCAC6`0H0RC|!oETN%H%@"<A6pN4"<6p JN4Nx| o`N#`P"o`AN{HoHoZC6AN%jPOp@N'Z%H"y g/AZNXO`/*C6AZNXOp@N'(HCN{C LNS@f / pNlLXO%LCVAN{CANB LNM *f / pNlLXO5|<|FB*H9H`00@C@A&p80` kNM1S \KSDJDfRC|o0< hN'Z%H%H"jB ` jB d$CAVNBApN%HBA?9gp`p2N%HB@ jNf%H Nf29g LNrANrN/OdLNu/ &Hp N"op KN"o p KN&_NupNuH06El g&@$` <N}$&H f`&%K0<C5@AL NuAXBP!H!HBBBhB@N f pNlpNuB@Nu/ A^"P$iRb(r2t4\b#j` Rr24 A`f`"J$j`$_Nu#pv3tzNu/ El j` "H P"$%H f5j%|X%|XBBBj$_Nu/ Nа(l#(Ab f `"h`$Q" "J fBBh$_NuH06RC|EjRc& *g&@%S` 0<N'Z&H&%K40<Rr2 jARL NuH86RC|IbERb0<Rr2&lGR`60N&H gA`2 g&@(6AN'`0N&H g K` pNlL`LNu/6Y@dvVC|0N0 g` 0Nf0TH&Nu/ UH"y^`e ee"iddp0Ef$i2P$i!j`!ip0Ef2Q#h I`#H#^$_Nu/ / $yl` &R JN}$K f$yp` &R JN}$K f&_$_Nu/ UO$Hp*?NATO>r h||4tWB0H|@TO$_Nu/ UO$Hp,?NATO>H|?2t i|AB*pW@TO$_NuBAB@N*Z fNu#|NurB@N*ZNuHBC8BE<B@9䂐|E|%b@0;NXR~~~rv^bfjn~~~~~~~~~~~~~~~~~~~~~~~~Lz<<`L<<`F<<`@z`YO<:N6EI| f4N/N.820N&H g?4rpN.pTO`B fBN/ g20N&H f `HJEn:?ɑBBrpN.pTO&HBCN/`> /fJEm (N/`JEo0<NK`?ɑBBrB@N.pTO&H3TV g4 g,0|g"[@g0<Nl`3TV glN/*T0N,,H( gfBF`*.g$2||g|gJAg 0<Nl|?"N KBBrpN.pTO&H`0|g[@g 0<NlN/ gR.pN!&J@f`n( *mecpYNlBg KBB"*pN.pTO&HN/`? KBBrpN.pTO&HN/ g g KXOL|xNuH>6E gfB@NH>J@gp"N'&HBBB+BBKpNHT(H g2g|g0<Nl: g gN,H g"LN.(H`B f.N/ 3fN/|`B@NH>J@fz`r fj,k g" n (f".f$f NN'B K`|JCf 0<NK`RNKp"N'&HBBB+BB /g 0<NK`N/ g g0<NK`N/`#AL|Nu?BCB@9䂐|HgS@g`.p@Cg 0<Nl|@`0<Cg 0<Nl|`0`N/`6NuH86(:(H&IAT (Zg $@!j Z` pN'Z$H%K%DE%L 5o JL8NuH>(H,IByGBSET`*l f,H N ,N,H` fP0,J@f" g f0-6K|2[AgSAgSAg`|` |`|(0"l NNf,H`^ f80,|g .g 0<Nl,H2,|A NN,H` 0,@|32,|[Af6)jZ %LZ(M f NL|Nu##&&NuћNuH>YOG9ћg B9ћ`~. IM VdRBC`NP86 W00H0||b@0;Nl*@X>        B9҄$y&*VA#(yo89SDmûe NP86*V`BC W 00g 00gSM,( &Bg$y&9҂HB9҂JCg9҄f J0NL#.v` _f *_f JNaN6g N86`f9ќgC JNzJf N:\6`Bv0 JNL#. (g*"@ )f N`J@g VdRBC`NP86JClt|lp`B@҃ Wg"y.6) C'IJCfp/``` VdRBD`NP88| f*N8 VdRBD`NP88| gS`¸|?fp`,S3TV??p1NlXO`B@NNZJ@fB`9ќfzN8`| gN VdRBC`NP86 k 00g0NS<6|#ffpNU(` | gN` 0N:8 k f`> VdRBD`NP88|*g9g Df`8|=f 9`&S9`DD VdRBC`NP86A0@g"W10HDAAf`|=fA0@`SA0@`p2`N>` VdRBC`NP86|-fp,`|=fp `r|>fp.`dSp`Z VdRBC`NP86 k 00fSp.N:80N=`|.f. VdRBC`NP86|.g pf. VdRBC`NP86|=fp`0Sp`&Sp%` VdRBC`NP86| f VdRBC`NP86| gSp\NBr`^N8`T VdRBC`NP86|*f NTj`.Sp/NBr` 0NBr`rABrNRRJ@fph`n VdRBC`NP86|#f4`S& y&&c ( g0<NBrp NS<`p NBr0<NBr0NS<`XOL|NuH<*HEIJ@g$`$G& SBќN$BAJAg<|/g|9g(` MNb6g0<CNBr` SN{Jѓ`AS$I& S%ep"NlB9ќ&L<NuH>E&&RBI*T(BCM&NBA|gfn JAgSAgL`QAgj|'g` RN{J(9҃g$ Rı%dpD"R RRHNJ RR0Hђ`RCp(NBr`JCnx)`$SCp)NBr`rJCo p,NBr`bx,`x R%ep"Nl($0L|Nu]ORyT9fp Np N`B99g8 yPNrp Nr A09TNyANrANr\ONu/ / E y&NaN|b\@0;NP< B#PѪ`6r J09TNyANP H`p1`G4p+H2ABC) JNJ| +HH <0@<0f| +HH H@<0@| r A0Ny`A8B@(H <0BA(H HA<0A|:BBH… <0BB@H H@<0@|:BA(H <0ABB(H… HB<0BB*#Ѫp"&_$_NuH86$y&IG0NBr SdRBC`NP86 40g 40g#&SLNuH p NS<6|g*|(fxp NS<6|f`BDA 00g p2Nl`D$y&0NV#&JDgp NS<6|)gp2NlS JNbJ@gp1`p0LNuH<:BC8EG|0fPp0NBr RdRBE`NP8:|xg|Xf"0NBr RdRBE`NP8:|`|`| KI0|.|Gb@0;N((((((((@@@@Jd@@@@Jd|fp3Nl`pJCgp]NlJDgp^NlvBF`f|g`JDgp_NlxBF0NBr RdRBE`NP8:|-g|+f0NBr RdRBE`NP8: 4Pf 0NBr`p_Nl`|g`0NBr|g| `0NBrJCfJDg |`| RdRBE`NP8:|ugB|Ug8MVKTIBGE RdRBC`NP86CgF|\f RdRBC`NP86| f RdRBC`NP86|f NBhp`0|7glnB|3gbn | g2|#gPS@gJS@gD`|4g8S@g2S@g,`|a|bt@0;N0BhhhNhhhhhhh<hhhHh6hThZp`6p `0p `*p`$p `p `p ` RdRBC`NP860N8J@fSpx`BFzN0NJ@gpC@`0NJ|@ RdRBC`NP860N8J@fS|o0<Nm`|RE` RdRBC`NP86| gSN` BFz0HC|<H o<0<NlBF|l$ RdRBC`NP86|0m|7oS0`RE`0L|xNupfNlNuA&"P%dR"PBNuH>YO$H gZgT<5gL9ќgSf yXpN R`R m  o jN&H%K -g j N(H%L KH|+gn| gS@gU@g(S@gl`|,gY@gԐ| gjS@gr` f ,oNH6HJgJop *H5g)C|` f ,oNH6HJf B L`bJojp *H5gZS`N ,f kN8J@g&k'jj` +fBBBAp"j kN`. f ,fBBBA"W KpN` ,f& f k g f,k ,Ѯ ` g ,f,L(K&N` ;f(l ;f&k%L %K fz ,frj'j`T f\ ,gF ,f k g f$k , ` ,D)@ ` f +g l` l ` f g f~H|gDn| gS@g&`|g@|gL`CAN `CAN `CAN `~CAN `l k`b f8 g f,&+ g(,H| |&b@0;NNTZj~L~ք`` "N&`Jg "N&`Jf p5Nl`| "NL&`l`dp *H5g $&`L`DƄ`>`8`2JCfp`B@H&` D`F`fp`B@H&`gp`B@H&`p +H5gct`BBH&`иop`B@H&`p +H5gdt`BBH&`lp`B@H&`p +H5get`BBH&`lmp`B@H&`Zp +H5gbt`BBH&`<>8GBSBEB@9䂐|5|(bx@0;NRh~ 6*&ZHlllllllllllllllllllllllll.0g 0<Nl6`0g 0<Nl6`0g 0<Nl6`0g 0<Nl6` of0g 0<Nl6`p@Dg 0<Nl|@`0<Dg 0<Nl|`zJGg 0<Nl~`fJGg 0<Nl~`T>`N|`Jv`F?|`>JGg 0<Nl~`,JGg 0<Nl~ `JGg 0<Nl~ `N/zN/AV0TJEgVJFg0f 0/gJCg 0<Nl0R@|b@0;NLdd<DJCg~`p0/fh9g^`JFgV~ `RJFgN~`JJDgFB@*D JN$H`2JFgJCg~ `&JFg~`0gJCg~`0g~` JCg~`~ f 20N$H J\OL NuH88ETGV6BC9I/0NlXO9ќg` N/BCJCgD|hf`<|f`.|2fNKN/BC6JCg |g|fض|fN/LNuNu/ EN/BA|0gn JAg@|/g`"|1gSAg` y&Nr`NK`B@9H rNr`$_NuH8p"NGI 9Ѫg $@` gNRJfBѪ`* SdRBC`NP860Nж|g| f p"N`&|\f SdR`NP8N`|"fLNuH8$H6HrCt42(HAHHB|2IGҊ`I"Jff`2g&H S fpCN'Z"H&BBBBi If ILNu// $Hf&|0 JNl$_&Nu#p0("h#r2("h#Nu/ / C g$y&@7J!Q "p0("h#r2($h#&_$_NuH0$HB@Nu6J@lB@`x0<N'&H0BkC'IBk'yP7yT'y"Nb#ўB" JN{JR@N'#P"JN{ByTANP pL Nu/ $H0Nv@ JN'$_NuH#ўp` R0Nv@ R0NP8B@L<Nu`*<f&<"g<'f`<\fRH`gffSHNuH<$H*I(o PA!jAT (g &@!k `pN'Z&H0Bk LN 7@'J'M'L KNL<Nu/ / &HAT (g $@!j `pN'Z$H0Bj KN4 5@BB%K JNZ&_$_Nu/ / $HG'JBk JN{J7@ KN.&_$_NuH>YOIE R0X@gS@gS@g~S@gJ"< R h"R0Nvj6J@o. R1C R1| R"hRI)I"h("hB@` R1| R1| R!|)|(p `p,R TBCfL&n g"SC.'i#@ n N,&n g-k KN'`-y\ #\`*TRM0|gxS@gS@g`xBCB9҄B9҂`BC0<Cg|mpNlSM`|&n|`&kSC|o f g A#Ѫ` #Ѫv"`DBC҂`8|&n|`&kSC|o f g AN` ANBC-Mf)M MN*HBn=Hf(JCg0`" yN`p` ldRB@XOL|NuH8$H:HNI 9Ѫg&@`HNRKfHNBѪ`Z|\fH TdRBD`N8| gp\N`6 TdRBD`Np8| gSN8`H@f0Np`H0N TdRBD`N68|g| f|JEg<"f p,Nl`p-NlSB@L8NuNuH06GE|/f( RdRB@`NP8|*fNTj`Sp/`4| g| g | g| f RdRBC`NP86`0L NuH06EG`|/f& RdRB@`NP8|*fNTj`JS`F|\f" RdRB@`NP8| f&N8`|"g|'fBAA NRRJ@g& RdRBC`NP86|g| flSL NuH8ET6BDIG SdRBE`NP8:0| g(| g |gN[@g `AV0?p0NlTO`XN8`9g SdRBE`NP8:|*fRD`~ SdRBE`NP8:|/fSDJDlXL8NuH<8p NS<6GK| g|fBy | f`~(K` UdRBC`NP860NJ@fB3TV0NS<6E`:"K RNzJf(JDg3TV0 jN`6*H3 S`&E eBy HSpNlXO0NSL<NuH 6|-g|+g|.f~8p NS<6NJ@gf0N^p6B@ACE6`>f4)(f*)(f |.f`|+f`B2XHR@f fHypNlXO0LNuH0O6ACrQNJ@g<0N^pNS<6EG`"j KNzJf 0 RN6`PJ *f0NSOL NuH06E&#&BG`"0NBr SdRBC`NP86|g| fHRpNlLXOL NuH86E&#&G|`x"0NBr SdRBC`NP86|g | gCfθCf 0NBrv #&0NS` SpN6NY&HN{JI "g g pNl`HBRK KN{Je pNl`pI"K LN{|"f.C JN{"L JNzh JNMJ@g JN` `,NeJ@f LNMJ@fHTp NlXO` LN` LNu/ E& JN{JA`SHe  g  g  gB( J`RH  g  g$_NuH69TBDI GE RdRB@`NP8NS<:|f?pNlTO`|#fB@N Tg Tg TfRD`p Tg Tf&JDf"|g |f JGfSD`JBF`Fp*Nl`< T f6JDf2|g p'Nl`"JGfSpN!&:J@g"9fPS`* RdRBE`NP8:0NS RdRBE`NP8:JDm| fN8`SLNuNuH>YO y.$h * gZBp NS<6< g<(g SB@`* H,y&N786`RN  gf&<)f JDg RNa@Hj JNORXO` NN{JK`SMb  gB-JDf RNa@`v NN{J|N'&H"NAN{ g)K`.B(KSD<,f,y&N786`RN  g`~JDg RNa@Hj"o JNORXOpXOL|Nu/p/NlXONu/ / $H _f~ *_ftTJG"K JNzJf 9gp`RC JNzJfp`>C JNzJfp`*C JNzJfp`C JNzJfp`B@&_$_NuH<*H(I68:NM$H&j gH +f@C LNzJf + H@g"%k KN'&j/ 0<NmXO` K`B LN{J|N'*H"LAN{%MA*+KC |;D ;E ML<8Nu/ $HNM$h g *f!j JN'$_Nu/ $HNaNJ@gp` JNM h g (fp`B@$_Nu// $Hv`"y&ANc&J@f RC$j f g0`B@$_&Nu/ B@E`gB@`g R@RHRIjmp$_NuH<6*HG2AN(AN(E2IN%J@gN(x`2BBRBSB|f LNdFNdX`v M0NfJ@gp`x 9f LNdFNePSCXM`XMSCJCo U -gJCf*pNddANn` UN"R0g6XMSCJCnN&N(x0gp`B@L<Nu/ANnXONuANNuByNlNuH>(H*IEH&R`"C LNzJf/ 0<NmXO`j&S f LN{J? MN{J_^@N'Z&HM"L NN{ NN{JR"M NN{C NNzh g j `$%KBL|NuH<*HEH&R` C MNzJf g(` $`(K&S fL<Nu/ / A@"PB` $i#P "J fG"SB` $i#S&"J f&_$_NuC@NeNuH<$H*I&H`0RKg<;fgBp N'Z(H JNft)H)U*$KfL<NuH8$y@G&I`*"j KN{"L KNzh KNMJ@gp` $j fB@LNu/ / $yH`,G4<2XLSCJCo T -g** * * * * * *B@OL JNy7@ `0 JN{JR@N'Z'H6"JN{` -fB+`|L<NuNuH8&H(I6E6094f9f JNn KNnGP g* @N|F/ANnXO0+g?ANnTOA Nn"L0HA& pNn +g/ANnXO JNnLNu?/ 6E "J/ Y@lA`A "_0N0Ry2Ry4|lp`pHANn:$_6NuH06EG 0"J KNA2RPRhC0) gPo 0) g hn0<"J KNpANn:NkL Nu/ A6(hgXE"JAN|Ry409g4294y2An$"JA 0<NNRy2pANn:Nk$_NuA(p"@ "ByXA1B3X3ZO"Nu/ Hz?<&NN\O$_Nu@TXJ? ?ry@ڢ!h5?ڢ!h5?ڢ!h5?@@NaN-INF+INF(C)Xmath by d'ART"_HpNLJ@fpNH:v(Se:*g6$H&I(o(,܄ "aM J"NNJ@gj(Se `&Rcґ` NL\Nu/YOM,C Hza^XOXO,_NuH@B@H@CraRJ@kNu.Vp`/YOM,Hza(XOXO,_NuH@B@H@CraJ@kNu.Vp`H8]O$H&I(o&BCx%p JR@g2fJ@g@HNBEg>BA< <b;k`|<*f<`&<0< b ACp a $Wb<gt<.f6<*f4`$<0< b ACp a $Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA a A pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 H:$H&I(S&gfJg^+g`)ft,k x$ڹd SfRe`.&// Ka~$"J@k,f4(SSfRf& L\Nu3 8p`"`&x,A'J'JE8'J & KaJ@kfRf"`H&H(k6+"+g0DtaJk+fZ"S"L Ip gSj`*| // " 0a"_"JkNgPAp SjH@" 0avLJk*g,`0" La^Jkg&'LB@LNup`p`0<a`H06&Hp Cgp@CfFpC?/ ?<=NAPOJk&8jaTpCgF?<?p/?<BNAO Jj.`Br߲fNAXONua38p`ް|c/ ??<>NAXO$_JkpNua38pNu/ J@f//aJ@fBg`//??<?NAO $_JkNu  _`a38pNuH&Hx&SgkJ9kvf~a<g&< g<<gP< g< e޸dRa`JgSSKpap apa`Rp ap a`bJg^`TxB9`Jx B9`p a2 L$_NuBx`xB9`x B9`?<NATONu??<NAXONuH@??<@NAO $_JkfNuaZ38pNu38Nu/ |b2@?? /?<BNAO JjfSBg jX?<? p/?<BNAO Jk$`X?<? p/?<BNAO JkzЁ"kt?<? p/?<BNAO Jk\$`?<? p/?<BNAO Jk@$Ҁk: $k2HzN <e/`/? ?<@NAO Jkb $_Nua`38p$_Nu0<`H 6?<?B?<BNAO (Bg?/<?<BNAO *Bg?/?<BNAO JWHL8NuD@| |"b;NupNu   ??B@C gJ1kB@BA< C (<-Wg<+fg"1bAg1b @8@@D`JgD@86Nu//O4UB|"bBJ@j < fD@-CtH@B@H@&HC;0(RBH@B@H@fQBO _&Nu3!8`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ JgJgJgJgJg JgJgJfSHggggg ggf @NugHf8g@f0g8f(g0f g(fg fgfgg!epNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNuH0$H|g|$bGrtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G z3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"8p` 3!8p& g"`"CB@f ANu//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!8`0123456789abcdefghijklmnopqrstuvwxyzH &/?<HNA\OJf 9\g @ NJ@fp @LNuH0&gPR<e a g!CC "A`rG &S f. < a gj&@Ap !| 'H& # A"P` )d I"Q f`rd ` #@#C"nAL Nuk |`3 8`/ oLQ d nf@axJg*`6C g,g"@ f` "/?<INA\OJj`p$_Nugp`/ &y g/ &S?<INA\O`&y g/ &S?<INA\O`&_NuH8$< CG g" c &@ f`(@ ,gb*"Ҩeg ` )H`p"@")Ө )H`>"@ gb" ҩeg`N"(ө`" "H" ҩf @"(ө" l eb&/ ?<INA\OJfQLNuP`Jg/bg2 4gf!Sf`f`!Sg"gH?LxH?LxH?LxH?Lx`H?Lx8H?LxH?LxH?LxH?LxH?LxpH?LxHH?Lx H?LH?SfvLx2|HgS@!!Q|gSA!Q`2 4gfSf`f`S"gH?LxHxLxHx(LxHxPLxHxxLxHxLxHxLxHxLxHxLxHx@LxHxhLxHxLxHxLHSfxLx2|HgS@ Q|gSAQ _Nu/$gSe40HB4 gxH_>"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQ _Nu|Al0|Nu|AZ0| Nu<0< SHNu|A:0|Nu|A(0|NuBAA0NuBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#$HBJBf$HBJBfNuHBЂNuHBЂNu$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu"@$jDJjD$HBJBf.$HBJBfB@H@$ jDNuB@H@HB0B@H@$ jDNu A"B@H@HABAtҁрdЈӁрQ$ jDNu"oHQaXONuH|~trp  g  g -Wg +f 0m 9oX .ghg If Nf Ffp`p o0 ]H` 0m 9n @la`RF` .f 0m 9n @laSF`G EfJDg"LUR@JDfJEj&zRӅdR@`JfJf BYBBTO`.a 2""//?A0aNC o$aO JgPLNuԂӁ@*(6ԂӁ@ԂӁ@ԅӄCvG0ԇӃCNu o?jD@ @c0<?>@2AA@AC,0 ]HOgCbC OdaZJGf>J_kdNu?@@@@ @@P@$@@ @4ɿ@iŭ+p@xIϦAGɀCQ~ގFMHvuu Z;]=]u%`R 4CG?/p<6>܇׀HAHBHDHE>܇׀?<BCHCHF.HG܇׀.HG܇׀.HG܇׀.HG܇׀.HGև.HGևр?<6HCHFp>܇׀>܇׀>և(".Jkއ9YgJg j c a0JfJg9Yg9YfJkt`Jk`h/"HA.HGpށ@H@HG0BGHBHE2tށـׂ݂p"Jk އل݆׃SANu b c0a b f$JfgJk؄݆׃SAR׀fRA` Jk؄݆׃SA Ae "$Hza` ҁQ !1LNudivCA/ / ? AaA0 ]HNu4CG?bfb RGd6|/|$F,HF.h.BGHG҇~`"BAHA,HFpHAHB024 6<?~Gj SWԅӄGd, Q,HF.h.BGHG҇~HA`"BAHB02BB6|FjSG҄FdHG>HG9Yf,⎜bHFRFkHz``, c9Yg~9YfJkb`lJkf`X//&HC0BCHCH@B@4rЂׁ"$dSGԅӄNu9Yf╚kfg` JfJg`,HFRdR`,HF  @c"$Hza` ЀP !1L Numod42<@H@J@fAH@ @bQA @bYA @?bUAJ@kSAH@AԂQ0 B]HNu/ a4$_Nu/ a,|$_Nu/ aP|$_Nu/ $oa|$_Nup r"HVFAJ)gJfSI!gB)JAgCfNuBNu .fRI$IpJWF@g<cp$HrJWFA|?bSJ *.g *:g~ *\gvSg@`Sgl *.gd *:g\ *\gT`V *.gNSg *.gBSg *.g6A|>b&.fg<a<b<@`QNupNupNupNuHB<g$I&HvJWSKFCgBBBDBE (:ftg<#<\g0R<.gSf`"Sg #<\g<.gRSg#<\g`8BEBDEJgfTH`JCgfA0` SCQJDgfA@` SDQJEgg SEQBg<a<b<@`LNuH&H(I*Jv?g :gP`<TK \gg :gP` <UCgJkJj?<NATO<AfBr\t.gfg fRgSK KtJWFBBk LtJWFBfJgJ`rSHJg"(fSHSBg`SBg fSg`Sg`LRBBkBJgSBQ -\gSCk*\fg<a<b<B`QL8Nup`p`    __TURBOC__0x250__PUREC____TOS__1__68881__.i !!!! @RRRBBB7RRC"#%$'&    8 ! 0132"#%$'&$*$*$*TURBOCLMNPOiKjEJ FH]I#C,D196Y;\A:FZK[TV\@_Sf6k?rTxQ|R<>8X;*5AW7B=U "_cs_ds_es_seg_sscdeclfarhugeinterruptnearpascalconstsignedvolatileenumvoidautobreakcasecharcontinuedefaultdodoubleelseexternfloatforgotoifintlongregisterreturnshortsizeofstaticstructswitchtypedefunionunsignedwhile.C 1: *** %d errors in Compile *** Fatal in function %sWarningError .H\p $7pLe2Key(<Mj~ #8No*M{D]t2G`0(Pl+AZw"9Pg ,BTm #Kf0$:Kr (Fm~ )Oq stramprptaptcptrngzstclndefaususevoiretrvlsussigrcheffparambpiastvstuasmdupascpronoducppromltmltstkIrreducible expression treeRegister allocation failureBad call of in-line functionUnable to open input file '%s'Unable to create output file '%s'Out of memoryError writing output fileError directive: %sNo file names givenUnable to create turboc.$lnToo much global data defined in fileUnable to execute command '%s'May only compile one file when an output file name is givenIncorrect %s option: %sFile name too longUnexpected end of file in conditional started on line %d# operator not followed by macro argument nameUnknown preprocessor directive: '%s'Bad file name format in %s directiveNo file name endingUnable to open include file '%s'Mismatched number of parameters in definitionMacro expansion too longDefine directive needs an identifierMacro argument syntax errorInvalid macro argument separatorBad undef directive syntaxMisplaced elif directiveBad ifdef directive syntaxBad ifndef directive syntaxMisplaced else directiveMisplaced endif directiveUnterminated stringUnterminated character constantWrong number of arguments in call of '%s'Unexpected end of file in comment started on line %dIllegal character '%c' (0x%x)Expression syntaxIllegal octal digitDivision by zeroCannot modify a const objectNot an allowed typeType mismatch in redeclaration of '%s'Declaration needs type or storage class'%s' not an argumentAmbiguous symbol '%s'Two consecutive dotsRedeclaration of '%s'Undefined label '%s'Undefined symbol '%s'Improper use of a typedef symbolLvalue requiredIllegal use of floating pointIllegal structure operationToo much code defined in fileInvalid indirectionPointer required on left side of ->Too few parameters in callToo few parameters in call to '%s'Type mismatch in parameter %d in call to '%s'Type mismatch in parameter '%s' in call to '%s'Type mismatch in parameter %dType mismatch in parameter '%s'Extra parameter in callExtra parameter in call to %sMust take address of memory locationInvalid pointer additionIllegal use of pointerIllegal pointer subtractionIncompatible type conversionSize of structure or array not knownMust be addressableEnumeration constant syntax errorCall of non-functionArray size too largeToo much auto memoryStructure size too largeFunction doesn't take a variable number of argumentsToo many decimal pointsMisplaced decimal pointToo many exponentsIncorrect number formatNon-portable pointer assignmentNon-portable pointer conversionNon-portable pointer comparisonCharacter constant too longUnterminated string or character constantPC relative overflowSubscripting missing ]Function call missing )Invalid use of dotInvalid use of arrowCast syntax errorArray bounds missing ]Bit field size syntaxCase statement missing :Constant expression requiredCompound statement missing }Case outside of switchDuplicate caseToo many casesIncorrect use of defaultDefault outside of switchToo many default casesMisplaced else%s statement missing (%s statement missing )%s statement missing ;Do statement must have whileArgument %d missing nameMisplaced breakMisplaced continueGoto statement missing labelStatement missing ;Incompatible storage classStructure or union syntax errorDeclaration missing ;Enum syntax errorDeclaration syntax errorFunction definition out of placeNumeric constant too largeArgument list syntax errorIllegal initializationToo many initializersInitializer syntax errorUndefined structure '%s'Too many storage classes in declarationConflicting type modifiersToo many types in declarationCould not find file '%s'Too many error or warning messages'%s' not part of structureSuperfluous & with function or arrayConstant out of range in comparisonZero length structureConstant is longPossible use of '%s' before definition'%s' is assigned a value which is never used'%s' declared but never usedVoid functions may not return a valueBoth return and return of a value usedFunction should return a valueSuspicious pointer conversionConversion may lose significant digitsUnreachable codeCode has no effectParameter '%s' is never usedAmbiguous operators need parenthesesPossibly incorrect assignmentStructure passed by valueUnknown assembler instructionRedefinition of '%s' is not identicalRestarting compile using assemblyCall to function with no prototypeNo declaration for function '%s'Mixing pointers to signed and unsigned charCall to function '%s' with no prototypeHexadecimal constant too largeJanFebMarAprMayJunJulAugSepOctNovDec @@@ @( # "!+ ")defined:  %*/59BGMT[afku|;()[]{};,=+=-=*=/=%=&=|=^=<<=>>=+-*/%&|^<<>>?:||&&==!=!~sizeof++--.->...asmstaticexterntypedefregisterautocharshortintunsignedlongfloatdoublestructunionenumvoidinterruptpascalfortranconstvolatilenearfar_cs_ds_es_ss_seggotoifelseforwhiledoswitchreturnbreakcontinuedefaultcase cdeclhuge YN V W.WZ[\[\\ \]8 ]lVdefinepragmaerrorincludeundefififdefifndefelseelifendiflinewarnSTDC__FILE__LINE__DATE__TIME__ CPP Pure C Preprocessor Pure Software Munich Distributed under License of Borland (Germany) GmbH Copyright 1988, 1990 Borland International Inc. All rights reserved Version Sep 20 1991 Available memory %ld Usage: CPP [options] file[s] -2 Generate 68020 code -N Output file directory -8 Generate 68881 code -O Output file name -A ANSI keywords only -P Use absolute calls -B Generate DRI-Object -Q Use pascal calling -C Allow nested comments -R No register variables -Dxxx Define macro -S Standard stack frames -Ennn Stop after N errors -T Stack checking -Fnnn Stop after N warnings -U Undefine a macro -G Size optimization -V Verbose message output -H Use cdecl calling -W Enable all warnings -Ixxx Include files directory -Wxxx Enable warning xxx -J No jump optimization -W-xxx Disable warning xxx -K Default char is unsigned -X Generate underbars -Lnnn Maximum identifier length -Y Add debug information -M No string merging -Z No register load optimization %s\~28AB$CDEFGHIJKLMNOPQRSTUVWX YZcommand linePCC.CFGconfiguration fileg %s %d: rrrr    6 "   "DL<D T>6J@  &662  D : &$* "  ,",:  0  0 8   " "*,46 R4 ( T D""   6 0JD 4 Z    F $"     $\@      < *$ $ "    (   ,(L $::F*H "  6 Z<<0LH&.4:8 NL  4 " " "&   * N   "&     H                *   (\  ""  $ $ 2* (0   "   &(<(  ".  ."   \$8 x  4   ,      *  $6*Bb 2> T @D.R,<*<*&8 4B @ (& .* Jf 4 & t @R0  Z Kp N^A*NB@ KN8J@l pN`Gr K0Nrf S`g pN`C K0N` J@g 0N6`pN* +ЫЫ rN>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@#W3W k #W Ј<.@#WJyWg<"@(I$k,"Jf"JfB// ?<?<JNAO A<~kRrRAfA6<HCBB`6 !jBJ)gHiRC` "fSI "WSAkHiRCBSQJ)gHiRCHy`$ON20 J"LN ? 9Cg @N 9Cg @NN@?<LNA/ACN1NXOpNNu/ NB$H n ACN J$_NuHO(H*ICpN/GCf"LAN0J@gS@gS@gS@g&`."  JN,`""  JN`"  JN` "  JN 0L8NuH<&HBCxI*KC`$p+ڀBA| bA2;N0Lp4"  JN*AN,B@`p+rt4+Ђڀ`4"  JNAN,0+NtBF`4"  JNЕAN,0+NP|`p4"  JNAN,0+N.|`N4"  JNAN,^0+N |`, g 4" J Nf$K6( f|f /A0N,(XOXKbpLO8&HAH8N+AHN+AHN+|lAHN+AHN+pN |f(CI kN6J@gCI kN6J@fv`BCC kN&(H*LC #W -,I"-A#WBD$H$- C(.` BEp0RDep0N;#W n AIN/yW$yW`BE oX RJp0e/+AI)N*XOJCg"- N -N>` / MNT - N - NN@ LN7B@O L|8Nu/ AWp0(ШC`:X$PBASAg SAg`$Pr*tt4*҂ӑ`Y`4$Pr*ӑb°f""PB@| gS@g S@gS@g`"P0)`0<$_Nu/ AWp0(ШC`6X$PBASAgZSAg`$Pr*tt4*҂ӑ` $Pr*ӑbưf*"PB@Q@gU@g`"P0)`X"P g)gY0<$_NuAWp0"($("yW01TPNuAWp0"($("yW 1XPNu?/ON6|gANN'lN(Jgp+N't`N( N!O(6Nu?6pTN'Rp09WйW2HЁN 6Nu??ON66|g&ANN'N,8J@g6AI0*|gr8jQAf ANt` ANj`f AN\`ANR&_$_Nu/ / EWGJ *f&|0|g AN`AN`v0||@g0n |gQ@g`@|Hg&|@g*`2AN`BAN`8AN`.A N`$AN`0|g AN`A*N&_$_Nu/ / EWGJ *f 0|g|`|A5N^`:0|g*r0RftRg AAN@`ASN6`A_N,`AjN"&_$_Nu/ / EWGJ *f(0|gN5@2|I|bA2;N(4@LXdAuN`~AN`rAN`fAN`ZAN`NAN`BANv`6ANj`*0|H|b@0;N(4@LXdAN4`AN(`AN`AN`AN`AN`AN`AN`0|g@rRIJAgSAgSAgSAg `fAN`\AN`RA#N`HA)N`>pRHJ@gS@gS@gS@g `&A.Nt`A3Nj`A8N``A>NVp Rg ACNH`AJN>&_$_NuCMq yWN)pAWN`p8Rf`B0|HJ@gS@gS@g S@g(`A"N`A.N`A:N`AFN` f0|r h|b@0;N<^B`Nl6|g ARN`bA\N`Vp0RgAfNn`JArNb`>p8RgB0|HJ@gS@gS@g S@g(`AxN0` AN$`AN`AN `B` `p?R|@0;N44( 2 JNpDNv`AN0Nv`vRDM|cL8Nu/BAB` Av@CHR<e0&NuH8EWGWIN0|gHBAJAg0UAg&SAg`p8Rf ANN`ANB``AN,`0|r h|b@0;N2TvhB fA%N`A2N` fA` p@Rg>N6|g AN6`AN,0|g AN`4AN`8N6|g AN`A N0|g0NZAN0r hNH`0||@g0|@g |@g`bAN`VAN`Fp8RH|b8@0;N&2>JVA&N^p*N`A-NH`A;N<`ACN0`AQN$`pR|b@0;N(4@LV`A_N `AeN `AiN `AqN `AuN `vA}N `jAN ``AN `VpRU@gN^AN NT6rRgt hNhAN p0Nt`0NlAN Z0r hN@`NLNur@IAP4 pN 0Nu?6r@JAg QAg,QAg0`BpCf ARHN `4pCS@f(ARLN ` 0Nf`ARPN pN``N6Nur@JAg UAgSAg`$ARRN NuARUN NuARYN NuN^NuH0NV6EWGR0H||b@0;N `0|g AEN D`ANN :pCU@gN0|grCg AUN `AYN `AaN pCg AUN `xAYN `l0H|J@gS@g4W@g0NAAN V0r hNAcN Dp8C|0f0N AEN ,0HN `N0||fAGN N tAcN`0|r h0NASN`0|r hAYN0HN AaN fAeN0|g 0HN `A8NN AgN|`^AiNn0N4`JAvNZ0N ANL`.AN>0N`AN*0N ANLNuH8EWGRIW0|f2|I|b:A2;N N<` p8RQ@g|0g`bANNxNf`pRU@g S@gS@g*`N,` ANbN*N`BANLNN`(p?RfAN2N`AN"0N`,AN0N`4AN`NAN`>0|H|b*@0;N N`p8RQ@g |0g `|ANNfN&AN`pRU@g S@g"S@g:`LANpN8NAN``ANTNNAND`AN8NN`AN$NNBAN`fp?Rf AN`ANNN~AN`:ANNNdAN` AN`A N`NtLNu?/ 6r hN EUp0| r h|bf@0;N",6@JT JN``DANV`:ANL`0A NB`&AN8`AN.`AN$`AN$_6NuH :6EUp|fx0<EgBr0EJAg|g|g`$A$N`A&N`A*N`N`p0EJ@g|g|g`A0N`dA'N`ZA6N`Pp0EJ@g|g|g`ANRx`N0<EfJDgA@N60Nx0L8NuH 8N6EUp0|gpCr@CgP@2| bA2;N,Np&:bABN20N`AFN20NA@N0N` AFN20NzA@N0N`AFNr20NXA@Nb0N`AFNP20N6J@fAONALN6NF`FN`H|fHU@NtAQN`JgNABN0NA@N0NHADNLNuH 6AU0BD004j|fNEUp0| b@0;N$`.NXx0N`0N`ABNl0NADN^AUNV`nAWNL`NNABN:0NADN,`D0N`*HEX(GWIW`LH|_|bD@0;N:f`Db::::::8:::z(:: RR`r?SHBAV60(>N`2|I0|t h@H@AV60(>Nh`8plpDg RRA` RRD`8plp RRp<0 RR`^ RR.B@9W|bl@0;N&2>JV RRB`$ RRW` RRL` RRS` RRD` RRX` RRP`AV|NT` sf\RMN(N>` sfTRMNN` sfLRMN$N`B@9W|bz@0;N&.:DDNNp``NN`TN`LNN`@NN`NۼNNېNNۈNNۀNNxN` AVN`0|r hJf RR8`r0 RR`0|HHAU,p"RRg`H|bg| g| g`+HNۂ`Nۢ`N` AVN ` RR 2R@| e`X RR{0|g 0HNV` 0|HNV RR:p Tg0N4`,N8 RR}` 0r hNfL|Nu yX(RX($NNuAX(BAHdJgt0"PRBBH…dHBBAH Jgt0"PRBAH HAr0"PRNu?Jl yX(RX(-D yX(RX($N 6Nu?6 yX(RX($HN<N6Nu?6J@l yX(RX(-6DC yX(RX($0N6Nu yX(RX(Dr<0 yX(RX(Nu yX(RX(Ar<0 yX(RX(NuAX("PRF"PRPr<0"PRNu?6r@gN`0Nv6Nu/ EVN2||gNnJAg SAg&SAg,|g0``|gBA< <b;k`|<*f<`&<0< b ACp a T$Wb<gt<.f6<*f4`$<0< b ACp a $Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA a A pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 H:$H&I(S&gfJg^+g`)ft,k x$ڹd SfRe`.&// Ka$"J@k,f4(SSfRf& L\Nu3 Cp`"`&x,A'J'JE8'J & KaxJ@kfRf"`(g4(f>"P | dNu?/a8 _2J@f 0Nu3 CpNuC!I!IR!I `H&H(k6+"+g0DtaJk+fZ"S"L Ip gSj`*| // " 0a"_"JkNgPAp SjH@" 0anLJk*g,`0" LaVJkg&'LB@LNup`p`H06&Hp Cgp@CfFpC?/ ?<=NAPOJk&8jaTpCgF?<?p/?<BNAO Jj.`Br߲fNAXONua3Cp`ް|c/ ??<>NAXO$_JkpNua3CpNu/ J@f//aJ@fBg`//??<?NAO $_JkNu  _`a3CpNuH&Hx&SgkJ9Wkvf~a<g&< g<<gP< g< e޸dRa`JgSSKpap apa`Rp aWp a`bJg^W`TxB9W`Jx B9W`Wp a2 L$_NuBx`xB9W`x B9W`?<NATONu??<NAXONuH@??<@NAO $_JkfNuaZ3CpNu3CNu/ |b2@?? /?<BNAO JjfSBg jX?<? p/?<BNAO Jk$`X?<? p/?<BNAO JkzЁ"kt?<? p/?<BNAO Jk\$`?<? p/?<BNAO Jk@$Ҁk: $k2HzN <e/`/? ?<@NAO Jkb $_Nua`3Cp$_Nu0<`H 6?<?B?<BNAO (Bg?/<?<BNAO *Bg?/?<BNAO JWHL8NuD@| |"b;NupNu   JgJgJgJgJg JgJgJfSHggggg ggf @NugHf8g@f0g8f(g0f g(fg fgfgg!epNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu"SefBJgSf ANuH0$H|g|$bGrtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.GT3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"Cp` 3!Cp& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!C`0123456789abcdefghijklmnopqrstuvwxyz/ oLQ d nf@axJg*`6CW g,g"@ f` "/?<INA\OJj`p$_Nugp`/ &yW g/ &S?<INA\O`&yW g/ &S?<INA\O`&_NuH8$< CGW g" c &@ f`(@ ,gb*"Ҩeg ` )H`p"@")Ө )H`>"@ gb" ҩeg`N"(ө`" "H" ҩf @"(ө" l eb&/ ?<INA\OJfQLNuP`@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#/ /?<HNA\O @$_Nu%s Not enough memory !.OCannot open object file Seek error on object file Read error on object file Close error on object file %s: File Header: magic = $%lX imageBytes = %ld symInfoBytes = %ld nameBytes = %ld versionInfo = $%lX debugInfo = %ld debugInfoBytes = %ld reserved1 = $%lX reserved2 = $%lX Names: %04d: Symbol Information: $%08LX: End of objectAdvanceNull actionStart new text segment: Start new data segment: Start new bss segment: Start new offset segment: Define new global module: Define new local module: Global entrypoint: Local entrypoint: Absolute long reference to: Absolute word reference to: PC-relative long reference to: PC-relative word reference to: Null reference to: %04d: "%s"Missing End in Symbol Information .MODULE LOCAL .MODULE GLOBAL .END .TEXT .DATA .BSS .OFFSET %s .EQU $%08lXDISPOBJ Object file browser Borland Intl. Scotts Valley Copyright (C) 1990 All Rights reserved Version 1.00 Usage: [-V] -V generate disassembler output -v-VNot enough memory* Object File "%s"+ D%06lX: .DC.W $%04X ,$%04X D%06lX: .DC.B $%02X B%06lX: .DS.B %ld %s: T%06X: %s D%06X: .DC.L %s+$%08lX D%06X: .DC.W %s+$%04X %s::68Dttz2#MOVE.B_ea,fdMOVEA.L_ea,fhMOVE.L_ea,fhMOVEA.W_ea,fhMOVE.W_ea,fhSUBQs_#q,ecADDQs_#q,ecDBRA_d0,pwDBc_d0,pwTPc.W_#wTPc.L_#lTcSc.B_edBRABSRBc_pw.L_pl.B_pbMOVEQ.L_#,d9DIVS_eb,d9DIVU_eb,d9SBCD.B_-(a0),-(a9)SBCD.B_d0,d9PACK_-(a0),-(a9),#wPACK_d0,d9,#wUNPK_-(a0),-(a9),#wUNPK_d0,d9,#wORs_d9,eeORs_eb,d9SUBAs_ea,a9SUBXs_-(a0),-(a9)SUBXs_d0,d9SUBs_d9,eeSUBs_ea,d9LINEA_#CMPAs_ea,a9CMPMs_(a0)+,(a9)+EORs_d9,edCMPs_eb,d9CMPs_ea,d9MULS_eb,d9MULU_eb,d9ABCD.B_d0,d9ABCD.B_-(a0),-(a9)EXG_d0,d9EXG_a0,a9EXG_a0,d9ANDs_d9,eeANDs_eb,d9ADDAs_ea,a9ADDXs_-(a0),-(a9)ADDXs_d0,d9ADDs_d9,eeADDs_ea,d9BFTST_ej{BFEXTU_ej{,xBFCHG_ej{BFEXTS_ej{,xBFCLR_ej{BFFFO_ej{,xBFSET_ej{BFINS_x,ej{ASR.W_eeASL.W_eeLSR.W_eeLSL.W_eeROXR.W_eeROXL.W_eeROR.W_eeROL.W_eeASLsLSLsROXLsROLsASRsLSRsROXRsRORs_d9,d0_#q,d0IllegalInternal error: MOVEPs_d9,ws(a0)MOVEPs_ws(a0),d9BTSTs_d9,edBCHGs_d9,ecBCLRs_d9,ecBSETs_d9,ecCHK2s_ef,CMP2s_ef,CALLM_#b,efRTM_rBTSTs_#n,eiBCHGs_#n,edBCLRs_#n,edBSETs_#n,edCAS2s_:,():(CASs_,eeORIs_#i,CCRSRANDIs_#i,SUBIs_#i,edADDIs_#i,edEORIs_#i,CMPIs_#i,eiMOVESs_ec,-/EXTB.L_d0LEA.L_ef,a9CHKs_eb,d9MOVE.W_SR,edNEGX.B_edMOVE.W_CCR,edCLRs_edMOVE.W_eb,CCRNEGs_edMOVE.W_eb,SRNOTs_edEXT.W_d0EXT.L_d0MOVEMs_,elSWAP_d0BKPT_#PEA.L_efLINK.L_a0,#lsNBCD.B_edTAS.B_edTSTs_edMOVEMs_ek,DIVSDIVUL.L_eb,:.L_ed,MULS.L_eb,MULU.L_eb,JSR_efJMP_efTRAP_#LINK.W_a0,#wsUNLK_a0MOVE.L_a0,USPMOVE.L_USP,a0RESETNOPSTOP_#wRTERTD_#wsRTSTRAPVRTRMOVEC.L_RRRR!R$R'R*R-R0R3R6R9R<R?RBRERRRRRRRRRRRRRRRRRSRRRRRSS SSSSSS"S&S)S/S4S:SASGSOSWS]ScSiSpSuSzSSSSSSSSSSSSSSSSSSSSSTTTTTTTTT TTTT T+T0T;TEACBCCCGCASBSCSGSICLCSCWCISLSSSWSSFCDFC#TCSRPCRPPMOVEFD_PMOVE_TT1TT0,efek,PLOADR_PLOADW_PFLUSHAPFLUSH_,#MMUSR,ekek,MMUSRPTESTR_PTESTW_,ef,#FEQOGTOGEOLTOLEOGLORUNUEQUGTUGEULTULENESFSEQGLENGLENGLNLENLTNGENGTSNESTFMOVEFINTFSINHFINTRZFSQRTFLOGNP1FETOXM1FTANHFATANFASINFATANHFSINFTANFETOXFTWOTOXFTENTOXFLOGNFLOG10FLOG2FABSFCOSHFNEGFACOSFCOSFGETEXPFGETMANFDIVFMODFADDFMULFSGLDIVFREMFSCALEFSGLMULFSUBFSINCOSFCMPFTSTFPIARFPSRFPIAR/FPSRFPCRFPIAR/FPCRFPSR/FPCRFPIAR/FPSR/FPCR-/.X_:FMOVECR.X_#s_eb,FMOVEs_,eb{}FMOVEM.L_ea,FMOVEM.L_,ecFMOVEM.X_eg,FMOVEM.X_,elPDB_d0,pwPTRAP.W_#w.L_#lPS.B_edPNOPPB.W_pw.L_plPSAVE_efPRESTORE_efFDBFTRAPFSFNOPFBFSAVE_efFRESTORE_ef .W.W*2.W*4.W*8.L.L*2.L*4.L*8l,ZPCw,ZPCpl,PCpw,PClw,()([])],0(PC+-w.Wpw(PC)#iDisEa: eaMode0123456789ABCDEFVNVPVRVUVXV[V^VaVdVgVjVmVpVsVvVyTFHILSCCCSNEEQVCVSPLMIGELTGTLEDspStr: size DspStr: sizeDspStr format p?SFCDFCCACRUSPVBRCAARMSPISPVVVWHr   $& Jn lH6  ,0 &Pd< ^ `nN6  22 n rr  8 tH,. (ptH >"p.dxL@Jf&  B (Vx*Bb 2> N ~P<*$ type = ParseType(); for (sym = *symLink; sym; sym = sym->next) { sym->t.type = type; if (type->g.form == TF_PROCEDURE) sym->flags = SF_ASSIGNABLE; } if (token.tok == TK_SEMIC || SkipTo(CL_SEMIC, CL_ID|CL_SECSTART)) Scan(); } while (token.tok == TK_ID); } static Type *ParseArrayType(void) { Type *type, *inxType, *elType; type = UnitAlloc(sizeof(type->array)); type->array.form = TF_ARRAY; type->array.symbol = 0; type->array.inxType = inxType = ParseType(); if (type->array.inxType->g.form > TF_INT) Error( ORDINAL_TYPE ); if (token.tok == TK_COMMA) { Scan(); type->array.elType = elType = ParseArrayType`F>&``Yj>>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@#Y\3Y` k #Yf Ј<.@#YbJyY`g<"@(I$k,"Jf"JfB// ?<?<JNAO A<~kRrRAfA6<HCBB`6 !jBJ)gHiRC` "fSI "WSAkHiRCBSQJ)gHiRCHy`$ON(D0 J"LN? 9F@g @N 9FDg @NN=?<LNAH 6$HN J0N:8fN`CY209FL yYN09FRgCFZAXN)NEB@NrLNuCFcAXN)NuCFAXN)09FRfNENuH>O|$HvBD|n0`p\ jN9&H g* R "jAN:`zB7PMIFPCHw jN2L.f /*BApN NXO` NN: 6 fB6*N`RM  g  g ;gg&M`RK  g  g ;gfBJDfG`B@NA4|-|*b@0;NVVVVVVVVffzB@|9@`tB@?rpN NTO`^8`XRK =fRKB@|9@`@B@+?rpN NTO`*9|`"9|`9|`B@?rpN NTORKfx`|>nx MN:, -:g \g܅pІNNJ@g /N`B@TONuH0$HN:&GY S"yYC@e&rp N N09Pg rpN&YB@`"J SN:<דpL Nu?/ EFH"yY <@ yZN $ yZN/jJ@g/9I(BApN NXO @d  yYR#YY yYRY< fR^09Pg rpN N$_6Nu"yY 9YY yZN J@fHyI,BApN NXO#YYNu/ $H" Ip"JN0$_Nu// $H&" Ip"JN0gB@`p$_&Nu/ $H#I(N;CI8 JN2L#Zf/9I(BApN NXO$_Nu/ $HCI;N2L#Zf/ BAB@N NXO$_Nu/ YOEI,CAN2L#ZfHjBAB@N NXOANF?B@/HAV/0BA/?HyYC yZN)O XO$_Nu 9Zg @N4Nu 9Zg(/9KH/9KDCJb @N)PO yZN4NuBI( 9Zg @N4Nu/ / $HNEYGZ`"R <@ SNh k"RNt SN/^J@gN&_$_NuH0O86EGKJCf AN t`t|fAN tRyZRKD`AN tRyZRKH 9I(g8/CAN)XOAN t/9ZCAN)XOAN t/ 0HAKL"pAN*XOAN tAN tJCfAN tN 4OL NuN N N ANlN6bANsN6bANzN6bpNrNu/ $H 9Zg "H @N)"JAXN)$_NuH>OvMXKZI^GPBEPN|bF@0;N 4,::::r:::*0g$rp N N`RSx0NxJ@g0Y@gX_@gS@g`\vB@NxJ@g< Tf|f MN;20 MN,` rpN NBDB@N.J@gBDv`BA0 MN,` rpN NBDJDgpN.J@fx`BDJDg4N|`rpN`BR0H yb!PH 9YYѹPHN TBPD`:BRpNxJ@g TfHUCN NN)XO` rpN NpN.J@f`CNAYN)AXN1d<ng<Nf.B@Nr`"0g Nx`rp N N`:BRJEgJB@NxJ@g> Tf "MAN:P`FFZFFF"FF4FFDJNjN0`6N` B@8`&p8` p8`Np`p8` 9|p8LNu3PNuSY yY  fS^NuH0EZGNNBA 3 g 3 gBNL NuH0EZGNN<\fNNB@ 3g 3fB@ 3f rpN NB"3^3^L Nu/ / EZ0< JN2HA^&p`"k JN9J@g&k f g 5|5S` p5@5@&_$_NuH0UO&H3PpN$yYpN : f&yYNF y^grpN NN yYB KN6f$" YҹPH"yI( K 9^N`>pNByPTOL Nu?/ ENRRN29Pg<\f6N`<\fN`B@|{g U@g`SR` 09FTgRR0f$_6Nu/ ENNBA2<g<gNP$_NuH0$H8v&HfB@BA+IAH$ Ђr2NEz&0L NuH8E^"<B@ JN@tGO`\0< kN6p NAYN EPTGb:pP"J KN:pCDAPN:IPBpTH'@Xм'@\Ы`'@pKT rNEzJgR"9c ЀЁЀЕ'@t'Ax$+pԫt'B|MT rNEzJgR"9c ЀЁЀЖ'@'A"K yZ <N +|ЫBA`4H kѰ(RATo"kpTH yZN AMN " 9c ycNL" 9c ycNLATN N L|NuH<&H*I&(pNmD"S MN:< MN; MN>m&AI( AZ /rpN NXO>"JrpAN0&k f JN4 yPLNOL,Nu/ / $H`&j RN=. JN=.$K f&_$_Nu"Q PN9NuH8YO$H(.v*څڀڅJgCrN)GYIY(,܆܄܆ ЀЃЀ rN:.R T"SCѱd* ЀЃЀ"r TN:< ЀЃЀ rN=.ߔ` BApN N ЀЃЀ%"҇],RnIY"J  yZN J@fHTBApN NXO"S  yZN J@fHTBApN NXO JN=.XOLNuHOITABCBCGbKY`x|fCWAN:<0H"3g A0N`H0,@f6|lrAApC"L UN>AY N 9|@89PB` BA0AN,RRC|mN"O L8NuH8BCEb`0H&r`(k KN=.&L fRC|mLNuBB`RBJgBnBo`|RBJg ` RBBnBNuH6O/H@6#PDrA B@N@trB@AN@tKb0H,u$NBD`,nRD0H2I$5⊰epf`p2Ig,n&N#YYp Np NBD`" p"RA N&AWN XpN0*N :A N X g:r"VApNAWN XpN0.N :AN X,n&NRDp Np N$jRD0H2IehRyPB o@09PBBAN,09PBH yb!PH 9YYѹPHN TBPDODLlNurB@AbN@tNuH>YO&H8:BBBCP61 Ib0HRp N#YYN Nu/ / YOEYp\ JN9&H f&J`RKANF/9V?/B@/ HAV/0BA/ ?/ /9VCW yYN)O#YYN XO&_$_NuH>BCEcGc <3N`0|?bRC" R1 R1 Rp0 SR>DG| 9FH yY"VeR09PBHm29FRgCX"AYN)x`H  R pm "Sro  SB`"" S 0"R21HND" S!RFymC$r < SN%Z Spl*(`z(<`  Sl,<.<  S"0$犲(g8&0(o(m(  S"0$犲(o܇` rNE.` <""S SAN>  S""S"" Stl*(`zRFymL(<`SJo  S"0g|܄pІN" R0<BBH T( R pl1" R40H." R40l0<BCH T8 R0DBCH T8 R pl1N TRn "6#b¼gRb"yZr yYpN0N NN=. SN=.r B@AbN@tp T!@h T!@P T C$r T <N%Zx`  TCb:@dRp n TN=. yZN1N&D yZN4 RN=.AWN6bL|Nu NupAc`""PBq"P3"P3RFymNur`$B(!(RnNuH68IAz: "<FyNEz*Jfp` <FyAc""P qgqfBB1Bf `JlڼFy`L8NuHQOBPHKYGc&S$ybAXsN x<9PBH.`<*2HH yZ"U N gHyXdprN N,Uڕ`(N~|vDF2IAp0"<FyNEzfr`"<3Ȓ sgsf3g lм3`23k>/@, smeJGk*r /23p a0Haa<`8  f . fTNp`$p Ab0gQp a\pHaTpaNe$paDan%PHH"9YYӹPHN TXm%PHHN POL|NuJ9'f9'P'Nu:Np#'NuJ9'gp`A(p"@ "ByXA1B3X3XO"Nu/ Hz?<&NN\O$_NuSfNuH<&H&$I(pe$f&IH"L KNJ@o "L KN`pЃ"NI "NK"L MNJ@o "L MN"K MNJ@o "K MN|`"L KNJ@o "L KNfpf"M K NV`KH`c4"K MNJ@m`"L KNJ@n` "L MN"ę`b޹b"K MNJ@l "K MN Mp0"N*crd "J M "N&`pd ""J K N&M`L<8NuJgNNu/QOM-O, ICHzaXOPO,_NuH@B@H@"Vra8J@kNu.np`/YOM, IC HzaPXO VBXO,_Nu"VS@eQ,Nu/YOM, I"o HzaXO VBXO,_Nu"VS@eQ,NuH8]O$H&I(o&BCx%p JR@g2fJ@g@HNBEg>BA< <b;k`|<*f<`&<0< b ACp a$Wb<gt<.f6<*f4`$<0< b ACp a$Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA a A pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 (VHNu(VHNuH8$H&I+g|2g+gC'I&'IR'I UAe"S(kt d W`2+gH@ KaLJ@f,H@ KaLJ@gkg&B JLNu3 F>`H:$H&I(S&gfJg^+g`)ft,k x$ڹd SfRe`.&// Ka$"J@k,f4(SSfRf& L\Nu3 F>p`"`&x,A'J'JE8'J & KaJ@kfRf"`H:$H&I(Sx&gZJgV+gX,k$dSfRe`6+g// Ka$"J@f.// Ka<$"J@kf(S,k`& L\Nu3 F>p`"PdB@ Nu(g*gg/aV _J@f/a _J@kf"P`3 F>pNupr`H&H&8|f֓b e&`8+g+g2 KaJ@f:"40+aJk* k&'HpLNu3 F>`3F>p`p/aXONuH&H(o Ia6kl g La` a(Jf\(H <a )HgN0@0;\ Ka|gB9@{0`Q l)H()H C#FD LLNup`p`p 3F> la @`a)b*a)b* YOCBgg Ar`THWf0XONup`rwar+w+a+rbwbabr+b rb+ w+b wb+ a+b ab+ Acp`Ar(WVNu?/ AXaRAYaHGc6<`Gp+g Ka*QJ9YRgA a\&_6Nu_TMP_XXX.XXX/ &H+g+g.aJ@f.0+aJ@k"+g kaB@7@&_Nu3 F>p`H&H(k L0+"+ aJkRgF+f, L"St gSj`"HSISSk ögSjJg&"'LBLNup`p`H&H(k6+"+g0DtaJk+fZ"S"L Ip gSj`*| // " 0a"_"JkNgPAp SjH@" 0axLJk*g,`0" La`Jkg&'LB@LNup`p`H6&Hp Cgp@CfFpC?/ ?<=NAPOJk&8jaTpCgF?<?p/?<BNAO Jj.`Br߲fNAXONua3F>p`ް|c??<>NAXOJkpNua3F>pNu/?<ANA\OJkpNua3F>pNuJ@f//anJ@fBg`//??<?NAO JkNu  _`a3F>pNuH&Hx&SgkJ9YPkpfxa<g < g6<gJ< e七dRa`JgSSKpap apa`Rp aYPp a`\JgXYP`NxB9YP`Dx B9YP`6J9YPkpNu3F>Nu|b2@?? /?<BNAO JjfSBg jX?<? p/?<BNAO Jk$`X?<? p/?<BNAO JkxЁ"kr?<? p/?<BNAO JkZ$`?<? p/?<BNAO Jk>$Ҁk8 $k0HzP <e/`/? ?<@NAO Jk b Nuab3F>pNu0<`///6?<?B?<BNAO (Bg?/<?<BNAO *Bg?/?<BNAO JWH*(&NuD@| |"b;NupNu   JgJgJgJgJg JgJgJfSHggggg ggf @Nug fC`Jg INuSHNugHf8g@f0g8f(g0f g(fg fgfgg!epNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNu"SefBJgSf ANuH0$H|g|$bGdrtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"F>p` 3!F>p& g"`"CB@f ANu//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!F>`0123456789abcdefghijklmnopqrstuvwxyz// &gPR<e:/` oJQ d nf>avJg*`4CYT g*g"@ f`"/?<INA\OJj` pNugp`/ GYT g/ &S?<INA\O`GYX g/ &S?<INA\O`&_NuH0$< CEYX g" c $@ f`&@ +gb*"Ҩeg ` 'H`p"@")Ө 'H`>"@ gb" ҩeg`N"(ө`" "H" ҩf @"(ө" k eb$/ ?<INA\OJfQL NuP`Jg/bg2 4gf!Sf`f`!Sg"gH?LxH?LxH?LxH?Lx`H?Lx8H?LxH?LxH?LxH?LxH?LxpH?LxHH?Lx H?LH?SfvLx2|HgS@!!Q|gSA!Q`2 4gfSf`f`S"gH?LxHxLxHx(LxHxPLxHxxLxHxLxHxLxHxLxHxLxHx@LxHxhLxHxLxHxLHSfxLx2|HgS@ Q|gSAQ _Nu/$gSe40HB4 gxH_>"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQ _NuBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#$HBJBf$HBJBfNuHBЂNuHBЂNu$HBJBf($HBJBf H@B@H@NuB@H@HB0@0H@0H@Nu AH@r2B@tЀӁd҈рӁQF@Nu$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu"@$jDJjD$HBJBf.$HBJBfB@H@$ jDNuB@H@HB0B@H@$ jDNu A"B@H@HABAtҁрdЈӁрQ$ jDNu09f~f/ ?<NATO$_J@f#f~NuByf~Nu/ "H?<*NATO2<@I0<@I|2$_Nu@ ready. Help Compiler (c) 1990 Borland Germany GmbH usage: HC commandfile commandfile format: -[options] (path and) filename of help file list of (paths and) filenames of the sources options: L create log file N do not generate help file V verbose message output W break make on warnings T=x expand tabs to x blanks (0 < x <= 9, default: 4) note: use one line for the entire options and separate lines for each filename, comments start with a semicolon and end at the end of line rhc.$2$hc.$3$hc.$1$ scanning %s creating index %d Error(s) %d Warning(s) pass 1: pass 2: doing references pass 3: compressing pass 4: creating %s output filerbwbHC.LOGw Help Compiler (c) 1990 Borland Germany GmbH ------------------------------------------------------------------------------- log file for %s date: %d.%s %d ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- total number of errors: %ld total number of warnings: %ld ------------------------------------------------------------------------------- KKKLL#L7LJLpLLLLLLMMM2MFMfM|MMMMNNunable to open output file "%s"unable to open source file "%s"unable to open project file "%s"out of memorywrite error on "%s"read error on "%"stoo many source files in project "%s"too many screensunknown statementmissing parameter listincomplete parameter listmissing end of screenscreen too longwrong scope for statementpending keyword delimitercan't break keywordwrong argument typedoubly defined screen name "%s"pending end of string'=' expected in -%c optionillegal option character: %cfile index out of range: %cuse of illegal character: %dtoo many parametersmissing parameterreference to unknown screen "%s"Fatal: Error Warning %s %ld: program aborted! hc.$1$hc.$2$hc.$3$ %s do you want to continue, [y]es or [n]o ?    P PP P P P% P( P2P9P=screenendprintlinkwaitcapsensitiveexternEOFnopHelp System Version 2.0 (c) 1990 Borland International, Inc. 90BH2.0hc.$3$hc.$2$rb+temporary file    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~UAAOOUscreen("a..")Zu diesem Buchstaben ist kein Eintrag vorhanden.\endscreen("Index")Index der verfgbaren Schlsselwrter: \#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..\# \#Sonstiges\#\endWW.WZWaWiWnWtWxW}WWWWWA..screen("Copyright") (c) 1990 Borland International, Inc.\endJanuarFebruarMrzAprilMaiJuniJuliAugustSeptemberOktoberNovemberDezemberSonstiges %s%s wurde bersetzt am %d.%s %d. %shc.$1$rb reading uncompressed help screens temporary file computing compression hc.$3$ writing compressed help screens temporary filehc.$2$XXXXr    ( b4,                          2           "$     B       :  T " ,.  < 6L $ $  2       **   "" ^ J      & *2  : ">     .V@~"\8 N ^ZFF. ,0  ڌV  "h& >\ ,<  p4R*:*,Lnx JNgLNu y^"J AvN g,C$ LN^B,C LN/C& LNXOpL<Nu/ $HNnN JNn`$_Nu?/ O$H8HWCVNzXOJ@g"JDg JN0*fp`B@CARNOp$_8NuH 8$H6H֪ Nm of 2  JNLNuH $H8N&C|lx2Hp A0N0DB2LNuH0O$H&*8*H؃Go(*`HSC  JNXO0*x| g"U@gDS@g@"K oN of,Bo`&0*g"K oN`/C& KNXO0* KN4r0*jj|?? KNCA02NJ"K0j JNl*RnNO`4=Jb``ތ >>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@#~3ނ k #ވ Ј<.@Jyނg// ?<?<JNAO <"@(I$k,+<=.j JNt'@"g A'h *H|g S@gS@gp`*j -f(m` lN4(l f'y BC(m`,r p Nb*HRC TN*+l  lN+@(l f7C`jj RNt'@ *L<Nu4JA p `p0(dC INup0( h fޑNu// $Hvֹ"*p N (f!C$_&NuH0BC$h`P * gH"*gB A$(g:p rNb&HrpNl j N'@ jN'@ KNRC$R f0L NuH0&H6rp Nb$HrpNl+HAS SN%@ kN%@+H|b,A2;N      9Mgr`rA+ H| Y@ftkH%B pbvAr09HЀ20"k)HHԂp(g09BANN%@ 98g.rҪ ЁЀй%@ 9MgDм%@ `|`%k +fB *f:0HѪ `0B* JN`$|`+HAep5k Bj L NuH6:.BD&j`. +g +g +g +f 0 KN:RD&k f&j` +f k (g K0NRD&k f JN@JDf *gpNv&HBIޮ l )K <RT|fp`B@7@2G7A'W 7D 0*Cm 7@'M *'@$j`420"M JN$j f2F7AXOLrp Nb01j1j1j !j !j"j1i 1j$R f$_NuH8&H$yްE45|pyޮ5@%yBC(k` ,g , f B@ LNRC(l f KN@@5CB BLNuH8&H$yް4Bj5yޮ%yBC(k` ,g , f B@ LNPRC(l f(k` ,f l (g LB@N&RC(l f5CB BLNu/ / yeB@`Z$yަ`$RS@J@f *l@%yrpNb !yA N|"Rp Nb&HC N|<0* &_$_NuH8:8(H&0N8G$k g "t4f 0*lg %@ fDrpNb$H'Hp0$'C'C5l2l 5AtEx8'D%D BBx8Jgp0'@*'C g&Jf"(@HH؁,HH`|BrpNb(HRpm`|BrpNb(HRpn`B,rpNb(HRpm`B,rpNb(HRpnE&L8NuHO&H(CNAN}~BC&yަ`C AN{JgJRC&S fAN|| Nv&H'D'|CA N| jHNJp JN ЫN%@2ByB j "h&Q+Hr*;f tK5g ,f|fX> j hN,gBA?p N"Hp/ ?AN9A0"_2N(H, "LpN*H|rp Nr0(HE9Mgv`v֪2*;H|S@g(*>`x#&jK2Mr` +f k(Hz",f04HԂ25(g$Hҁ<6HtC1gNt*` kNt,*;H|S@gr„"҃҅'A ` ЃЅ'@ ؆r„؁&k fl LpN\L|xNuH8$H6" g> jN j(HHЀC81 *f* H| YAg *fBE* H| Y@f^|<*AxJCf0hf 5j `JCf"0HЀCr qf<0hfxz$pNY&H0Nt`$* pNY&H'J *f4HԪ pNY(H`2* H| Y@f$* pNY(H`t4*pNY(H)JJCg "K LN{>`"L KpNX&HNYHLxNuH>YO8.$yM2G4`6 j(HHЀC61 *fJDg W"(ftC10g* H| Y@f09BAN%H`0HЀ26gz +g $p BNY2gt +fn"pNXp1NrH`Xt 2<"0<"N}*(HN<"*>pNXprNr Lr p+NX(HpNrH LNH`p&Nrp09ޤr49!RHЂR @p N+f p NN`N89Nt+g4DBrpNrZN0`N0Jg"pNXp'rNrBy j hB@NN`N09D y0 y2NaX Ъ>мְmpZNmLNu 96frҀ¼ NurҀ¼ Nu| l<Ax0f 96fpNupNuH>ExGlKrM 98fvBC8~`2pg3pf RDzGtjBRG|oJDg>|f"|t20N}*(HN420N}*(HN420N}*(HN|EtjBRE|oJDgl|nPRF0N"420N}*(HN< LNH|f|f"|t20N}*(HN< LNH`tBp;NYp:2NrLNuH<&HE*;H|I+H|bb@0;NVVVVV&&&VVV|f@(ت> + f$r pNY*H` $r pNY+p+NX*H` 98ft+pNY*H`$r pNY9p+NX*H`|f(ت>$+pNY*H`x + f|gx $+pNY*H`f(|fت>" kpN*H|f kNtrl| B"M kp+N|XO*H/ "M kpN|XONYƛ g"K M+pNXNYL<NuH>O/H6&P(k*k ByHH"҂ҁ҂+HHҀCBB1|0bHB4; N <brvv &l  x  \ x|B6l$b"ZHl0 oN8z`< KNJ"o"`( -g 2 m"  n0 LNZ&"o" LNA(H`.+H20N}*"o" LNA(H"o"QpNpk/ "M KNs XO kNwn`0 KNR("o"` 96fL0< LNHN(HNH+H2<0<N}**H+ + "LNV(H"Mp2Np`J+ H|JDg2HpNX"H LrpNX(Hx+ H@JDg2HpNX"H LrpNX(H +f Lrp5NX(H` 96fL0< LNHN(HNH+H2<0<N}**H+ + "LNV(H"Mp3Np`|+ H+ HAx@JDg2HpNX"H LrpNX(Hx+ lSD2HpNX"H LrpNX(H + f2r p5NX(H` ,m$m N:/HN:.NBAB@"W LNH + n8<`p+HA0g8NX'Hp@@` ,g +g0` :<3 +n:< f +g"M LNv J@g( m  o - f m m  n0, N~80, N~ 6f 0 MNHN*H o 0, MN@,H LNvJDg 0, N~` NNH"L MN{>"M LNzԶ|f oB` D|f <9f 2 L0N@(H9f p-NrH`  g mR  nL|fFH| m<|n6|o|m*,mf ", fSf lf `|g* g$0 MN@*H LNA(H0 MN@*H`"0 MNHN*H LNA(H0 MNHN*H"L MpNp kNwn"k MN{>|f oB LNH` LNJJ@g o MNH` o `2 f"M LNv J@g" m  o - ft m mj  nd0, N~ LNv 6f MNoJ@f0|fh`,M 5f,n  mH nB . m:$n 5f$j f& * f"n Lrp NX"o"` 0"L Mp9Np LNH|g o ` MNH` 9fp`B@?@?|. 4f,l$l .-`>,L$M0/g(?| >f n .(,n` n"h.)` k"h.) oB|fpm +gC1pH?Ag4/g" N0<NHN,HoN LNA(H +f0 lN@"o"`0 LN^P"o"`B@Nm^pOL|NuH>$H6&P(k+H"k)H4J@ABE0 |bE:;PNPD&<Z(J0 LNHN(Hk` 5fN l(+f>$`P2<0N@ LNZ&*H$k0- Nt+,o MpNrH` Lrp5NX'H`0<3 LNHN(H2<0N@6|f0NVJ@f6<+H20N}**HBApNr MNH0- LNZ&(H0- Ntk`h0 LNZ&(Hk0, Nt$`\ f",+NX(H`.0 LNZ&(H0, Ntkp m LpNrH$` Lrp5NX'H` Lrp5NX'H`0< LNHN(HNHt2f "h )`$"h"i )`(HHҁCr01Hr€ЁNuH8&H:$I(y6*x9IgxCmJCl L2p'Nr`BC L"o2)Cp Nr krp$NN:(HN LNBD`"RC kNjm jNRCRD$RDnL8NuH>(H*IN:$HN:&HM nNt2<0<N}*,t 2<"0<"N}*-H nNH VNH nNH VrlpNr JN& KNN KNj lrp#N0,@N JN,MBC`0-NRC*UlmBC` nNRC,VlmL|NuH>(H6&I$y|n>BD:`&<+ J2Dp'Nr krp"N8RE&SEn lN`:Hŋ,Kx`pD@f*NRD,VDn8.k0H@b/"K L0NXO`L J2-p Nr mrp"NN:,Hrp$N"K0 LN6 NNpE@&U`2L|xNuH8$H&j f jN``(j N|0< jNZ&#NH0,k4*2ABAc9If jl"K0* JN`"K JNLNu|m|!o0|6g*|3g$|2g|.g|/g|0g |4g|;fpNuB@Nu4|g24|g4A|g @`4B@JA40 A|g20NuHYO.6&HIB0ANy@K W g fh"K WNz W0( NVJ@g WN"0|fr2 W f2`0 W4( 2ABIu|g Wp ny W`.B fB@Nm^0ANy@J@fh0ANn`XXOL8NuH>$HH|gLnS@gFS@gU@g&S@g"`Q@g0W@g| g | g`p ny`&j&* K4M^ g g g+ H| | fVmNnFt4+pr NY(HJg"pNX"H Lr p NX(H L*p+NX$H`,+H f +g2Igg֫ &u g`RB@Nm^0<3 JNHN$H`(j ,fN(l 6f(0<3 LNHN(H"l l*NX$H`$, *NY$H%l`z .g ff l f\ (*HHҁCr41H°f>&l f4v n,p*HK5g KNv l0( Nt`, f J`2  g0<" LN (H`0<" LNE(H L*p+NXL|NuH>QO$H*I&j(j MH|gnU@g"| g$S@gJ` |g|#g`*`"N KN&HC LN(H З*" f` g:`"N KN~&HC LNt(H *" f*p(NX` f K` fC LN<(H "+Nz*" fh`> fX"N KN&H ",Nz*` f8"N KN&H , * f(`D *f +f "M KN&H`B`B`f g JNY"$H%K%L JPOL|Nurn tmr`BA0NuHBD` 7@NaRD|mBNaBNax` 7@NaRD| m`VBD` 7@NaRD0HЀtm`8|m *rNa *rNa *Na* NaO LNuH $HN*H2HҁA00N089 JNC/ BA0N"_N $H0H%@ B*N JLNu g fpNuB@NuH<*H&I6Nv$m 96f^0< KN,&H JN$H0< KN&H- - "JNV*H"Mp4 KNp|f KNH MNH K`N JN$H(K g@0< KNZ&&H|g* g&+H2<0<N}*(H"Lp KNp`(K JNR$H| f"+pNX&H`0< KNZ&&H|v- kSC- HH@xA:mFE2HpNX*H"JpNp g0H+@"K MpNp`0H f +'@`$|o KrpNrQDJDo K2pNr f +g "J Kp"Np0+ Nt JNH KNH LL<8NuH>$H8&j KNv(k 96f LN,(H+ + "LNV&H*H2<0<N}**H *g *fv2`v3"M K0Npθ|g*,M*H2<0N}**H"Mp NNp LN(H MNH/ r*NX"H JNs XO"K Mp4Np KNH N`+ H+ HAz@vk LNT(Hp+ hS@h:t02<N}**H"Mp LNp,M|gt2<0<N}*,H"Np MNp LN(H/2HpNX"H JNs XO N2pNr L2FA|pNr"L Np"Npg NNH'M KL|8Nu/ $HHH*HIACB ihNZ$_Nur@SAft`BB0NuH8(H$I&o fp` 9f$/ "j LNXO&/ "j LNXOր`SSB@2mpAr*H0 g kn 0+Rk`Hr*H0 g k n 0+Rk`(r*H0 g kn 98f0+Rkv *g@J@f JN& LNuH0$H6N 8" gT 9f &j $j`&JJDg0 JNJDf +g+f K+p9NXNYJDf0 JNL Nu g g fp n r mpNuB@Nu g g f p npNuB@NuH8$H&I6" f@ +f kNJ@f`RC0N~J@f0 kNZ&'HNH` 9f (j $j`(JBD ,g,HJDgB0N~:0N~ m  n0N{J@g g *n 0 LNZ&(H0"K JN@JDg0 LNZ&NHJEg0N~L8Nu/ $H gNJ@gp*HHҁAB0$* Cx1(p nj"* 49jH²o3 jpЪ $ԀԂԹ9pNY$H9Mg&"* DҼ%A ` g f JN$H J$_Nu ( f ( gpNuB@Nu/ $H +f" jNJ@f0<" jN4%HNH jNJ@g j2( pNr` JpNrHNt$_Nu??68N~J@g4HpNY` 420N}*86NuH:QO$H6No$H 6f"N&j(j JN(+H>?|?| ?|+HNJ@grBWHW"L KNXO*rm&Jgp"NXp'rNry;` *f JN^$Hp$NrH`d * g 98f0"pNXp'rNry;tr pNYNT`"*H2$H`pp*H6g> 98fp29N$H`H492O>&H(Iv > E "J KNF&H| BG gJEf> L0N^P(H + oJGg8`80 KN^P&H`Jx + f40<3 KN&HNH+H20N}*$"Hp KNp&R` 0 KNZ&&H gJEf L0NZ&(H KNH LNJ@g LNH MNN"HpN,HN NpNrHNtJFg2HpNXprNryJEgL,HrpN}*$ +f LNh(H"L RpNp RNH +f LNH` LNOL|Nu|g0|g*|g$ ( g ( g (g -g fpNuB@Nu?/ &H/ "KN|XOBD&_8Nu? NBD8Nu?"NBE:Nu/ / $HpN "J&H&&&&&_$_NuNuYO. g .f` W /f g @ m  n WNH`> WHNJ@f W hN W -g h N`0`J"K LpNp`J"K Lp'Np`< Kp+NrH$+ rpN*pNrH`"K KpNp` KHpNrJDnJCg Kp NrH LNH KO"LxNu fpn"<mpNuB@Nu?/ YO.6 W m  nNP. WH|gn S@g]@g`F| g| g(`8 WNHt 2<"0N}*&H"Kp WNp`0 W hNb&H K`0ANn`|XO&_6NuH8&HE9Mg $9DԒ+pN(H KNђ` KN ђ$9̔+pN(H)k LLNu/ &H/ p?"KN|XONj&_Nu/ &H/ p@"KN|XONN&_Nu/ / $H +fF&jH|g2|g`0 k "(pNB"H kr pN*p+N` k` J&_$_Nu/ / 0<Nv$HC" pNlANC@0H$^B 0HG"3gG&s'J ` 0HG'0HG' J&_$_Nu?/ E@64`NxRR Ro9ngB9G4By$_6NuH86(HE@0HA&p kc|g|g kcN&HpNv Rf 9`p0+!@!LC +g2I(q)H `'H0H#B LNu/ / $H&j` +f KNj<&k f$j` JN$j f&_$_NuH 86E JN9Gg2"j J0NLNu/ ANC@2IR^ Qg(2IE"r2)Rit4( ieN $_NuH<*H6ENG@0HA(p SgR0<lr2,ACol2H4JӲ ^`SCl`*l@2H4JӲ ^`S@lN(H`0HѪnL<NuH0$H(*v6*֒ Gm&  KNn`  KNn($j `L 8NuH06(EN0HA&p" f20<Nv&HC" pNl0H&^B A!`@p0+Єc<0<Nv&HC" pNl0H&^A"p#K 0HA!p0+Ak0Hٲ^L NuH9SgJCoRCrCHpN$(H_SC`rCHpN (H`SCl5yRyLNuH09nfTvE^`pANDRC|o&yl` KNJ@g KN$&k fr¹g,prNB` &yl` KNJ@g KN&&k fL Nu/ $H9nfN` JN$_NuO>`AN/hb (fШj/@/hn t49"牒ҁ/ABBBo9Gg"/үҁү/ApANnONuO.NAN (bШfШj/@/hr/hv BBBB9Gg$/ԯԯ /Bp ANnO NuH &:8$Hr b`H…HBUBf*tDrE??r N24 JN<,RF`8 JtDrE/?? r N24 _N<`BF` RFSEn r N,ARFB0LxNuOABBr NTANoONuH>vEN`p2I^g 3@BN~RC|opvG`2I'в^RC|oB#fNr9nfnv` A0NRC|oɑ$*nrpNNRNv`0H"2^A ppNRC|m"*rp jN"*vp jN`lv` A0NRC|mɑ$*jrpNxNtNv`0H"2^A ppNVRC|m"*vp jN@"*rp jN29GgANrANN I݌KݎM 9Qf0f2g NNo/9ANoXOANo *bN0A*Nopy!RHNAFNo *fNA\Nop0+NAxNo *nN NNo0f NNo0g@ NNo0g?ANoTO0Tg?ANoTO` NNo NNoL|NuB@Nv3Z#..Nu09ZNwR3ZpNm^NuH8(H&G.E RC o `Sl$`,`Sl"< K09ZNy|gN$`LNu/ / EZ0m2G."+ K0NyH k˰gNR0NwR4&_$_Nu09ZmNwR3Z yNw|Nu` h 5fD"h)(n6Wg )g ) g ) g )g )f 98gNu 6f h f h (gB@NupNuH`, *g r @( gp`B@`, j m  nB@` j NJ@gp`$j`|$_NuH|bl@0;Nbbbb0( Nu"h`2"h gr) f. )g,g$)HHA4"p gr) g0)NuB@NuH0&H$I fB@`p mH  nB KNd6 JN\JCgJ@gCfr`BA0`>f"+g $*gfp`B@` -g"j KNJ@gp`$j`L Nu/ / $H&IH|g nS@gW@gS@g`.Q@g |#gU@g `"K JNB`"K jN` KN&`p&_$_NuH<(HEGK`0 + g"@ LNJ@gB +g"@ LNnJ@gBGc&U` + f"+f Gd*L<Nu/ $HNJJ@g0* NF JNv$_NuH<$H&IKI f" fp`B@`@ g*f"H|gdnSAg(SAgSAgSAgN`_AgSAg|%g` jf * f*H4+H4fp`B@` * f*H5+H5fp`B@`*+f"*fp`B@`|*+f`B@` 23fRR@| mp`V*+f<* + f2* + g,`&*H4+H4 f"k j NJ@fB@` $j&k`L<Nu?/ $H6N~J@f4H R(pNY$N"`4H R(pNY$$_6NuH>$H69Kg&PK0|fX4H"ҁ҂M.n&". g"A KNJ@fz .g "@ KNJ@ff f + Ax0f6HN@hJ@f0<*f&<m < nB@`"<-g * g @NJ@gp`$j`$_6NuH8$H(I9KgTNJJ@gJ"* ЀЁGBg. LN:J@f "L JNJ@fc#'L `B LNuH8&H$I9KgX INgN KNJJ@gB"+ ЀЁI JNJ@f "K JNJ@fc#)J`BLNu?/ 6E2H ЀЁ$2 f "2fp`B@$_6Nu?62|f"NJ@g2H ЀЁA! 6Nu?/ 6E0|ft4"ҁ҂2fp`B@`*Ap`(f4(C|gp` AR@"fB@$_6NuAx2|ft40(H0`2Cr`"0g)f4)@|gpNuCRA$fB@NuA`(oB(BA fNu?/ $H6" g: f44|f H f$`|0$* "ҁ҂Apgp`B@$_6NuH868:E0|f&2|g0H$ԂԀG(2+D|g80|f"4H"ҁ҂G`N~N+f`|0|g2DgCIxG`B0+Dg6+f04+4 g + f"+g" g2+4g 6+hl KG f f"g&H` N~N`|7y2Ry22+HpN'HEB B kL8Nu/ / GA` (f g 2(jl$HA f" fpNm^0* jNSAg:`"| g2|/g,`0* N4J@g JN` jN -g j N~$_NuH8$HBnBjByfByhB@` 1@ hT@"fG`H|b@0;N,,HzB"j JNB`\"j JN`N"j JNB"j JNB`2B"j JNB"j JN(j`"l JN(T f$j fhNNfNNtNLNuH>,H$I gT 98g0p*HA0gpN *H0+yj#jH|6b@0;Nnnnnn&&&v(j g0,yfd2A@IGfg8 y@fd^09fRyf2A@IGfBk 9@, &7nB+B+ ,g ,fBk`"j NN j g g g f j(h g0,yfd2A@IGfgz y@fe$j `N09fRyf2A@IGfBk 9@, &fp`B@n7@r, ft`BBB ,g ,fBk|7n k b0.k K`4"j NN` "j NN&H g k brnIk ` 96g*HHЀAr pf * gpN (H0)yj#j` *f4 j"h )ѹr¹ӹ"9޲o# JNoJ@fpN *H0+yj#j *g @ g3h"@ NN$j f` * g "j NN$j`L|Nu/ / $H&IpN 01kBCn g $i%H`"#H&_$_Nu/ "P 98g (f$i *g)H|b@0;Nddd:p) g(Hh ]Aez`f 98g (gd h dp@) gp`B@`N)HE42If4B22 h Ih ` (Hh Y@eph H1@ p`B@$_NuHt窅(N`)C T( T1C(l" f.HAS0 4J/ MS@lrMf09f`.f$.f.HEv`HBfv*.njtĹg4J(w $ gR$ g 4, k dD&L`@A0o6t窅S04J/ (N`)C T( T1C(l$ f` TJRfz".fX$ gT2. k cJ&+4J/ (K`B T( T1l (l" f(N`)C T( T1C(l" fMS@lNOL\NuH$_Nu y0( |r h"yi |ONNu??8 y6( |0r h"yi |0NpDN0KB0@A4802|eb A2;N  l   $6l x  H  l   $ $$8     R p0. Ax0|g ,mBD|g|f8<|g|f6|f ?l` 0,D@?@` ,f. NNOJ@f"J NN8-.HAuD8` NNJJ@gRp,HA54. Ax0 C LN2AA480,HBu D8"J NN^r h@`lC LNL"J NNDrCAA480,HBu D8`: NNOJ@gF0. Ax0pC@A480 ,m|C LN2. |t iA@` NNJJ@g*C LN,HAu?"J NNr h_@`C LNr h,HBu ?"J NNx_|@` f&"J NN^rlt i.HBu A@`X LNJJ@g.C LN,r h.HBu ?"J NN_| @`C LN@|f|`|`C LN,HAu@`C LN@Xy`C LN6@ LNJJ@g^D` lC LN|GN .rN`C LNh|DN0.N`0, Ax0pЬ rN8@`FC LN&8.H@u* g fp,HA54. Ax0 6. ||b 0r h6` 0r h|@6 fp mjrnbtmZ ,f, ,n$"J NN?0-D.HAu_N`0. Ax00-nC2,|AN`p n(",f"6. |0-|C4r jBN`C`2 f( ,f""J NN8-D.HAuD8BW` f>  f8 ,m0 m& np8m|NP0,NHXy`2"J NN6r@t iHH@A`> f ?l`?n"J LNh|@`vC LNV`j f ,rN0,N` l (npN` lpN , rN0, N`C LN@ ,m|@`C lNDNh"J NN8p l, HIA, HB`C nNDN4"J LN8p l. HIA. HB` 98g"N L0NUl` NNOJ@g LNOJ@g40<N0, Ax0, |r h4. |JB@`,C LN |N0. |H,HAuT|@@0. Ax`0, Ax"J NN|NH0, |H.HAuT|`@`0<N pl@2. Ax0. |H@`z f"J NNT|N0,| @`VC LN8|N0.|@`:"J NN|Nplr h@`C LN|Npnr h@0Nz0g2K2/ g$`0NdSWSol o0/ N`0NHSWl0g2K2* g$`0N.SRSjl j0* NV`0NSRlO(LtNu/ E` 4N 9ffB%|BRBj$_NuNA C#n#<#8NuH068:E R8e *g &@%k` N&RBkAN (f!K`"h#K&BC7D 7E !Kj j KL 8Nu/ $HN`tBApNr!JN$_Nu/ / &HNtN`$yj g *f2* f$R g * g g0 *f(f|2* yBj `"5| TyBBBApN$H%KN&_$_Nu?/ $H6trpN!JC $_6Nu/ EN j ENIKM8`&jB@+| b@0;Nv*RRRR:R j (fF"kf< Td|0+ k T7k ` Uc4|0+ k U7k Uc kNnJ@g |`|0+ k U7k ` j (fF"kf< Td|0+ k T7k ` Uc|0+ k U7k Uc kNnJ@g|0+ k T7k `V|`d UeR kNp0+і V! e KN$%k'm+K0+ U2+ T *fhBL|NuB@"yf"i` )f fpNui "i" g|mB@Nu/ B@2"yf"iE`< )ff|` )ff|pUR3i i "i$ g|m$_Nu?/ EN j 8fN@N j R A "j ! e%H Rj$$_6Nu?/ 6$HNBBBAp N!JC N:$_6Nup NNup NNuH<*II4<2`|f4B@+|@BA*|@AnBB+|B@*|@n+H|g S@g6S@g"` + gJg"* g` kgz`rB@+|BA*|AfX$+gV *gP+*fB B"@()f4.(i`B@"l W hNJ@g W.(l g" fڹgB@` &S$R|fv g" ffp`B@XOLNu/ $H?"P*H j"* *HNTO$_Nu??86JAf4J@JA`?BBr0NTO86NuH ($H: *g *g *fNj JNt&"NzopYNm?"JBB"pNPTOL8NuH8$H(I6*H| |b\A2;NRRRNj`8pCS@g0G2*HHЀ23gBA**HHԂ03(N$HpCW@f|`>A4pCf (!f| (!f|p8Cf (f| 9vg|`|?"JBB LrpNlTOLNu/0t@|b:B4; N 0&&&&""*r| (g0`Fr `Fr`Br B@`< (fBB(J9vfvBJCfr|`9wgr |`r|20&Nu?/ UO$H>CNf6?"JBBrNTOTO$_6NuH :$H6 *g *gNj?"JH2HpNxTOL8Nu/ $H?BBrN`TO g%H$_Nup7NmNuH $Hv` "* Nz&$R g *g fp`X*H|g`* j((Jf4/( 0<NmXO j!|`*HHЀAr80H "NzLNu` P (g97fpNu(HHЀC01Nu?/ UO$H>CN6pN Co B TO$_6NupN B(BBBB NuH0$H&IpN !J gj`B(!K!o L NuH $H(pN !J gj`B(!D BLNuH0$H&IpN !J gj`B(!KB L Nu/ / $H&IpN !J gj`B(B !K&_$_NuH0$H&Ip N !J- gj`B(!KC D L Nu// $H&p N !J gj`B(!C$_&NuH0&H6pN $HBA0N%HCp "KAN JL Nu/ pN $HrpNl5yfRyf%J%J J$_Nu/ N$HpNv%H J$_NuH>YO6$H*INDJ@g -f&j`&J(kr"lpN."H lpNP,H"W lpNB'H"Lp NN,H JNpC"MN*H"Mp JN(H/"N lp8NXO`* JNpC"MN"H/ JN4p"_NXOL|NuH>O6&HApNTp AN$H KNDJ@g|.fv `v(kr"lpN*H"M lpNl,H"M lpN^'H"Lp NN,Hp+N,H KN0"JN$H"Jp KN(H/"N np7NXO`Z KN,H KN4&H|.fv `v KN0"JN"H/ KN4p"_N$H/"N np7NFXOO L|Nu/ $H g: ;g8H|g*nSAg$SAg SAgSAg`(_AgSAg|%g | g`B@`, jN`"p` jNJ@f j NJ@gp`B@$_Nu/ / $HpN "J&H&&&&&_$_Nu/ $H f`J JN$H m  o4 -g" .g /f jN` j N%H jN%H J$_Nu/ $H f`J JNv$H m  o4 -g" m !n jN` j N%H jN%H J$_NuNNuNNuNNuN8NuNu// $HN"& JN$_&Nu/ O&IHWNXOA"K""2O &_Nu/ &IN"&&_Nu""2Nu""2NuN.NuOC""2 <@AN <@ANAN.мO NuNdNu// &$H Nd <@ JN <@ JN$_&Nu/ "yH`"$i`f *f8 j`8$j f"Q fA$h" g *f$j g r * g J`$_Nu (f (f` (f ( f INqNuH>$H:,I68|GN f Rk`BI*l g -f*m g:2| bA2;Nn. - fE` -f -g JN+N` - g - g - g`v -g -g -f\JDg` -gX`N -g -f> -g -f. -fj- `` -g -f -gF JN- B@"N mNTJ@f/ p8NmXO`"m NNj+H`pNv*H ,g"@#H`)ME09Bgr`rA+N*p @ Bm .f |g- B 0|b@0;NxrR$xxxxrrxXllxBx,- `Lp+-+@ R+-|# `6Rk0+H+@ ` JDg"`JDg|`|` |- ML|8NuH<$H6*I8GH gx S(h`g(l f|g| fR g ,g JN`2"M0 JN:(HpN !L| l "S!i"S#H`z f|f pNv(H` pN (H S)h S!LC09Bgr`rA)M(p@ BlB 2YAg YAgSAg `, `, LL<NuH8&I8(o$h`|fr *g KN`t g< ,f LNt&B@, TN(H)C ` ,f B@ LN(H%L||fp@`B@ `$j f/ p:NmXOLNu hCN` (fB( |!i h fNuH<&H$I*o86$ g(k`f JN`(l fpN(H +g"@#H`'L'LB(C g. -fB@- UN*H` -f B@ MN*H)MBl|fp@`B@ " g4-HHԂA280(JDgBA-0N*H MNtѫ LL<NuH<$Hv%C&jxK2` f ?p}NmTO(k,HHЀ:5JEg BA0N(H LNtѪpN"K(H((((((8!C R"yH!i"yH#H(" &kRD f|L<8Nu/p=NmXONuHQO6$H&IK*g0" g +f K` f&J|o$|!n J0NXJ@g"K J0NT`(J|;fx`| m|3oBD`0@A800|g0 JN&J@f pANm`np@ j(g p6Nm`Vp*H5ft+H5g|0 JNJ@f(0 KNJ@fzb<<0| |.b @0;Nl<^ * o pTNm`B"J jp;N|XO`tp*H5f pENm`Z ;f,j$j%Nn j,P .f"BB@( VN.p;"JN|XO(H` .f(J` ,f jN(J@g$j%Nn` JNJB"J NN|XO(H` ,f2 j"P jgB@ hN.%H`0<Nn` ;f j`z JNJ@f -g JN&J@f pPNm`P +f((j lB@( jN.,H)Hn` 0fX/j  o hp,N"o#H. i p,N"o#H W(@@"h o!I%I J` g f j( BB@ jN.p,"JN|XO` JN$HB"Jp* yRN|XO`n JNr$H` JNڶ$HB"J jN|XO`Bp*H5g JN؊(H`*p*H5g J0N$` p jN(H/ "J jN|XO`p*H5g0t+H5fp"J KN٠&H/"J jNXO(H`p+H5g"K JN٠$H/"K kNXO(H`vp*H5ggN$Hg*H+HI0_@| b@0;N""&N` JNJ*HJEf8p40g0 f"*g$| g|g| f 0Nm`0Nn ,fCfp"S j PNTJ@f R (f8"k"QpNTJ@f&` f +fr40f|o |gB@`pLNupTNmNuB@(|BA)| ) f ( f@g|g` (f@fpNuB@NuH0&H$I6NJ@fB@`$ S (g "R )fp` 0"R SNTL Nu// $Hp*HC1g j PNt&` jNt&JfpUNm N$HNZ%Hh J$_&Nu// $HAp*H0gH|g&nY@g S@gU@g`r| g|g@|g`\"j&) `>p"j)H0g$j`p"j )H0g($I`$j jNt&JgA$np`B@$_&NuH<*H$I IN&H + JN8J@g(yR` BApN(HBBBAp??? MN"L024NR*H"KpNN*HL<Nu/ / $H&Ip*HA0g I"JNt&H/"J jNXO&H`"K JNV$H/"K kNXO&H Kp+N&H&_$_NuH0$H*HG20HЀ23gBB?02N"H JB@24N$H JL NuH0$H*H|m0G20HЀ23gBB?02N"H JB@24NN$H JL Nu fp@"h) g (gp`B@NuB@Nu/ / $HH|gVnS@gPW@gLS@gHU@gD`N| g<|"g6U@g2W@g`8 *f0&j kNJ@g k NJ@gp`B@` *gp`B@&_$_NuH08$H6 fQAlG|g |g|f *2H牰ec$` *2H牰mo 0<Nn`V0H"3f |%g"|&g0H"3f|'g|$f 0<Nn2 *Nf%@CL NuA4|bxB4; N l(.HNh rҨ €gN$( FNu NurҨ€g.$(FNuNu,rҨ,€g$(,FNu,NuH>$H*I*g6J@fD<g pCNm` 6fBB@ jN.p,"JN|XO$H`: Jp,N$H`,p*HA0g"j Q (g pFNm`0*g&j S(h"L MB@NWj,H f/ p?NmXON``BC+||fv0 nN.&HBBBAp"K JNj$H . g$ yRN,H/"J KNXON$H Jp+N$H *f&j++"J SNV$H JL|NuH>$H*I*g&j ,f"j f )f &S$I j(P`Pp*HA0g$"j Q (f&SBp+ K"JN|XO$H` *gpXNmN``l MNT*H,k3L g/ "M n.HN XO*H`$ f j/0<NnXO` 0<Nn&S/ "J Kp6N|XO$H JL|NuH<6(H$I&o" f` 9f,/ "j L0NXO%H/ "j 0 LNXO%H `*T gf("m JNJ@g4<rbB@"m JN$H`6 g/ /" gpJ`pLNmPO`/ ?9L gpI`pKNm\ORyL`JCf/ gpN`pMNmXO JL<Nu/ / YO.&I$o/ ANXO&H g/ " gpH`pGNmXO KXO&_$_Nu?/ $H09Df N6g j PN."H JN~$_6Nu/ / $H&I gr*HC1 gp%KkH|gZn |b>A2;N4HHHHH4H|-g2n| g*|"g$SAg ` |5gWAg "K jNz"K j Np&_$_Nu?/ $H g * fH|8bA2;Nr jB@(|]@g."j g$ 6gp`8 jN66J@g j N(@gB@` jN6J@g0` j N$_6Nu//p N|XONu g g g g +fpNuB@NuH>YO(H3!R!TK| fjBA|3bRA2;NFpFFFFFFFFFFFFFFFFFFhFFFFFFFFFFFFFFFF@vFF tNrNZ,H g^p+N,H`&NrN6,H g:p,N,H`NrN,H gp(N,H`NrN,H gp;N,H`NrN,H gΓp*N,H`NrN,H gp)N,H`rNrN,H g yRpN&H"Kp NN,H`BA-HN -N,H`-HAN,HNr`N(9NNr<2gB@N*99Og N(BA yV N$HCN ,H-D BB@ yVNp,"NN|XO,H 9HgN`rN`jp2N1` fN LN fB9Mf/ 0<NnXOBC9Lg6<9vg|2"yZp LN LN,HB@|,g:nS@gU@g@|(g`,|-gS@g` Np.N,H` Np/N,H`NrBBBAB@N&H g g phN1`"K NN ,H``NrUf`$BBrB@N&H gr g piN1`b3!R!T"K NN:,H`Nr</g pjN1`23!R!T"m NB@N,H`Nr</g pkN1` 3!R!T"m NpN,H` NXOL|8NuBB2B@NNuH>YO6$H:?BN$HG|I g840PH> 'b|f hg|f gz|f glB@4HJFg\4(H89!R3!Tog:|m4|m.| n| o| f| g | f| f 0<NnCmCf Wg|0fjNrBBrB@N,H gj g p2N1`ZNrBB2,HN*H g>3!T"Mp1 NN,H"Np0 JN$H`Nr420N,H f`l3!T|8fL|f. JN$H NN,H/"Jp9 yRN|XO$H`/"J np8N|XO$H`x"N J0N$H`f JXOL|Nu/ / pN+R$H09g 0<Nm gNz&H g 9|g p2N1`Nr"J KN6&_$_Nu/ / G|2|bA2;N 6^BBBAB@N$H g pmN1`Nr`BBrB@Np$H g gpnN1`XBBrB@NH$H gf g`pWN1`4NrBBrB@N$HB9 hg.p2NmBB@`NBBrB@N$H g poNm`* JN$H g*g f'j` ppNmBp&_$_NuHEH&RK|NrBA0N+J@gJCfBp N &Hr pNl& g @"(g'A R!K$v9Gg KNZ(HN2d g 0<N1NrBA0N+J@f`NhANNr gf gpqNmJCg$ KNļ g LN0TOL<Nu9IgAN hNh0<Nm`~ LN Nl`npxNm` LN/|NrSfxNrN/HB@N&H g&2"o0N:J@mr`BA8 9|f LNNr<SfL<JEfBT`8N/HBAB@N4 oN LN\ oNJEf8`T`JEg8Nh oN` LN/|NrSfNr_g&B@N&H gN20N: 9|f6NNr_gF89ޤ69!RB@N&H g 9|g//p{N1XO` KNr&H`NrUg8>9ޤ>!RB@N/H g 9|f:N/H`BpN $H #N%HN%HBj N/H gN/HBAB@N4 g f "+fBT` oN LN jN /g 2 @0N g& oN20"o KNJ@m5| `BAB@ oN4NF8 #` LNP/|pN $H #N%HN%HBj N/HNN8 LN Nr<Ug p|N1`RNrSfvNr89ޤ69!R# jNB@N&H g2"o0NPJ@m5| Nj8 jN 9|fhNr_g` LNX/|NrSfNrpN $H #N%HN%HBj 8B@N&H gh 9|fN KNr&HBAB@ jN4N/HN LNN# jN20"o KNJ@m5| 8 jN` LNv/|NrSg//pyN1XO`NrB@N&H g4<rb"yRB@NB&H/y 20N 9|g//pzN1XO`dpN $HN%H 9g "@%i`B$Bj #BT LN y (fN"y#HN`0* g8 LN jN# #` LN\Nr_gHy p{N1XO` 9g @"(f pNm`&20 y hN4 y1| ` LNNr_gHyp{N1XO`H 9g @"(f0<Nm`20 y hN4` LNBTNr_gB@N&H g"y )f 0<Nn`"y KNZ&H kNqJ@gXC kN /Hp09!@ "KpN&H20N:C o hN &Hp09'@ 20 KN 9f 0<Nn 9|gHHyp{N1XO`6 y (g 0<Nn` 9f 0<Nn20 yN4`2B@N8` LNLNr</g0<N1`2? y~NZ02N4Nr_gHy!p{N1XOBT`f/y~Nr<f oN[$N8` LNB@ oN&H g"20N: 9|g 0<N18OLr h||4tWB0H|@TO$_Nu/ UO$Hp,?NATO>H|?2t i|AB*pW@TO$_NurN fNu#vNuBAB@N fNu#vNurB@NNuHBC8BE<B@9||E|%b@0;NXR~~~rv^bfjn~~~~~~~~~~~~~~~~~~~~~~~~Lz<<`L<<`F<<`@z`YO<:N6E|Iv f4NrN820N&H g?4rpNTO`B fBNr g20N&H f `HJEn:?ɑBBrpNTO&HBCNr`> /fJEm (Nr`JEo0<N1`?ɑBBrB@NTO&H3!R!T g4 g,0|g"[@g0<Nm`3!R!T glNr*T0N,H( gfBF`*.g$2||g|gJAg 0<Nm|?"N KBBrpNTO&H`0|g[@g 0<NmNr gR.pNJ@f`n( *mecpYNmBg KBB"*pNTO&HNh`? KBBrpNTO&HNr g g KXOL|xNuH>6E| gB@N+J@gp"N&HBBB+BBKpN+R(H gP29g|g0<Nm3 g gN,H g"LN6(H`B/ r09"U KN`XO f,Nr 3fNr|`B@N+J@f`` g0<N1`*k g" m (f"-f$f MNB K`JCf 0<N1`lN8p"N &HBBB+BB /g 0<N1`0BrB@"j KN`XONr g" g0<N1BH`Nr`#AL|Nu?BCB@9||HgS@g`.p@Cg 0<Nm|@`0<Cg 0<Nm|`0`Nr`6NuH86(:(H&IAN (Zg $@!j Z` pNv$H%K%DE%L 5o JL8NuH>(H,IByGBSEN`*l f,H N ,N,H` fP0,J@f" g f0-6K|2[AgSAgSAg`|` |`|(0"l NNt,H`^ f80,|g .g 0<Nm,H2,|A NN,H` 0,@|32,|[Af6)jZ %LZ(M f NL|NufpNuB@Nu#D# ! NuNuH>YOG|9g B9`v(k MK UdRBC`N<640H0||b@0;Nf,BRz>B9~$y! .A!(yBo89BSDm We N<6.` WRBC 40g 40gS*( ! BDg$y! 9|HB9|JCg9~f J0N9:#!(v` _f *_f JNN06g N6`f9gCD JN{Jf Nt6`Bv0 JN9:#!( (g*"@ )f NLJ@g UdRBC`N<6JClr|lp`B@}Dg y!(6( A'HJCfp/```x UdRBD`N<8| f*N UdRBD`N<8| gS`¸|?fp`$S3!R!T??p1NmXO`B@N;J@fB`9frN UdRBC`N<6 40g|/f& UdRBD`N<8|*fNA0`S|#fXpNA`0N8 k Df`< UdRBD`N<8|*g9@g Df`6|=f 97`$S9.`DD UdRBC`N<6A;0@g40HDAAf`|=fA20@`SA)0@`p2`N` UdRBC`N<6|-fp,`|=fp `r|>fp.`dSp`Z UdRBC`N<6 k 00fSp.N80N`|.f. UdRBC`N<6|.g pf. UdRBC`N<6|=fp`0Sp`&Sp%` UdRBC`N<6| f UdRBC`N<6| gSp\N``fN`\ UdRBC`N<6|*f NA0`6Sp/N``(0N``rA`N?J@fph`n UdRBC`N<6|#f4`S! y!  c ( g0<N`p N@`p N`0<N`0N@`XOL|NuH<*HEIDJ@g$D`$DG! SBN,BAJAg<|/g|9g(` MNO6g0<CN`` SN|ѓ`AS$I S!ep"NmB9&L<NuH>E! &RBI*T(DBCM NBA|gfn JAgSAgL`QAgj|'g` RN|(9}g$ Rı!dpD"R RRHN RR0Hђ`RCp(N``JCnx)`$SCp)N``rJCo p,N``bx,`x R!ep"Nm($0L|NuRy!RNu/ / Ez y! NN0|b\@0;NP< B#!N`6r J09!RN{AN<H`p1`G!2p+H2ABCҗ JN| +HH <0@<0f| +HH H@<0@| r A0N{`A!6B@(H <0BA(H HA<0A|:BBH… <0BB@H H@<0@|:BA(H <0ABB(H… HB<0BB*#p"&_$_NuH86$y! IDG0N` SdRBC`N<6 40g 40g#! SLNuH p N@6|g*|(fxp N@6|f`BDAD 00g p2Nm`D$y! 0NV#! JDgp N@6|)gp2NmS JNOJ@gp1`p0LNuH<:BC8EG|0fPp0N` RdRBE`N<:|xg|Xf"0N` RdRBE`N<:|`|`| K|ID0|.|Gb@0;N((((((((@@@@Jd@@@@Jd|fp3Nm`pJCgp]NmJDgp^NmvBF`f|g`JDgp_NmxBF0N` RdRBE`N<:|-g|+f0N` RdRBE`N<: 4Pf 0N``p_Nm`|g`0N`|g| `0N`JCfJDg |`| RdRBE`N<:|ugB|Ug8M!TK!RIGE RdRBC`N<6|gJ| gDCgF|\f RdRBC`N<6| f RdRBC`N<6|f Np`0|7glnB|3gbn | g2|#gPS@gJS@gD`|4g8S@g2S@g,`|a|bt@0;N0BhhhNhhhhhhh<hhhHh6hThZp`6p `0p `*p`$p `p `p ` RdRBC`N<60NpJ@fSpx`BFzN0NPJ@gpC@`0N|@ RdRBC`N<60NpJ@fS|o0<Nn`|RE` RdRBC`N<6| gSN`BFz0HC|<H o<0<NmBF|l$ RdRBC`N<6|0m|7oS0`RE`0L|xNupfNmNuH0E|Bj 9g2&@` gRjB@NRKfB`Rj0Np"N@6R@fL NuA! "P!dR"PBNuYO.f`/pCANXO WNXONuH>(H,I$o6&jH|;b@0;NxxL^rgpCg m  n/* "K jN|XO*HpN , K"V""""/"M T hp8N|XO(`gpCg m  n/* "K jHKL5N|XO*HpN , K"V""""/ "T T hp7N|XO(`t j gh .gb`:/*0C LNlXO`LpCg/* C LpNRXOI,L$Tv`P * g/C L0N.XO *g M$@`*L|NuH>YO$H gg<5gx9gSf yRpN`~ m  oL jN&H%K -g6 j N(H%L KH| |.bD@0;N|^$88::8888888888888888888n888888888888\lf/ "K JN!NXO$H`&f/ "L JN!NXO$H` f%L%K (j &j f ,oN#t6HJgfJop)C|`^ fV ,oNN#t6HJg.Jo8p *H5g()C|` f ,oN#t6HJf B L`Jop *H5gS` ,f kN(J@g&k'jj` +ffBBBAp"j kNB`r. f ,fBBBA"W KpNB`N ,f& f k g f,k ,Ѯ ` g ,f,L(K&N` ;f(l ;f&k%L %Kgf/ "L JN!NXO` f ,fj'j` f ,g ,f k g f$k , `x ,D)@  fr/ "K JN!NXO`T f( +g l`> l `6 f ,f KNҀ&H%Hk` f +f LNҀ(H%H l f g f~H|gDn| gS@g&`|g@|gL`CAN`CAN`CAN`~CAN`l k`b f8 g f,&+ g(,H| |&b@0;NNTZj~L~ք`` "Nz&`Jg "N&`Jf p5Nm`| "N8&`l`dp *H5g $&`L`DƄ`>`8`2JCfp`B@H&` D`F`fp`B@H&`gp`B@H&`p +H5gct`BBH&`иop`B@H&`p +H5gdt`BBH&`lp`B@H&`p +H5get`BBH&`lmp`B@H&`Zp +H5gbt`BBH&`YO$H&I(o H%I%L *k g\ ,gVH@f,l. r+HA0 fp"W)H0g k)k%W %L)N )K` f>j'jp,HA0f m%m%M JN$H'H `, ,f, fL%M %L JNd'H j'j K`*H@g4r-HA0 fv,H0g l'l'L `h,l. W g` ,gZp-HC1gn'n` p+HA0g k)k)K'N )W %L%M `| W f4p+HC1gt-H10g n'n)M` f)W)M LNR%H 'N ` 'N n'n)K)M %L%W JXOL|NuJgBA`RAtĀgJgpNu0NuH>]O&H?@<E| f vBDNr`BCMN+H||b@0;N $ + f.<}`.+ S (g (fZ 2fTzN0*HڀNr<2gx + f B@NRl0<Nm.<}JCg fP`JCfTJFfBxz`BBAB@ SN g6 g g fR f oNr g^ gXn`Rz`Bn0<Nm.<}xBAB@ SN g g f fNrR fNrJDf 0<Nm + f&JFf pUNm`BA+ S N&H`| lt + / SNt" NzN`P. W*hBnBn (fFBAB@ mN gx g g f mNt*JCg f`JCfJFfxz`0. g4`0.HN(0.H=@RnRp0. f2.fBn mN>S@o0 2HN8Jg 0N00H/ 2HN8"ځBA0- mN" gD g g f& mNtڀ f -gNr g g*m f(`z`x0. g4`0.HN(0.H=@RnRp0. m2.fBn mN>S@o0 2HN8Jg 0N00H/ 2HN8"ځBA0- mN< g^ g fF fNr mNtڀ*m g f< g0<N1`NrJDf 0<Nm0. g$`0.HN(0.H=@R0.fBn Wl (N`pN(H g4<rb"SB@NB(H0. fBn=| g 0<Nmp+hS@lt+8ln=oJCgX f>`J0<Nm`DpN(H g*4<rb"KB@NBNsJCg g0<N1`Nr K\OL|Nu?6NNv6Nu/ $H 9 |fNrrB@ JN$_NuH>$H69ޤ89!R&jI|  fNr g 2f +g +fN KNN0:9 KNx&HN g%@`&j*2 C KN *Hp0+@ "Jp KN,H/ "Np KN|XO*H KNt yRN,H/"Mp4 KN|XO*H29!R09ޤN:`` f,NrpN*H g 0<N1`Nr` pN*H"J KpN,H"MN.*H20N:L|8NuH8IE|NlNrJgA!T0!R 4fNl`l f 0<Nm`ZB@N+J@g0pN+R&H g2f8` Tg Tf0<Nm`8 gBvr K0N2N`TLNur0AҾ0f|/f y~N g (fpNuB@NuH<]O?@BC?C><>8GBSI|BEB@|/|.b @0;N^t0N>8vbD0g 0<Nm6`0g 0<Nm6`0g 0<Nm6`~0g 0<Nm6`h ofV0g 0<Nm6`Hp@Dg 0<Nm|@`00<Dg 0<Nm|`JGg 0<Nm~`JGg 0<Nm~`>`|`v`?|`JGg 0<Nm~`JGg 0<Nm~ `JGg 0<Nm~ `JGg 0<NmN0D*H g>~`BJGg 0<NmpN.*H g`"JGg 0<NmpN.*H f`F~Nh`*JGf lN g (f~$h`NhzNr3!R!TJEgJFg0f 0/gJCg 0<Nm0R@|b@0;Nl*HT\\JCg~`0/f|9:gr`JFgj~ `dJFg^~`Z2 M0NL$H`JJDgFB@*D JN$H`2JFgJCg~ `&JFg~`0gJCg~`0g~` JCg~`~ f 20N$H J\OL<69ޤ89!RE:G|Nr</f (kNr` fZ420 LNV*H`*pN2,H0g 0<Nm g "M NN/ gNr]gfNr MNZ`0 g LNV*H f42 L0NV*H` 0<N14 ML|xNuH<(H&IE| f NrpNJ@gZ0* KNZ `LB@N@*H g^"LN6*H fNrpNJ@g<6*`BC/ 0"K yNXNXO f Nr`z g 0<N1L<NuH>69ޤ89!RI|Nr</f *lNr` f42p MNV,HBApNL$HBE` /f*lNr  fNrpN:, 9HgBA"J Mp N&H`BA"Jp MN&H0H'@ 7y!R7yޤ9Gg// "N MB@NXNXO!_ RE f Nr]fd f,Nr`2 g MNV,H f 42 MpNV,H`0<N1` NL|8NuH88E!RG!T6BC9|I/0NmXO9g` NrBCJCg|hf`|ff`||f>xNrBC6JCgh|fSDJDo2`|fRD`ض|2fNN`Ķ|2f NNNrBC6JCg|g|f|fNhLNu/ / pN$H gUO>&H>|fx@>`BDKE|:9!R<9ޤ0N@(H g g g  f f LNFJ@gp9Nm f&yR"K LN6(H ,f 9HfJGg fN8 ,f Wgv `6|g | g|f Ug 0f 9Lg||g| f0-f ,f&r,g|`0-g ,g 0<Nm 9Hg&JGg"20N t?42 L0/N5TO`|g |g|f g f LNtJfpUNm 9Hg2"L m0N,H`2"L0 mN,H=E=F 0fpNJ@g-j |g|g|g|f gl gfJGf|g  fֶ|f|N nNN0 NNf nN((H|fN g-@.2 `l|gfp. f^N nNN0 NNf nNtN. `(|g|f  f NN)` g f f Nr`H g 0<NB@`pTOL|NuH>YO.8:|g | g|fv `v I2"W0 lN&H7E7o()H "W)Q6#Ha#!VN< W (f",tgE`zB@9|NJ@gHpN,H g\2g|g0<Nm4 g: N0N8|J@f,BHB!VB@`>0<N 9|fNh`Nr9|g[f|*lt MN2 k$h g/-"j KN7XO` W*h g MNF)m>`B> l "h,Q NNqJ@gN9y0 NNtN9Gg yHNZ$HrpN69Gg JN l,NN[ Wh;JCg. ,6g"@ )g 0<Nn` ,:f 0<NnNB!VapXOL|8NuH>YO.,I$o I2`n&j+HHЀ64JCg2BA+0N*HB@"nNTJ@f0+HA\0fB@"n KNTJ@f /pLNmXO$j,n g"f< W"h)f" f gp!NmXOL|NuH<6$HK|IB@N@&H gJ"JN6&H +f B@N&H/ 0"T lNXO fNr` g 0<NB@`pL<Nu/ 9Hg 0<Nm`,ErRp JNlN%H,By#HBt$_NuH8$H6HrCt42(HAHHB|2IG`I"Jff`2g&H S fpCNv"H&BBBBi If ILNu// $Hf&|0 JNl$_&Nu#p0("h#r2("h#Nu/ / C g$y&@7J!Q "p0("h#r2($h#&_$_NuH8$HB@Nv6J@lB@`0<N&H0BkC'IBkI!N'T7y!R7yޤ'y KNT#B JN|R@N("JN|<  TN H3ޤBy!RANNYOIE R0X@gS@gS@g~S@gJ"< R h"R0Nw6J@o. R1C R1| R"hRI)I"h("hB@` R1| R1| R!|^)|_(`p `p,R TBCfL&n g"SC.'i#@ n N &n g-k KN`-yV #V`*TRM0|gxS@gS@g`xBCB9~B9|`BC0<Cg|mpNmSM`|&n|`&kSC|o f g A#` #`v"`DBC|`8|&n|`&kSC|o f g AN` A`NBC-Mf)M MN*HBn=Hf(JCg0`" yZN`p` ldRB@XOL|NuH8$H:HNI 9g&@`HNRKfHNB`Z|\fH TdRBD`N8| gp\N`6 TdRBD`Np8| gSN`H@f0Np`H0N TdRBD`N68|g| f|JEg<"f p,Nm`p-NmSB@L8NuNuH06GE|/f( RdRB@`N<|*fNA0`Sp/`4| g| g | g| f RdRBC`N<6`0L NuH06EG`|/f& RdRB@`N<|*fNA0`JS`F|\f" RdRB@`N<| f&N`|"g|'fBAA N?J@g& RdRBC`N<6|g| flSL NuH8E!R6BDIG SdRBE`N<:0| g(| g |gN[@g `A!T0?p0NmTO`XN`9;g SdRBE`N<:|*fRD`~ SdRBE`N<:|/fSDJDlXL8NuH<8p N@6GzK| g|fBy| f`~(K` UdRBC`N<60N>J@fB3!R!T0N@6Eb`:"K RN{Jf(JDg3!R!T0 jN`6*H3S`&E eByHSpNmXO0N@|L<NuH 6|-g|+g|.f~8p N@6N>J@gf0NKR6B@ApCzE0`>f4)(f*)(f |.f`|+f`B2XHR@f fHypNmXO0LNuH0O6ACrQN>J@g<0NKRN@6EGz`"j KN{Jf 0 RN6`PJ *f0N@|OL NuH06E #! BG`"0N` SdRBC`N<6|g| fHRpNm^XOL NuH86E #! G|`x"0N` SdRBC`N<6|g | gCfθCf 0N`v #! 0N@|` SpN NE&HN|I "g g pNm`HBRK KN|e pNm`pIz"K LN|<|"f.C JN|<"L JN{ JN:PJ@g JNL`,NfJ@f LN:PJ@fHTp NmXO` LNLLNu/ E JN|A`SHe  g  g  gB( J`RH  g  g$_NuHJ@f|_g p#Nm`0NKR: JNN0J@gp#Nm"JAN|<||(gS`BF(Kp N@:|)fB@N `0N>J@f|_g p$Nm`\0NKR: JN||N*HB"JAN|< g)M`&MRF(M0N@:|)g&|,gp%Nm0N@|`rp N@:`rp N@:S# ! y! B KB@N (k KN&L fNR*HN|A B420"MANNOLJ@f|_gp&Nm0N@|`00NKRN@|Ez JNN0J@gp&Nm JNOp$_6Nu?6pN 1C1y!R#6Nu?6SpN6SJ@g"9~f&BApNK yfpN` y fpN6Nu?6N>J@f|_gp(Nm0N@|`0NKRN@|AzNOJ@gpN:`rpNK yfpN6Nu?6N>J@f|_gp)Nm0N@|`0NKRN@|AzNOJ@fpN`rpNK yfpN6NuH06E g* @ hf 0N@|BAB@NK&R$ KN`0N@|p*NmL NuH06E *g: @ hf00N@|rpNK R g Rg&j%S KN`0N@|p'NmL Nu?/ 6A g$@ JN`p+Nm0N@|$_6NuH8OE #! SB@N #! Nb$HBC`0HC@HA|6RJHNPJ@f`RJ  gg JN|G "f "gHy,pNmXO`xRJBCp JNI!NfC Tp N"JAN{` "JAN|< TNAN|R@N(CN|69!RBDIGE RdRB@`NYO y!($h * gZBp N@6< g<(g SB@`* H,y! N 6`RN  gf&<)f JDg RNN"Hj JN<XO` NN|K`SMb  gB-JDf RNN"`v NN||N&H"NAN|< g)K`.B(KSD<,f,y! N 6`RN  g`~JDg RNN"Hj"o JN<XOpXOL|Nu/p/NmXONu/ / $H _f~ *_ftTJG6"K JN{Jf 99gp`RC JN{Jfp`>C JN{Jfp`*C JN{Jfp`C JN{Jfp`B@&_$_NuH<*H(I68:N9$H&j gH +f@C LN{Jf + H@g"%k KN&j/ 0<NnXO` K`B LN||N*H"LAN|<%MA*+KC |;D ;E ML<8Nu/ $HN9$h g *f!j JN$_Nu/ $HNN0J@gp` JN9 h g (fp`B@$_Nu// $Hv`"y! ANPJ@f RC$j f g0`B@$_&Nu/ B@E4`gB@`g R@RHRIjmp$_NuH4YO$HKN9Pf&J` f pNv'H&k f`fAB0*gA!T02*0*N6H| b0@0;N8Vdr|N|.ANS WNYH`N|.ANS WN` jNx` jN`|,`B-,` JN` jN`N|.ANS"j WN_F`fN|.ANS"j WN_b`F JNRANS JN?`*N| j0*NQ`N| j0*NRb$j fXOL,NuH08$H" gh *g *f * gZvj` *fv`vtBNY&H'J|g * ѫ 0 KN^PNt5D* 0N~L Nu?6"g t( g( (f (H1B0N~6NuH0OB@"h` 2I/"QR@" fB@`:r@`,4J$w 4*6K$w0jo4J&w / /0RAhmR@hm0(`2I$w$"wS@J@f!I0(H!w OL Nu/ / $H"j i&hANS * g A NSp" g+gB@ k`R@ h"f j@&_$_NuH0$P g *fHSAg,]Ag|$gf| g`P j ( Ѫ ` JNd`&j +fA^ +fC4`Ch%I + Ѫ `` * gA NtANl`F*HHЀAp"jiB*H| g`n"|b4@0;N(@((d|,| b@0;Ndp JNYB` 9й%@ `&j+ H| Y@f"p0+%@ `zAN`ANA N j h`PANjA Nb jh`2ANL jN(J@f y`B*` JN f j (f |`|`AN * gA N JNVl6 jNVl8 j(HN: .g /fC -g\ * gV @NVl< j (HN>D2FAl`0FCo2`20Eo`20Go`20@Eo`,Co`D@`Ef m !o *D@L Nu/ $H *n&HH"牒ҁ*HHҀC1H`p$_Nu/ "yH`$i` g$R f"Q f$yp` f J`$R f$_NuH8&H68:"9Hg$A`Eh g0(j`& f,H@f",g8/ p=NmXO`*(T fp"Nv(Hr"pNl()K %LC9D9E LL8NuH(YO$H6" g"i` f I`X"i fB(yH`HW"J LNWXOJ@g2(T fHW"JAhNWXOJ@g gJCf/ 0<NnXO WXOLNuH<(I*o$h`L&j`@f8 f*`0 U ( f"k hB@NTJ@f/ p;NmXOB@`&k f$R fpL<NuH<(H$I*o8&j`f/ p=NmXO`&k fpNv&H *g*"@ i (fNtJfpUNm j!K`%K%KB&| 'M *f&* */ MN2H N8Ѫ|fBDJDf:*g97g49xHժ`R'j MNtѪB*`*HD|o97g49xHժ`RB*'j BB M*0N*H'H*97f* *o"*HIt4ժ*HHH@@oRp[Nm`HB JDf MNto2`$BB M*0N*H'H09xHo MNt%@ KL<NuC4J@f(g0)g"29xHӨ`(H@|o)fRB(()f* (o"(HIt4ը(HHH@@Nu/ $H*oB@N| *f0<Nn%|97g R%j$_Nu/ / &H$y`g*$R fp N $H #%KN%H j&_$_Nu/ / &H$y`"f j ( g:/ p=NmXO`.$R fp N $H #%KN%H j&_$_Nu/ / E&j(`" k ( f"jHg/+p>NmXO&S f&_$_NuH>YOBy!,&y`.H|b@0;N J KN_(J@fz KNc*H g g"-gNcR.`g +gD @Nc*H f"mg K"MNc*k mfg "M KNb`$k`j(j LNc*H fSl(m%LRl` fSl(M%LRm3!,fSl g,`'RSk3!,`,J$R f kNc*H f"kgSi'm"kRi` f kSh'MRm3!,0+f8pN (H*k)MSmN^"K LNcB3!,` KNc*H g g"-gNcR.` KNc*Hf'kB3!,Sm` f"M KNb. +g @Nc*H f"mg K"MNc*`b f\ kSh'MRm`D09!.f2+b KNcR`00+c" KNc*H g f"M KN^.` KN_&W fN29!,f4XOL|NuH<$H*I&j`"(k KN_ 'M KN^3!,&LfL<Nu/ "h f !H!H`Ri!i$i%H#H!I$_Nu"hSi"h#h"h#hNuH>YO$HNd&H gn(j`d. LNd,H gP"N KN`>J@gB NNd*H JN KNcR g gN*H"n Nc%M JN:p`(WfB@XOL|NuH>YO.Nd&H gn"W(i`b*l LNd,H gN"N KN`>J@g@ KNd$H LN NNcR g gN$H"k Nc)J LN`(MfXOL|NuH8&H$IfH|b@0;Nh*||h kfd"j kN`6`N0+jfH kf>"k j`0)hf*(if "Q P g"f"j kN`60`B@LNu/ / $H&I f" fp`B@`" gf*+f j("k)fpH|g$nSAgSAg8SAgH`_AgUAgV|$gT`~ jf * fp`B@` *fp`B@`rB@`23gB@`^R@| mp`R* + f* + f"k jNJ@gp`B@`&"k jNJ@g"k j NJ@gp`B@&_$_NuHNmNuH>(H*IE!F&R`"C LN{Jf/ 0<NnXO`j&S f LN|? MN|_^@Nv&HM"L NN|< NN|R"M NN|"PB` $i#P "J fG"SB` $i#S&"J f&_$_NuC!>NfzNuH<$H*I&H`0RKg<;fgBp Nv(H JNgP)H)U*$KfL<NuH8$y!>G Iz`*"j KN|<"L KN{ KN:PJ@gp` $j fB@LNu/ / $y!F`,G4<2XLSCJCo T -g** * * * * * *B@OLHj/ pNmPOp`40+J@gS@g`$ *-f kB` k` "L JNjTB@LNuH<$HH =fRJG40|8|-b @0;NZ2B\ -fBDRJ` +fRJxKpf(M`DXLf` JN}~(M`PH?HN2@f8*H?,HN2@f*H?,HN2@fDXLf`$ JN|R@Nv'H""JN|<` JN|R@Nv'H&"JN|<` -g|!` -fB+!`|!`(JKP` =fB*J`RJf"M LNeN` JNe` JNfl'|y.`r JNz6J@o|~ov~7C`T JNz7@ `F JNz7@ `8 JN|R@Nv'H6"JN|<`|` -fB+`|L<NuA|NONuNuA݄NONuH8&H(I6Eݐ09ݎf9Qf JNo KNoG!N g* @N}~/ANoXO0+g?ANoTOA No"L0HA pNo +g/AvNoXO JNoLNu?/ 6E "J/ Y@lAp`A"_0N0Ry݌Ryݎ|lp`pHANoL$_6NuH06EG0"J KNA݌RPRhC40) gPo 0) g hn0<"J KNpANoLNlL Nu/ A0(hgXE"JAN|Ryݎ09@g429ݎy݌An$"JA0<NNRy݌pANoLNl$_NuA(p"@ "ByݲA1B3ݲ3ݴO"Nu/ Hz?<&NN\O$_Nu@TXJ? ?ry@ڢ!h5?ڢ!h5?ڢ!h5?@@NaN-INF+INF(C)Xmath by d'ART"_HpNLJ@fpNH:v(Se:*g6$H&I(o(,܄ "a6M J"NNJ@gj(Se `&Rcґ` NL\Nu/YOM,C Hza^XOXO,_NuH@B@H@CraRJ@kNu.Vp`/YOM,Hza(XOXO,_NuH@B@H@CraJ@kNu.Vp`H8]O$H&I(o&BCx%p JR@g2fJ@g@HNBEg>BA< <b;k`|<*f<`&<0< b ACp a $Wb<gt<.f6<*f4`$<0< b ACp a $Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA a A pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 H:$H&I(S&gfJg^+g`)ft,k x$ڹd SfRe`.&// Ka~$"J@k,f4(SSfRf& L\Nu3 4p`"`&x,A'J'JE8'J & KaJ@kfRf"`H&H(k6+"+g0Dta,Jk+fZ"S"L Ip gSj`*| // " 0a"_"JkNgPAp SjH@" 0aLJk*g,`0" LaJkg&'LB@LNup`p`0<a`H06&Hp Cgp@CfFpC?/ ?<=NAPOJk&8jaTpCgF?<?p/?<BNAO Jj.`Br߲fNAXONua:34p`ް|c/ ??<>NAXO$_JkpNua34pNu/ /?<ANA\OJkp$_Nua34p$_Nu/ J@f//aJ@fBg`//??<?NAO $_JkNu  _`a34pNuH&Hx&SgkJ9tkvf~a<g&< g<<gP< g< e޸dRa`JgSSKpap apa`Rp atp a`bJg^t`TxB9t`Jx B9t`tp a2 L$_NuBx`xB9t`x B9t`?<NATONu??<NAXONuH@??<@NAO $_JkfNuaZ34pNu34Nu/ |b2@?? /?<BNAO JjfSBg jX?<? p/?<BNAO Jk$`X?<? p/?<BNAO JkzЁ"kt?<? p/?<BNAO Jk\$`?<? p/?<BNAO Jk@$Ҁk: $k2HzN <e/`/? ?<@NAO Jkb $_Nua`34p$_Nu0<`H 6?<?B?<BNAO (Bg?/<?<BNAO *Bg?/?<BNAO JWHL8NuD@| |"b;NupNu   ??B@C gJ1kB@BA< C (<-Wg<+fg"1bAg1b @8@@D`JgD@86Nu//O4UB|"bBJ@j < fD@-CtH@B@H@&HC;0(RBH@B@H@fQBO _&Nu3!4`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ JgJgJgJgJg JgJgJfSHggggg ggf @NugHf8g@f0g8f(g0f g(fg fgfgg!epNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNuH0$H|g|$bGrtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G z3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"4p` 3!4p& g"`"CB@f ANu//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!4`0123456789abcdefghijklmnopqrstuvwxyzH &/?<HNA\OJf 9!Zg @ NJ@fp @LNuH0&gPR<e a g!CCv "A`rGz&S f. < a gj&@Ap !| 'H&z#zA"P` )d I"Q f`rd ` #@#C"nAL Nuk |`3 4`/ oLQ d nf@axJg*`6Cv g,g"@ f` "/?<INA\OJj`p$_Nugp`/ &yv g/ &S?<INA\O`&yz g/ &S?<INA\O`&_NuH8$< CGz g" c &@ f`(@ ,gb*"Ҩeg ` )H`p"@")Ө )H`>"@ gb" ҩeg`N"(ө`" "H" ҩf @"(ө" l eb&/ ?<INA\OJfQLNuP`Jg/bg2 4gf!Sf`f`!Sg"gH?LxH?LxH?LxH?Lx`H?Lx8H?LxH?LxH?LxH?LxH?LxpH?LxHH?Lx H?LH?SfvLx2|HgS@!!Q|gSA!Q`2 4gfSf`f`S"gH?LxHxLxHx(LxHxPLxHxxLxHxLxHxLxHxLxHxLxHx@LxHxhLxHxLxHxLHSfxLx2|HgS@ Q|gSAQ _Nu/$gSe40HB4 gxH_>"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQ _Nu|Al0|Nu|AZ0| Nu<0< SHNu|A:0|Nu|A(0|NuBAA0NuBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#J@kNuD@NuJkNuDNu$HBJBf$HBJBfNuHBЂNuHBЂNu$HBJBf($HBJBf H@B@H@NuB@H@HB0@0H@0H@Nu AH@r2B@tЀӁd҈рӁQF@Nu$HBJBf"$HBJBfB@H@NuB@H@HB0B@H@Nu A"B@H@HABAtҁрdЈӁрQNu$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu"@$jDJjD$HBJBf.$HBJBfB@H@$ jDNuB@H@HB0B@H@$ jDNu A"B@H@HABAtҁрdЈӁрQ$ jDNu"oHQaXONuH|~trp  g  g -Wg +f 0m 9oX .ghg If Nf Ffp`p o0 ]H` 0m 9n @la`RF` .f 0m 9n @laSF`G EfJDg"LUR@JDfJEj&zRӅdR@`JfJf BYBBTO`.a 2""//?A0aNC o$aO JgPLNuԂӁ@*(6ԂӁ@ԂӁ@ԅӄCvG0ԇӃCNu o?jD@ @c0<?>@2AA@AC,0 ]HOgCbC OdaZJGf>J_kdNu?@@@@ @@P@$@@ @4ɿ@iŭ+p@xIϦAGɀCQ~ގFMHvuu Z;]=]u%`R 4CG?/p<6>܇׀HAHBHDHE>܇׀?<BCHCHF.HG܇׀.HG܇׀.HG܇׀.HG܇׀.HGև.HGևр?<6HCHFp>܇׀>܇׀>և(".Jkއ9ݳgJg j c a0JfJg9ݳg9ݳfJkt`Jk`h/"HA.HGpށ@H@HG0BGHBHE2tށـׂ݂p"Jk އل݆׃SANu b c0a b f$JfgJk؄݆׃SAR׀fRA` Jk؄݆׃SA Ae "$Hza` ҁQ !1LNudivCA/ / ? AaA0 ]HNu4CG?bfb RGd6|/|$F,HF.h.BGHG҇~`"BAHA,HFpHAHB024 6<?~Gj SWԅӄGd, Q,HF.h.BGHG҇~HA`"BAHB02BB6|FjSG҄FdHG>HG9ݳf,⎜bHFRFkHz``, c9ݳg~9ݳfJkb`lJkf`X//&HC0BCHCH@B@4rЂׁ"$dSGԅӄNu9ݳf╚kfg` JfJg`,HFRdR`,HF  @c"$Hza` ЀP !1L Numod42<@H@J@fAH@ @bQA @bYA @?bUAJ@kSAH@AԂQ0 B]HNu/ aB$_Nu/ a<|$_Nu/ a^|$_Nu/ a|$_Nu/ $oa|$_Nup r"HVFAJ)gJfSI!gB)JAgCfNuBNu .fRI$IpJWF@g<cp$HrJWFA|?bSJ *.g *:g~ *\gvSg@`Sgl *.gd *:g\ *\gT`V *.gNSg *.gBSg *.g6A|>b&.fg<a<b<@`QNupNupNupNuHO&H(I*Iv?Jg +:f <RK`?<NATO<AUB|\p.gfg fRgSK KpJWF@@kf:`\B@<@?Ho?<GNAPOApJWF@FBR@JgSHS@gRS@ fSgJ@f`BB(R@@k<:AfSLfg<a<b<@`QOL8xNup`p`HB<g$I&HvJWSKFCgBBBDBE (:ftg<#<\g0R<.gSf`"Sg #<\g<.gRSg#<\g`8BEBDEJgfTH`JCgfA0` SCQJDgfA@` SDQJEgg SEQBg<a<b<@`LNuH&H(I*Jv?g :gP`<TK \gg :gP` <UCgJkJj?<NATO<AfBr\t.gfg fRgSK KtJWFBBk LtJWFBfJgJ`rSHJg"(fSHSBg`SBg fSg`Sg`LRBBkBJgSBQ -\gSCk*\fg<a<b<B`QL8Nup`p`    _StkLim_StkOver0''''000''0*,,,0%0%!!!!000!!0!00000000((((((((((0((((((((''''000''0*,,,0000000000000000000000''''000''0*,,,0%0%''''000''0*,,,0%0%00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000""""000""0"###000$00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 0 0 0 0 0000000000000000000 0 ))))000))0+,,,000&//////////0////////0000000000000000000000000000000000000000 00000000000000000000 0 0 $$$$$$$$$$0$$$$$$$$00 0 0 0000 000$0----000--0-...0000000000000000000000000000000000000000000000000000000000 0 00000000000000000                 Ā ǀ ʀ ̀ Ѐ Ӏ րڀހ@@@@@@@@@@ @@'""''"" !!'''' --6=;86=;8%,29@GNU\c???wwwwlllllsdx D0D1D2D3D4D5D6D7A0A1A2A3A4A5A6A7FP0FP1FP2FP3FP4FP5FP6FP7FP8FP9FPAFPBFPCFPDFPE_lmul_ulmul_ldiv_uldiv_lmod_ulmod_zzadd_zzcmp_zzdiv_zzcnv_zzmul_zzneg_zzsub0123456789 Output file : %s Text segment size : Number of lines : Data segment size : Number of symbols : Bss segment size :%d Error(s) %d Warning(s) FGHIJKLMNOPQR'S2T<UFVRW[XgYpZ{[\]^_`abcde__FABS____FACOS____FASIN____FATAN____FATANH____FCOS____FCOSH____FETOX____FETOXM1____FGETEXP____FGETMAN____FINT____FINTRZ____FLOG10____FLOG2____FLOGN____FLOGNP1____FMOD____FMOVECR____FREM____FSCALE____FSGLDIV____FSGLMUL____FSIN____FSINH____FSQRT____FTAN____FTANH____FTENTOX____FTWOTOX____FGETCONTROL____FSETCONTROL__     ;gfnmlogfbedcPB Q HNN1NPHpDFH@NsNuQH@N@JNXINt"8 #(: !\%&$' @@@@@0000 0 .O__TURBOC__0x250__PUREC____TOS__1__68881__#"'&%$"#%$'& !!!! @RRRBBB7RRC0000000 0 @    8 ! 0132"#%$'&IfForDo-whileWhileSwitchBreakContinueReturnGoto$*$*$*TURBOCLNMRNVPZO_icKijmErJ|FH]ICD9Y\:Z[V@S6?TQR<>8X;*5A#W*71B9=?UH4 v_cs_ds_es_seg_sscdeclfarhugeinterruptnearpascalconstsignedvolatileenumvoidautobreakcasecharcontinuedefaultdodoubleelseexternfloatforgotoifintlongregisterreturnshortsizeofstaticstructswitchtypedefunionunsignedwhile.C*** %d errors in Compile *** Fatal in function %sWarningError0Ml>z’¥ 2WkÌú5PiĄĠĹ1fńŖŪŻ;Pf{ƑƦƼ 'EY}ǘǻ7WoȍȲ@Tvɋɠɵ3F^~ʞŖʾ0H[p˂˙˯(7Pj̧́̐̾ .K_z͚Ͱ2I_xΑι .I~^ʞnϒϨϹ *PwЖдA_xyїѽ#OwstramprptaptcptrngzstclndefaususevoiretrvlsussigrcheffparambpiastvstuasmdupascpronoducppromltmltstkIrreducible expression treeRegister allocation failureBad call of in-line functionUnable to open input file '%s'Unable to create output file '%s'Out of memoryError writing output fileError directive: %sNo file names givenUnable to create turboc.$lnToo much global data defined in fileUnable to execute command '%s'May only compile one file when an output file name is givenIncorrect %s option: %sFile name too longUnexpected end of file in conditional started on line %d# operator not followed by macro argument nameUnknown preprocessor directive: '%s'Bad file name format in %s directiveNo file name endingUnable to open include file '%s'Mismatched number of parameters in definitionMacro expansion too longDefine directive needs an identifierMacro argument syntax errorInvalid macro argument separatorBad undef directive syntaxMisplaced elif directiveBad ifdef directive syntaxBad ifndef directive syntaxMisplaced else directiveMisplaced endif directiveUnterminated stringUnterminated character constantWrong number of arguments in call of '%s'Unexpected end of file in comment started on line %dIllegal character '%c' (0x%x)Expression syntaxIllegal octal digitDivision by zeroCannot modify a const objectNot an allowed typeType mismatch in redeclaration of '%s'Declaration needs type or storage class'%s' not an argumentAmbiguous symbol '%s'Two consecutive dotsRedeclaration of '%s'Undefined label '%s'Undefined symbol '%s'Improper use of a typedef symbolLvalue requiredIllegal use of floating pointIllegal structure operationToo much code defined in fileInvalid indirectionPointer required on left side of ->Too few parameters in callToo few parameters in call to '%s'Type mismatch in parameter %d in call to '%s'Type mismatch in parameter '%s' in call to '%s'Type mismatch in parameter %dType mismatch in parameter '%s'Extra parameter in callExtra parameter in call to %sMust take address of memory locationInvalid pointer additionIllegal use of pointerIllegal pointer subtractionIncompatible type conversionSize of structure or array not knownMust be addressableEnumeration constant syntax errorCall of non-functionArray size too largeToo much auto memoryStructure size too largeFunction doesn't take a variable number of argumentsToo many decimal pointsMisplaced decimal pointToo many exponentsIncorrect number formatNon-portable pointer assignmentNon-portable pointer conversionNon-portable pointer comparisonCharacter constant too longUnterminated string or character constantPC relative overflowSubscripting missing ]Function call missing )Invalid use of dotInvalid use of arrowCast syntax errorArray bounds missing ]Bit field size syntaxCase statement missing :Constant expression requiredCompound statement missing }Case outside of switchDuplicate caseToo many casesIncorrect use of defaultDefault outside of switchToo many default casesMisplaced else%s statement missing (%s statement missing )%s statement missing ;Do statement must have whileArgument %d missing nameMisplaced breakMisplaced continueGoto statement missing labelStatement missing ;Incompatible storage classStructure or union syntax errorDeclaration missing ;Enum syntax errorDeclaration syntax errorFunction definition out of placeNumeric constant too largeArgument list syntax errorIllegal initializationToo many initializersInitializer syntax errorUndefined structure '%s'Too many storage classes in declarationConflicting type modifiersToo many types in declarationCould not find file '%s'Too many error or warning messages'%s' not part of structureSuperfluous & with function or arrayConstant out of range in comparisonZero length structureConstant is longPossible use of '%s' before definition'%s' is assigned a value which is never used'%s' declared but never usedVoid functions may not return a valueBoth return and return of a value usedFunction should return a valueSuspicious pointer conversionConversion may lose significant digitsUnreachable codeCode has no effectParameter '%s' is never usedAmbiguous operators need parenthesesPossibly incorrect assignmentStructure passed by valueUnknown assembler instructionRedefinition of '%s' is not identicalRestarting compile using assemblyCall to function with no prototypeNo declaration for function '%s'Mixing pointers to signed and unsigned charCall to function '%s' with no prototypeHexadecimal constant too largeJanFebMarAprMayJunJulAugSepOctNovDec @@@ @( # "!+ ")defined F C CDPG H.HHIX! I&J , J>B1definepragmaerrorincludeundefififdefifndefelseelifendiflinewarnSTDC__FILE__LINE__DATE__TIME__ PCC Pure C Compiler Pure Software Munich Distributed under License of Borland (Germany) GmbH Copyright 1988, 1990 Borland International Inc. All rights reserved Version Sep 20 1991 Available memory %ld Usage: PCC [options] file[s] -2 Generate 68020 code -N Output file directory -8 Generate 68881 code -O Output file name -A ANSI keywords only -P Use absolute calls -B Generate DRI-Object -Q Use pascal calling -C Allow nested comments -R No register variables -Dxxx Define macro -S Standard stack frames -Ennn Stop after N errors -T Stack checking -Fnnn Stop after N warnings -U Undefine a macro -G Size optimization -V Verbose message output -H Use cdecl calling -W Enable all warnings -Ixxx Include files directory -Wxxx Enable warning xxx -J No jump optimization -W-xxx Disable warning xxx -K Default char is unsigned -X Generate underbars -Lnnn Maximum identifier length -Y Add debug information -M No string merging -Z No register load optimization %s\~PPP2688A9BnC;DEFGIHIJJK:LMONOPTQRSMTFUVQWXSYGZKcommand linePCC.CFGconfiguration fileggetasmdoasmx %s %d: r    "( <" T@:D D V4" X, H Rr  $6&&&. >"     D  "&  z Jfr$( > J0@$"  &,        &     .F b" B D ^ &$ (   ,           J& *  B     "4( "  .      *$    *$      08 ,         *  .$.6    x     0 \             "  2    , 6H6    "   D     R * $  @ dD0 &6*,,$^B<. , rH$   , 4 ""$2 .  $ @  & f^ 4  ,p ^      \    H $>$ &6      \R8 " "D: &. z(.rR .F0 H0Zjb$&"hZ~(B2> "* 280(&"    6 P^ > ( 0*      4"0 D&  $ P$fTpnT&JX4V"N$`$4(,0$$:$"*6   z  D&r.R6dB@  &864::2  (,  &,     :6 r2J<. $"  &"Z.B".R   4* : &* "  ,",:  0  0 8   " T *,",(p&^ 8F $4 8 h4 ( T &@"" LZ:  6 (0JD  " ",R$ < "8        F $             @     \@      < *$ $ "   "   &                                                       (  ,(L $::F >  &: z$  $26"D " & j  ,  dP@B62&*H6P   "   &(<(  ".  ."   \$8   4  (       *  $6*$Db 2> T @D.R,<*<*&8 4B @ (& .* Jf 4 & t @<vN0 " j2 Q>EQRIA#QbNw*Qr3v`Q~QL"Q^LQULQNxQN:<QUQ`SDd``[>>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@#[3[ k #[ Ј<.@#[Jy[g<"@(I$k,"Jf"JfB// ?<?<JNAO A6<HCBB`6 !jBJ)gHiRC` "fSI "WSAkHiRCBSQJ)gHiRCHy`$ON90 J"LN? 9SFg @N 9SJg @NNI?<LNAH0&IEvր`(* "KANpЄpЪe gL NuHO&H(ICpNPFf"KANDCS^ANC`"KANDB@AN?6J@lAp N+tr0NBB(Jl0N@LAp N+vBBr0NB$Jg0N@0Ap N+ZpЄNF^&H f0N@pN+>&\#\"A0N@Dg0N?ApN+0N?J@gAp N+(AOPLNuH0$HB@N?6J@l Jp N*tr0NA(Jl Jp N*BBr0NAnJg Jp N*pЄN'\&H"0N?g JpN*0N?TJ@g Jp N*zB3H KL Nu/ / $y\` &R JNN$K fB\&_$_Nu/ / YO$HN+jC JNV&H Pef "JN`. S`f "J KN ` Nf "J KN` JB@N)XO&_$_NuH0$H&Iv $fNRJHNIJ@f2`J &HNIJ@gH|Hր`HNI|HրHNIJ@f`2HNIbJ@fp`& ЃЀ&H|HցHNIN`(R`&l -f KN(T fNZ(R`&l -g KNN#(T fN(pNHb c(pjU@f A N`A NDN<."*¼g AN`N:N @NL0*OLNuH0$H&(&IpN R!J!C!Dk B(B"k"'HL Nu"g!@ \Dc (b#\DNuH0$H6B@HмN&HC JNC BBA'HA\40H"p"! KL NuH068G\$|f 0H s`Lk,cB@N"p0 k$$pg$4J"s &Q`C JNJ@g K`&S f0 JNFL NuH &<(\XcpN$H r@$5BpNr$HD5F#\XLxNu/&\Xc*pNB r@$1B ѹ\X&NuH8EG&BDI\R`:pE|b@0;N:*pE|bp@0;Nf0B^P4r N|`H4,r N|`64,r N؈|`$4Jr N`4Jr N`B@N!:TJT`N4r N|`>4,r N|`,4,r Nz|`4Jr Nh` 4Jr NZTJTb0L8NuH.BE`09\PE2AA\R1RE|cy\Pd00-|/|"f""- f rND3\R4r N`h49\Rr N`\"-  oN @(- 0-| g rNC$r NP`p [g rNC$r N0p؀RF*\y\Pd0-||g"*  oN@(* NLNB/@ty\Pr NB\Xx *ѯ`\"-  oNT@(- 0-| g rNC$r N`p [g rNB$r Nzp؀RF*\y\Pd0-||g"*  oN@(* NN/@ty\Pr N(B\Xx`F(- 0-| g rNBv$r N`p [g rNBV$r NRF*\y\Pd0-||g(* NN/@ 403\Ppy\PHN(H -"-"oA*H&L09\P`&AS@J@np[rfCLp09\P LrN' oN3мN0$H"oAN3N oA$HW/ / "J o N|O %H%Lpy\P5@ / C MN XOOL<NuHp"LAN3B- AN2Qf MN g"(f "W JN` ISCJCnOL<NuHQO(H. l/h6( BD, ,,hBA_AgUAg`XNB@|b@0;N88 8JDg lANtB@N>nb lANZB@N$p0. o"p&i" fB lAN.p0. o pA pNp0. o"p#|U`@+f8|B@+J@gS@g` f pNZ*H`*J$j*+W.`*W g(U.+J$M`POL|NuH$H,I* jAN j&h *(hBA_AgUAg`XLvp,րBA|bbA2;NV\>\\\\\V\VzZp0,*s(-"*҃4H¸gv mUg A pN`p0,*s(-"*҃ٶ8`p0,*s(- m (gA pN|`0Hgr2fv8`p0,*s"-Ӷ8 m (gzp[fnJf**ڪ rN rN NN`@,ܪچ` pNbNn`p,rt4,ЂրXL` L|xNu/ O>`/P/h/h BG[p0g$9\`"牒ҁӯp g$9\\"牒ҁӯBB g g g c'| <c'@pЫr 㨁BoApNbO&_Nu/ O>`$/P/h/h BG[p0g$9\`"牒ҁӯp g$9\\"牒ҁӯ/kB/k /k/k"p&ANO&&_NuH<$HN4vBD`Dp0&r`2(k`& , l*P , MN*H "M LN&(T f&S fRD|cp[fBN JfBN zBN tBN nL<Nu"h g)g"h$)ը( gR\`Nu"h g)g"h$)ը( gR\\Nu// O$H j g\(gVBC* JCgL|cvp0C AN(rCHB@A0N.f/j jB@(@CU?qApNO$_&Nu// O$H j gb(g\BC* JCgR|cvp0C AN(8rCHB@A0N-/j jB@(@CU21| ?AApNO$_&NuHN gr`BA Npf LN` LN KN\p g A(N ^`pgAN lpgzr’fRN VgBN N D&N N@(B@NFN4CDz:c N,N.ApN`0N pЄ/@rApN B@N`pfN `N r+T+l+l +jp0g +y\``Bp g +y\\`BOL<8NuH>$HBCG\$`Lp0B2I(s`2*l`& - m,P - NN - r2Ѳ*U f(T fRC|cB(k`*l` - Ѫ*U f(T f ЪL|NuH:QO$H/I *"j&i(i6) xBA]A|bA2;N  oPkb, kf f?|`@ jAN B@N `*p0+,t"f jAN ʑB@N ?n pAN`AUpN vB@|b@0;Ntjttttt t kb jAN \B@N &p0+,t"f jAN 8B@N k`dp KN`` o `RXK`dPOL\NuH:]OEBvBDG\$`D0H(s`4pR?|ApNRB,l` "J NNLր,V f(T fRD|cR?|pANR \OL\Nu// $HBC* RCH A N׹\f$_&Nu/ UOE\fBANANpg BApNjR TO$_Nup09\d!@Ry\dNuH0O*&HN0By\dANv69\dANVx89\d 9[gr`BA NEp JN$NAN%@N%@N>%@ BBBNr¹[g tԀ%B`Br JpN p[gpN'W'o'o B'C'DO0L 8Nu3\"HA\jN!NuH &8E\j%CV N%HRBZ JN5@PJ@l JpNJDgHRAUNXOLNuH8&H&E\ Ѓc0" j0*Ng Ap N\ "K jN%$ j` (j"K L N%hג LLNu/O&"<AB@N'2` <ANzd ANdO&Nu// &E\ Ѓc$" j0*NJg Ap N$ j`  jג$_&Nu// E\0mR"* jN g0NH4Ap Nltr0N&0N(J@g4Ap NH4 `p$_&Nutr09\Nй\NuH0($H*G\jtr0+PN&e"J kRđ N$"``BB"0+PNg Kp N" J0+PNNg Kp N ЅdC8 kRN#BB"0+PNRg Kp NL 8Nu/ E\0mNFANh4$_Nu?B@|dBA(It4BC0(CIA`$B@(HBA(AHBB(BHBC(C|06NupSbNuB@BA| fJ(ftAo(`"| fJ)ft@o`@f 4` gB@NuSBlpNu/ E\ < N*$ npN RB@`BR@|eB%|\$_NuH8$HNr2&y\`C JNTJ@f0&L(S fB@HмN(HC JN BBB& LLNu/ / $HNr2 y\&p`C JNJ@g K`&S f&_$_NuH8$H(I&B@HмN&HC JN'L'CB y\ #\ KLNu/ / 0<"y\`$Q`&R$ J$K" fXIS@l#\ y\N(B\&_$_Nu/ / &H$y\` JN$R f&_$_Nu/ / &H$y\` JN$R f&_$_Nur2"p"iBB)0Nur2"p )Nur2"p"i ) Nu/ N$H fpN J$_Nu/ < N$H fpNB J$_Nu < N#\BB\B\B\Nu/ / &y\` $S KN<&J f$y\` &R JN&$K f&_$_NuH0&r€ցG\ +Ѓc4cpЃN:$H"S "S"A`" < N $H &B +׫ SAL NuH ($y\&*"*Ҁc8c AUpNN$H%D"y\"#\׹\A`٪A8LNu y\"(R e (ѹ\NB"y\"#\Nu 9\ y\ШNu/ < N,$H fpNBB#\#\B\$_NuH< 9\ y\ШN$H&J(y\` ,C KN*T LN(M fB\ JL<Nu/ / $y\` &R JNb$K fB\&_$_Nu/ / $y\` *AN&R JN0$K fB\&_$_NuH0$HH| cv G\p0"J KN~B30 KL NuN%J@gpN NuH86(H|f"9[¼gEUG\09\f'J Sg"H kNVJ@g /ANXO'S0||b@0;N &:Nb LN>/AN XO3\`j LN"/A&N XO`J LN/A@N XO`6 LN/AeN XO`"AN / AN XO` ?AN rTO3\NLNuH06$H$HGU0|b@0;N$D$$$8$P`p/9\AN XO`A0N `AVN `/ AiN XO`/ AN XO`/ AN XO`r/ AN XO`b/ AN XO`T/ AN XO`FAN `A@Hf0|H(S`"lf JggJfg8(T" fSJp N(H &)y]B JNRA]:N)H"JN ,LNuH>$H&:&j 8I]Z`" + T*p" f + JN`G SDJDb&j 8*,`:p AN,H  j$N,"+ T*p-m -kG SDJDb L|8NuH>O/H&&h*+M]H| |b@0;N^^$$$^^HH(n4` mff (+gp(M*T f,.A pN$H"K ` + nD*p" g.- ` + oNF.HHЅЇ(n4`6 mf, f&f (+f(+f (+g(M*T f,.A pN"$H"K %G pN*H "nD#(B+J+F B` +f.Z` + o"h/I")"h$.HHЅr2+Ё(n4`L mfBf<0(kf2(+f($(g""W mNJ@f  nD! - `b(M*T f,.A pN<$H"K BpN*H "nD#(B+J+F +W2+ + oN %@ O L|NuH8v$y]F`6 j((ք&j ` pN(H + j$N<)@(PKQJn$R f LNuH>v($y]F`&j(j*+*j`f,-܆ܼ09]jg M N,Hِ0- LN=@`00- LNJ@g$  MNh,Hِ0- LNr2-Ё-@ֆƚJnث$R fz L|xNuH>YO.:BC&h(hM]Z`H|b@0;NddtttpN*HB ,"V$q" f , WNB , V$p+j  j (f"!n`pN6*H+l `R0.gpN *H0, KN;@ ;l `.0, KNJ@gpN*H0, KNr2, Ё+@ , V$p" g+j `0.gpN*H0, KN;@ ;l `P0, KN\J@gpN*H0, KN\(r2, Ҁ+A d-@0, KNJ؀ c-D , V$p" fp , WN+@l , W h$N+@RCISEJEb@0XOL|8NuH>$H(I<:&jBCK]`^8,0J@gS@gS@gS@g`p MN,H+|LBP|crpDC JNR@8<-mH2, , JN=@"-LPd-A -PL-@`B B`0-Tg: MpNL,H|crpDC JN.R@80, KN=@ =l`H0, KNJ@ghp MN,H|crpDC JNR@80, KNr2,Ё-@ -l<-mH2, , JN=@0E=@=DDlr2, ЁJFb0L|xNuH0G]VB$k`,"B@ kNH j (rNb&BA0"j JN>$R f +L Nu/ / E]B0#]FZ&J` <NBB'H&BG ]:cB<&_$_Nu/ / &I$H QDB2gB@Np(NNB!J!K"yZ"#ZC !I !I!I !I!I!I !I$ 9]Rd#]R&_$_Nu// OE]j4 <N%H"<B@N <N%H"<B@N *%@N%HN&r B@ANp AN,N/@NP/@N\/@ B@N$/@pN/@pN/@pN/@2g$BA< <b;k`|<*f<`&<0< b ACp a Z$Wb<gt<.f6<*f4`$<0< b ACp a $Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA a "A pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 H:$H&I(S&gfJg^+g`)ft,k x$ڹd SfRe`.&// Ka~$"J@k,f4(SSfRf& L\Nu3 SDp`"`&x,A'J'JE8'J & KaJ@kfRf"`H&H(k6+"+g0Dta,Jk+fZ"S"L Ip gSj`*| // " 0a"_"JkNgPAp SjH@" 0aLJk*g,`0" LaJkg&'LB@LNup`p`0<a`H06&Hp Cgp@CfFpC?/ ?<=NAPOJk&8jaTpCgF?<?p/?<BNAO Jj.`Br߲fNAXONua:3SDp`ް|c/ ??<>NAXO$_JkpNua3SDpNu/ /?<ANA\OJkp$_Nua3SDp$_Nu/ J@f//aJ@fBg`//??<?NAO $_JkNu  _`a3SDpNuH&Hx&SgkJ9[kvf~a<g&< g<<gP< g< e޸dRa`JgSSKpap apa`Rp a[p a`bJg^[`TxB9[`Jx B9[`[p a2 L$_NuBx`xB9[`x B9[`?<NATONu??<NAXONuH@??<@NAO $_JkfNuaZ3SDpNu3SDNu/ |b2@?? /?<BNAO JjfSBg jX?<? p/?<BNAO Jk$`X?<? p/?<BNAO JkzЁ"kt?<? p/?<BNAO Jk\$`?<? p/?<BNAO Jk@$Ҁk: $k2HzN <e/`/? ?<@NAO Jkb $_Nua`3SDp$_Nu0<`H 6?<?B?<BNAO (Bg?/<?<BNAO *Bg?/?<BNAO JWHL8NuD@| |"b;NupNu   JgJgJgJgJg JgJgJfSHggggg ggf @NugfSHNuJgNugHf8g@f0g8f(g0f g(fg fgfgg!epNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNu"SefBJgSf ANuH0$H|g|$bGrtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G43d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"SDp` 3!SDp& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!SD`0123456789abcdefghijklmnopqrstuvwxyzH &/?<HNA\OJf 9]lg @ NJ@fp @LNuH0&gPR<e a g!CC[ "A`rG[&S f. < a gj&@Ap !| 'H&[#[A"P` )d I"Q f`rd ` #@#C"nAL Nuk |`3 SD`/ oLQ d nf@axJg*`6C[ g,g"@ f` "/?<INA\OJj`p$_Nugp`/ &y[ g/ &S?<INA\O`&y[ g/ &S?<INA\O`&_NuH8$< CG[ g" c &@ f`(@ ,gb*"Ҩeg ` )H`p"@")Ө )H`>"@ gb" ҩeg`N"(ө`" "H" ҩf @"(ө" l eb&/ ?<INA\OJfQLNuP`Jg/bg2 4gf!Sf`f`!Sg"gH?LxH?LxH?LxH?Lx`H?Lx8H?LxH?LxH?LxH?LxH?LxpH?LxHH?Lx H?LH?SfvLx2|HgS@!!Q|gSA!Q`2 4gfSf`f`S"gH?LxHxLxHx(LxHxPLxHxxLxHxLxHxLxHxLxHxLxHx@LxHxhLxHxLxHxLHSfxLx2|HgS@ Q|gSAQ _Nu/$gSe40HB4 gxH_>"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQ _Nu<0< SHNu|A,0|Nu|A0|NuBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#$HBJBf$HBJBfNuHBЂNuHBЂNu$HBJBf($HBJBf H@B@H@NuB@H@HB0@0H@0H@Nu AH@r2B@tЀӁd҈рӁQF@Nu$HBJBf"$HBJBfB@H@NuB@H@HB0B@H@Nu A"B@H@HABAtҁрdЈӁрQNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu/ /?<HNA\O @$_Nu/ /?<INA\O$_Nu/ a |$_Nu?$t>2L  &F&:H&:0 40 B (V :0&V<  2 TT6@Zv  J(bx0 ^  D4 X"64Hh 2`\  (b  ,(">fh>f2l0JR(zN (:>*$Db 2>  ~@D.R,<*Fv>*$Db 2>  ~@D.R,<*FvxLongfscanffopenCL_TOTK_EOFTK_ATSIGNTK_RPARENTK_LPARENTK_INTK_IMPLEMENTATIONTokenRS_ANRS_DNrenameremovefwritefcloseCS_IMPLEMENTATIONCL_EOFCL_RPARENunitListtempLevelSymLookupScopestrtodRecordTypeR_BYTErewindOpNodeObjectTypeNK_IF_ELSEMakeVarAddressableIfNodeHZMoveHZSizegcvtFieldScopeftellfcvtEnterScopeexitecvtBitReverseUnitInitUnitungetcTK_MODTK_INTERRUPTTK_ENDTK_CONSTTK_ANDTK_REALCONSTSetupVMTSF_CONSTsymKindsSY_CONSTPOP_LPEA_LPRIO_NULLputsNK_RANGE_SETNK_UNION_SETNK_INTERSECT_SETNK_DEC_ORDNK_INC_ORDNK_ODD_ORDNK_SHR_ORDNK_SHL_ORDNK_XOR_ORDNK_AND_ORDNK_NOT_ORDNK_MOD_ORDNK_DIV_ORDNK_MUL_ORDNK_SUB_ORDNK_ADD_ORDNK_NEG_ORDNK_ASG_ORDNK`Rj```>>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@#3 k # Ј<.@#Jyg<"@(I$k,"Jf"JfB// ?<?<JNAO A<~kRrRAfA6<HCBB`6 !jBJ)gHiRC` "fSI "WSAkHiRCBSQJ)gHiRCHy`$ON40 J"LN? 9Tg @N 9Xg @NN?<LNAH>6,HNv|m|o NxpNK\|o;|GIHy"n KNXOHy0-H"v LNXO|f "n AN ATNp KNJ@l KBAB@N :pp UHN )HfABApNMB@ KNBA< <b;k`|<*f<`&<0< b ACp a"$Wb<gt<.f6<*f4`$<0< b ACp a$Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA aA pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 H:$H&I(S&gfJg^+g`)ft,k x$ڹd SfRe`.&// Ka~$"J@k,f4(SSfRf& L\Nu3 Rp`"`&x,A'J'JE8'J & KaJ@kfRf"`H&H(k6+"+g0DtaJk+fZ"S"L Ip gSj`*| // " 0a`"_"JkNgPAp SjH@" 0a<߶<Xfg.G3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"Rp` 3!Rp& g"`"CB@f ANu//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!R`0123456789abcdefghijklmnopqrstuvwxyzH &/?<HNA\OJf 9g @ NJ@fp @LNuH0&gPR<e a g!CC "A`rG&S f. < a gj&@Ap !| 'H&#A"P` )d I"Q f`rd ` #@#C"nAL Nuk |`3 R`/ &y g/ &S?<INA\O`&y g/ &S?<INA\O`&_Nu/$gSe40HB4 gxH_>"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQ _NuBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#H>?NAO $_Nu/ /?<NA\O$_Nu/ ?/?<NNAPO$_Nu/ ??<>NAXO$_Nu/ /?<ANA\O$_NuH>@NAO $_Nu/ ?/?< forTRIPLITTSANSGOTHtriplex_fontsmall_fontsansserif_fontgothic_font.CHR.O------> reading %s ------> compiling ------> writing %sEHBGIOBJ - Version 1.0 (c) 89 by Borland International, Inc. Usage: BGIOBJ ******* Program aborted: %s '%s' ! ~~~~~~~ %s '%s' ! [Y]es or [N]o ?    \r  .^*2 &  @D.R |>8eisalnumSET_SIZEsize_tORDINAL_TYPEMISSING_PARMTYPELoadNameLoadObjStateiscntrlFOR_TYPEFOR_VARIABLEFILE_CREATEXPECTEDBODY_NOT_ALLOWEDTOO_MANY_PARMSSearchDirsCOMP_TYPESNewDirInitLoadObjisasciiCONST_EXPRBAD_DRI_OBJsetjmpisgraphUNTERMINATED_STRINGSTRING_TOO_LONGjmp_bufDUP_TAGLABEL_UNDEFLABEL_REDEFILLEGAL_DRI_REFisspaceFORWARD_REFerrLineNumerrFile__CTYPE__SETJMPtoasciiF:\AP\COMPILER\DECL.CF:\AP\COMPILER\FOLDEXPR.HSameParTypeParseObjectTypeOrdTypeSizeForwardTypeTypedConstantProgSymbolFormalParListFieldListDI_VIRTUALProgramParametersParseTagsBodyDirLookupCreateSelfUsesClauseParseArrayType_lmulParseVariantDI_FORWARDBuildVMTdirTabDirRecBlockAddProcsFoldExpr`2:QX``V>>> TURBO-C <<<< for ATARI-ST Version 2.0 (C)88-90 Borland International H>#v&o,p#H3L k #R Ј<.@#NJyLgx// ?<?<JNAO A6<HCBB`6 !jBJ)gHiRC` "fSI "WSAkHiRCBSQJ)gHiRCHy`$ON0 J"LNK? 9g @N 9g @NNzJVg0.yvL|Nu?<LNAAB!HB!| 0(4HШ!@1h4NuH0E6BR0H\NM`"H|C0HѪ&j&%HBA\ISCfL NuH0G6+Bk0H\NM`$H|C0H"KAN| k"h " k!J B0Hѫk0+HC0 KN|L Nu/ B@Az`2IBC!R@|mB:B>BhBB 1|DBFp!@V!@REF JB@N JpN JpN JB@N $_Nu/ / $HN(^NM`&H 7yRy"JAN#0+&_$_Nu y` hf\HNu P"fAFNuA2CRA0|mNFNuA2(tAg H`1TA1A|mNNuA2(tAg`!XA1A|mNNuH 8$H&$ f:HHf B@DNp`f0Hf0N`0NZ`P0NR N~`B09oNpNM`||\1D!J!C "y"#BLNu09oN8NuH8&H(I fpNM`$H|`$p LN$H g0*m / pN5XO5k%k(k g , f"f t l(f p NM`(H| B,B"k "'H )JBLNu/ / $H9Yg " g2N\`*G JN7@ S1@r'A S!A"J SN&_$_Nu/ / $H9Af<29oN2p JN&H .gN g0+m/ pN5XO`<7y'yp NM`|B(!K"y"#B K&_$_Nu/ E0*oNpNM`| B(||1j !j f%H $\H$_NuH<$H(&HKI6<THøb "J2AN|T` "J2AN|TØ0oN`L<Nu/&29oNp NM`|B(!C׹"y"#B&Nu09oN 9g.p NM`| B(1y4!y6 #Nu?/ 6$H29oNzpNM`| B(1C!J1y4 !y6"y"#B$_6Nu/&29oN*d pN5`,p NM`|B(!C#"y"#B&Nu/ / $H 9gNNuH<$H&JAfF9Yg>pN&H g0+m/ pN5XO`7|'C+`AUpN(H9Yg\ JpN&H g0+m/ pN5XO`L7l'lp NM`*H|B-+K"l ")H B` JN9@B"J LNp NM`*H|B-B+C׬"l ")H L<Nu/ "P"QE g j *g j $_NuH<]O$HBW(*:*|K+JG`B@,| b@0;N"N`frp,؀` lhf8,gz.(ެ UJm$nB`0UHHfv` 0Hfv`HHg2Hgv,g2,e?<Hyap1N58\OB@,BAAH܀C>p؀`34#63 B9@N*+D;EAN80-oN-,g2,e?<1Hyap1N58\OB@,BAAH܀C>9@fp KNP`` l1E l!D`Lج`Fb4(,`.", ІN/@", N(,/` l:(x|`9E )D &L(S f4%D0\OL/@ BBBB*gN$ /ЯЯ /@r ApNrN*g:r29///A0NPO//AmNXO// ANXOO &_$_NuH8$H(I&ov`%C/ "L JNXOր$R f LNuH4ONNEANGF*gHjANXOpNKzBmJpAN>`HzlC UNfXO/@HzXC mNPXO/@HzBC mN:XO/@ N/@BBBo UNX mNPrApNrN*g8r2-J///ANPO//ANXO// ANXOOL,Nu/ E0*4oN j"h " j!j B%J9YgN`N$_NuH>B$y&*&j8*K@MF`B@+| b@0;N0Tz:B@+HAN=p+ր`h(S0+5 ,fT,bLBASAg SAgUAg"`2,N;`& k2+0,N<>` k2+ ,N`v KN(м NM(HB9y4)y6"KA N$$L`zpNM(H)|(D)|()|( 9|)C)WBN8DXOLNu?/ $H6 Pf0` Rf4|f4 *gp#N5p n opN5* ND` JNk J0Nq^$_6Nu?6pNM1C #6Nu// $y" g |f# JNM`~ jf pN5`j# JNMvN8RJ@fHypN5XO`>Nn|*|b@0;N""RC`SCn$_&Nu/629BfB9@A:N NxJCg B@N `vN8RJ@fHypN5XO`d09Dg9VgN?NĐ|*|b@0;N"00RC`|fpN`SCn&NuH 6E RfA0N N,`FNj*@@*Vlf(0HNF`NT|gN4 RfJApN/"gVAN(* AN:` BNDR BA6@HNJf`$ApN0gfS@g Wf 0AN Rf N,`|0NZ`6NT RfAN(AN:N,` RfApNpANf RfN,`NT Rf(AN(*ND AN:N,` RfjApNpAN RfN,`NT Rf$AN(AN:BNDN,`, RfApNpAN`0gNdNN`, RfHjpN5XO`0fVHypN5XOO2Lt8NuHO(H6,IGK˄/ C KNbXO094m/96N/C KNbPOC KNb/0HAʨ"p KNbXO|2gANHWANaXOOLxNu/ 29BfE"JA7NZRy2$_Nu/ 29BfE"JA?N6Ry0$_Nu/ E"JAENRy0pAN`$_Nur@`0<\g<:g<.f0NuSAJAnNuS@`0<\g <:gS@J@lR@NuH0$H&INrx&0 JN6C KpNrB+L NuH0$H&INrJ&0 JNx8 JN:6@|ov0HCP KNrZB30L 8NuH0$H&INr&0 JN46 JNT6H"J KNr&B30L Nu/ / ]O$H&ICNLf"K JNp\O&_$_Nu/ $H"< A"0*NltA"%HC"%IJnJlp3NB@`p$_NuH<$H34R#6&jI:*Lv B jQHdJ2dBg<g4g,g$ggg g`g6e JN6J@g&j`bB@`*:epNg` - fSMB%KpL<Nu/ $H0*NkJ@gp-N JN34B6$_NuB<34B6NupNNNuH0$H8B@Nj 6J@lp`\ < "N&H'|6'|7~'|7 7D7C JN7@BA"'H'H34B6 KN B@L Nu <#Y@g | g$pxANY(H f~p)N`AN`jNSApN^` *.f *f*HAA60gNS` p ANX(H gNSA ,N``pxANX(H gB@Q@gQ@g(|g| g(`62 ,N!R`*0,HN`2 ,N` ,Nb`p&NpOLNu/ / G@B+E:`gB JNt JNϮN0NJ@fNZ4|&_$_Nu/ EFRj6?*6Cb RN\TOB@N/C\ RN\rXOCѵ RN\d5|4$_Nu/ O&HCN`ANmjC KN CѺANlrGFCѿANc(& fp.NF"<@B@ SNeBkBk07|7|B8Bk2Bk6NN8OB&_Nu yFNeJ@gp-NByBByDNuCѲ yFN[ByxRyz09zyZmNNu/ Ex2@|'mN0f*2* AR0H?/*C jN[B\O4$_Nu?29Dg*pNB@?C yFN[TOVyxR~6Nu?629Dg&pNn?C yFNZTOZyxT~6NuH 86$H49DgLpN2AL00<*f jn0*0 H??C yFNZxXOZyxT~LNuH (6$H49DgNp NAL00<*f jn0*0 H?/C yFNZ\Oy xX~LNuH (29Dg($H`BCKB@@0NUpmJgNLNu/&49Dg$JAfѹ~`B@NUpeJgBN\&Nu/&2|=bA2;N|||0HN`BA N&Nu/ / O$HNMENN0S@g`CANiNN0S@gTY@gԐ| gBC` 0HA/0C SNVXONRCk0mBk0L Nu29D y<4(SBgSBg`9WHB`yTnt`BBB0NuH><*6(/(Ix0,g"B@NJ@gANANjBlBlK:ENF|fN`ANI8J@f|Nlx`0H u -fN;RDDn9Pf"9Vf ANJbBEx`0H u -g JEfN^RERDDnJEfpN|` |opNn0n2o4ANJ0g?ANJTON>X0g ?ANITOANI0op`B@L<8Nu <N]8#C#Nu// &cN]$H f0p2N `( <N\$H fp2N#E# J$_&Nur€Ё ye#Nu#NNuN\ gNup2N砑NuN]|NuH0OBCE`>pH RNE(&H0H'@"RANZANZzpHANE&H0H'@RCPJ fOL NupNNup NNu/ / &HEg C JNY"K JNY&_$_Nu?/ B9E`pgA NpgA NpgA NpgA Np gA Np@gA NrA$_6NuA2|Kg,nSAg[Ag|)g"`2|fg |"g `$0(Nu0(Nt`0<Nh0Nb`AdpCNrpA2N|0*dg40*|N6 JN"@0*>H@|0NAdB@N `v0<N JN@0*>H@`0*.|N0N JB@N`>0*`|N JN@` RnC2 J0N `"JA20|N`Ad <N2Ap N(0*`|Np JN\@rpAdN0*pr h@ jf84*J|B`*0*`|N0 Rf 0*|@` jgN0N A2B@N`fj.`R0*.|@N`D0J@g U@gS@g&`40gNr0<|N`"0fN`0Nx`@r?p JN0CNb0*6Hj |\NP`0|bJ@0;N@@$@@@@@$,@@@@@@, j 2gN2< C2 J0N`0*2|b@0;N:::$:BB Jr*7i0N`vBA"JA20N`d R f&|gJDgN*0|Nz0*r h@`z Rfph|fN0j.|NJ|@0@s`.0CN2B@N,`j.0CN`0j.|@N ` R f2|gJDgN0|N0*r h@4*8JBj6` Rfph|fN`` 0*2fNL0j.|N|@0@s2*8IAj6`x0J@g U@g S@g(`f0||Nh0gVN`N0|zNP` 0|{ND0g`0pNL 8NuH4O8&<K80HA8(:(2IEAEG g2<g2<Sfp!NٌB@S|fN/pNrXOphBA*AfNT *gAN *gA2N@NN\E`0| / N` "/ o0N` 0U@g]@g` 0/r h@`HrpANx|o`0N60/ N.` o.0N NDN`o.0N N.>A2pN0/`r hGN`0o`NN>2/.t iA0N` (rpANpo @`"<pAN`^AdprN>p@2AuH@o0Nz8/0/6H@0NhAd0NX` Ad <Np@2AuH@0N80/hr h4/6JBoN 0/jr h4/8JBoN` ~|fpSf Hj pNӞXO|`|`0@25IAo.0NBD|-f8<0/`r h@`0W@g`ph| fN:8-|0/r h@o.`0/2U@g S@g4Y@gx` Wf / f"/f8-4Bu o``` Wf|f"< <ANJ@g|8- 0/6r h@4Bu o.0N`pSfpNҖ0[@gW@g` / f"/g|8-`| o2f8-0@u`4 Wf|f"< <ANJ@gt|`no0Nt /@g @pN`¼|fpSf Hj pNXO86RD`bTD`\|`T|`L|`D|`<|`4N`|f|@0U@gS@g[@g| g`zp//hH/@ 0/2Y@gY@g` / gNT / NJr/@ / gN4o` / f"/g0NvAN `0/2U@gS@g[@g| g`Vp/ahH/@< /<gN<|o. /N` o2f of /f| mp `rpANd0/6r h@BB/ B`@ Wg Wf8 o2g o2fN`p0@uo`0N8/.p l|`* o2g o2f0@uo.0N8/`p l0NA0NA20N` Ad <N.0o2f|U@gPDo0/6r h@0N^AdpNN`0W@gY@g$`.8- 0/r h@|<0N,B@N&`pSfpN0@u` 0NApN`rrpAN"o ` 0J@g U@gS@g`XD0gNf`TD`VD0g`|NmA420N`|=mA420N`pN809gp&N*OL,Nu/ hfv@`*6(Kh p k2(JAgUAgSAgpN`|0&Nu2(JAgSAg6SAg2SAgNu"(f4( H´ f9@g0<0Nu"( f0<Nu0< Nu2(JAgSAg*SAg&SAgNu"(f 4(H´gpNu"(fpNupNuH $H0|b<@0;N2:|22222222222222v@BD`0*J@g U@g S@g"`& *f2* H f9@fv8`\v9`Vp N`L6*`Dvj`:v j`0vj`&*gN JN|8| *f p@Df|v0 Rfv; jf|`j JN@ JN@` jf * fL"*fF9@f> Rf jfrv08<` jf?<HyNp1N&\Ovj`v RfXBE jf:<0*J@gS@g S@gS@g*`JJEg`0* H fJEfv:`.v;8<`$v;8<pE` jf?<HyNp1NǤ\O0*J@gS@g&S@g"S@g`v0j8<p`0* H fv(j` JN8 jf Rfv;`v0 JN@|@` Rfv;`v0j0*J@gS@g*S@gdS@g``n *fV* HH fH9@f@`4 Rf *gp#Nƾ`:* HH g cp Nz`B@* @` JN|@`v<5C.5D0L8Nu/ / $H&Ip0j0| g|g8`N *g @0NP`0* H g cp N0* Nt` *g @0+N * Npj0U@gS@g:`P *g @0+N`0*Hg cp NŨ0*N` *g @0+N *N,&_$_Nu/ / YO&HEA/ / ? C JpNEO SRB0g0l @0D@40HdH H@0H H H@2H HA@2H Ap@B@`r (<THR@|mXO&_$_Nu?/ $H6`0N2SCl$_6Nu?/ O$H6 PfA * NURA C$""20|b@0;N,,PlA$C ""2A NT0`A$C ""2A NT0>0N`A$C ""2A NT .` A$NS.pAN*`VCA$NRpAN`BA$C""20NBB@N JN`CF JN` *f 0*0N|`0*0HNN jpNp*1N:` Rf0|b@0;N@@n *gp#Np n opNB@* N`\ *f2* H g cp Nb0* N`. *g @pNt * N` Rf0 JN`pNN$_6Nu/ $H PfpN`0* N~$_Nu/ / OEP`Xp RN&H*H7@*HH'A"RAN3AN4&pAN&H*H7@*HH'A\J fB@A` 2ABpR@|m1|1|1|1|1|1|1|1|1|1|1|1|1|1|O &_$_Nu/ $H Pg p%N64$_Nu/ O$H0S@g |g JN *gp#N * D%@ A$C""2 AC$""2O $_Nu/ $H0S@g JN *gp#N * F%@ $_NuH0$H&&I8$* f "*f0*g?<Hyp1N\O%C %K5DL Nu?/ $H6 jgN5C$_6NuH $H68: jgN` 5C5D5E L8NuH0$H&&I8*g*g JN|%C%K5DL Nu/ O&H>Bo?|?|B BBoB/0|b>@0;N4FZl4444444444444444444>AN2`~>`v2+"k + AN``BB2+0+AN`N0+gW@f 0+AN`8BB2+pkAN`$0+J@g | g`pAN`p ANA"Kp "Q2O2&_Nu/ / $H&IN0|b>@0;N4F\p4444444444444444444> JND`4`2+"k + JNH`BB2+0+ JN`r kg kg jgBB2+pk JN`D0+ JN`80+J@g | g`|p JN`p JN`4+ 2+0+ JN&_$_Nu/ $H Pg, Pg&N40*Q@gS@g`Bj`5|4$_Nu/ $HN|B*BjBB jf|$_Nu4UBgSBg]BgYBg`0NupANupANupANup'NBB@Nu/ / NNE Rfr*fX *7nP *0mH *Dg *df*H|HpN`L *Ag *af*H|HpN\`(pAN&H g p'Np` "+0+N2&_$_NuH0$H2*H0N64B BG Sfx  gpN: `N SfZNJ@mhx@nxrt窘`xrt᪘  gpN N( Sf(N6J@mN`~x  gpN‰ L Nu/ $H2SAgSAg0`6r nt m0* `(r fJ@f"* fJ@g`p j` JNLB@$_NuO y fNA2pN yg p%N^B@``NPB@A2NTH?pANF_OdNuO y gp%N`^NApN y gp%N`N Wf /f*r n"t mpo ` Wf 0/H|`AN`B@O2Nu/ B@"(g$)g$A4*$ijf JBl `")gpJ@g @B B$_Nu// $Hpv gSCl )fJClpN0` JN<5C $_&NuH0O6$H&I Pg$ PgN`A * NIAC$""2 Sg& Sg KN`A + NI^AC$""20| |b@0;N&Lr<dA$C""2AC$N=FAC$""2`tA$C""2AC$N$HHN)v -fBRJGKFH|1|(bHA2;NR^jv<<<<<<<<<<2<<<<<<<<<"<<*pNR`pNF`pN:`pN.`0<N `p NHN(J@gAN`p@NHN(J@gAN`tH7@`hC``p@`Tp@`HHD@7@`:C`2C`*C`"C` =fRJ JN NDI TgHUpNXO`pAN ,HBnB|N TfN Tf-l` =fRJfHmpNXO`z JN`p =fRJfHmpNXO`T"JAN V`H =fRJfHm pNpXO`."JAJN 0AJN n 3\Ig 3:Ig C AJNp JN L`"H?pNLTO JL|Nu/ A^CEf0<$Q4B!H$_Nu/ $H -fRJfpN` JN*$Hf$_NuH0$HN&0H\N&HB"JANxJCo 2:0g 2\0g \0B30 yb #bL Nu/ / O(H$y^` CAN*"LANpANJ@l$R f/ p/N:XOOP(_$_Nu/ $HBgNTO3TJ@lp.N6"JAfN#$_Nu// E&*%J" J09TN,g09TND3Tp6N$_&Nu? ycN yR6Nu?/ 6E RcN| RCK RT$_6NuH0$H&JlrR?HyVp1Nf\OJo2G SC b Sf&`JcSf&N`L NuH0&Jlrw?HyVp1N\OJo:G$kA b BSf'J`JcBSf'JN$K`L NuH8(&H*ETtr0N &Im "KA@N!`RBB"0Ngp4N~" K0Ngp6Nj ЅlC8 LN!BB"0Ngp4N@L8NuN09TNJ@gp-N3TNu/ 09TmNEfg JNB$_NuB@A`B0R@|mpA`R@|Zopa`R@|zop0`R@|9o|?|_|~|$|@B@C`R@|mB@`0R@| mB@`r AaR@|mNu##NuH0&HAE0ff`Jf p$NSK``B KL Nu// $HA1|pBABB|_g0 H4JBmer& v6Ѓ`!@JAgp NA$_&NuH,O(HE"RAN2A&K:f(M$NJ@fp+N@B L`F<*f /fRL( A@N42HЁcpN0"RA0NC MNA0OL4NuH8OG$kBC0|~b @0;N&|fn^rV\4v~pN`BS`BC| g| g|*fBC|+g|-f6`|=f 6RJ`vBSUJ`n6`f6`^6`V6`N6 `F6 `>6 `66 `.6 `&6`6`6`6`6`6 *fANl$H` 6 =f`VBC|=f6`¶|f6`6` =g6 `vBC|=f6`~|>f6`p6`NBC|=f6`V|(f6!`H6`&ACBC10g BC10fBSJ6`BC|ж|c6`6rB@Jlpҁt4҂BC|_g|0|c'AJ@gp N`6BC|_g|0|cp0C|(f6#`|pNSJ`ppBA ert4ЂBC|_g|0|c'@JAg<` xg XfANd$H`86IBC|_gpC| c|.f(BA|в| n6BCBCpC| c|Eg|ef&6BC|+g|-fBCpC| cB,H|а| cpN Sf:" | n| fCZANJ@op NlAN'@`FAHWN$XOAC""2`,BC|_g|(f6"`0A00H6JCl pNSJ`AN6$H`  JN$H'JO LNu"< B@AN0By3By6NuH8"HHHg$ABHgABHgABHgAB`G4|J$s `Bg84*gSf."HIgf gfgfff J`g$j " fLNuH<$HHHg$ABHgABHgABHgAB`4|JG(S`Fg<4,gyf. JKgf gfgfff L`ng(l " f JNмN(HB,9|9y4)y6)S & .g09g9yRy6`BlKf LL<NuBhNuA60(f 2cRhBPNu3NuByNNuH8(H6<E`&Z`g KN&k fSClLNu/ $H9g5|B*`34#6Hjp(NXO$_NupANNu0(gpNuB@NuA(p"@ "ByzA1B3z3|O"Nu/ Hz?<&NN\O$_Nu@TXJ? ?ry@ڢ!h5?ڢ!h5?ڢ!h5?@@NaN-INF+INF(C)Xmath by d'ART"_HpNLJ@f0<NSfNuH<&H&$I(pe$f"IH"L KNJ@o "L KN`pЃ"NI "NtK"L MNJ@o "L MN"K MNJ@o "K MN|`"L KNJ@o "L KNfpf"M K NV`KH`c4"K MNJ@m`"L KNJ@n` "L MN"ę`b޹b"K MNJ@l "K MN "N*crd "J M "N&`pd ""J K N&M`L<8NuJgNNu/YOM,C HzaXOXO,_NuH@B@H@CraNJ@kNu.Vp`/QOM-O, ICHzaXOPO,_NuH@B@H@"VraJ@kNu.np`/YOM, IC HzaPXO VBXO,_Nu"VS@eQ,Nu/YOM, I"o HzaXO VBXO,_Nu"VS@eQ,NuH8]O$H&I(o&BCx%p JR@g2fJ@g@HNBEg>BA< <b;k`|<*f<`&<0< b ACp a$Wb<gt<.f6<*f4`$<0< b ACp aP$Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA ajA pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 / / B@JgB)g@)fJ&Q(i ge"// Ia*"_ _J@f&Q`B@"(_&_Nu3 p`#H#H&HJfS#K " I(Ia"LJ@f`H:$H&I(S&gfJg^+g`)ft,k x$ڹd SfRe`.&// Ka$"J@k,f4(SSfRf& L\Nu3 p`"`&x,A'J'JE8'J & KaJ@kfRf"`p/alXONu(g4(f>"P | dNu?/a _2J@f 0Nu3 pNuC!I!IR!I `H&H(o Ia6kl g La` a(Jf\(H <a )HgN0@0;\ Ka|gB9@{0`Q l)H()H C# LLNup`p`p 3 la `a)b*a)b* YOCBgg Ar`THWf0XONup`rwar+w+a+rbwbabr+b rb+ w+b wb+ a+b ab+ A6p`Ar(WVNu?/ AaRAaHG66<`Gp+g Ka*QJ9>gA a&_6Nu_TMP_XXX.XXX/ &H+g+g.aJ@f.0+a*J@k"+g ka B@7@&_Nu3 p`H&&H(I|f,g ka fA&'H'HRH'H `8g ka :$ f a H$g"(H'L&'LA8'H pLNup`H&H(k6+"+g0DtatJk+fZ"S"L Ip gSj`*| // " 0a"_"JkNgPAp SjH@" 0aLJk*g,`0" LaJkg&'LB@LNup`p`$9ng"BN0<a`"9Vg"ANH06&Hp Cgp@CfFpC?/ ?<=NAPOJk&8jaTpCgF?<?p/?<BNAO Jj.`Br߲fNAXONuaz3p`"9Zg ANа|c/ ??<>NAXO$_JkpNuaD3pNu$9rg"BN/ /?<ANA\OJkp$_Nua3p$_Nu$9^g"BN/ J@f//aJ@fBg`//??<?NAO $_JkNu  _`a3pNuH&Hx&SgkJ9

<e/`/? ?<@NAO Jkb $_Nua`3p$_Nu0<`H 6?<?B?<BNAO (Bg?/<?<BNAO *Bg?/?<BNAO JWHL8NuD@| |"b;NupNu   ?/BC gP1kpr6< (<-Wg<+fg&C 1bЁg1b Ѐ(ЀЀЄ`JgD(6Nu//"4UB|"bjJj < f-DC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!`0123456789abcdefghijklmnopqrstuvwxyz JgJgJgJgJg JgJgJfSHggggg ggf @NugHf8g@f0g8f(g0f g(fg fgfgg!epNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNu"CB@f ANu"SefBJgSf ANu/ / g($Ig"f&Hggg"J K`A&_$_Nu`H0$H|g|$bGvrtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G 3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"p` 3!p& g"`"CB@f ANu//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!`0123456789abcdefghijklmnopqrstuvwxyzH0&gPR<e:/"@ gb" ҩeg`N"(ө`" "H" ҩf @"(ө" l eb&/ ?<INA\OJfQLNuP`Jg/bg2 4gf!Sf`f`!Sg"gH?LxH?LxH?LxH?Lx`H?Lx8H?LxH?LxH?LxH?LxH?LxpH?LxHH?Lx H?LH?SfvLx2|HgS@!!Q|gSA!Q`2 4gfSf`f`S"gH?LxHxLxHx(LxHxPLxHxxLxHxLxHxLxHxLxHxLxHx@LxHxhLxHxLxHxLHSfxLx2|HgS@ Q|gSAQ _Nu/$gSe40HB4 gxH_>"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQ _Nu<0< SHNuBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#$HBJBf$HBJBfNuHBЂNuHBЂNu$HBJBf($HBJBf H@B@H@NuB@H@HB0@0H@0H@Nu AH@r2B@tЀӁd҈рӁQF@Nu$HBJBf"$HBJBfB@H@NuB@H@HB0B@H@Nu A"B@H@HABAtҁрdЈӁрQNu$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu"@$jDJjD$HBJBf.$HBJBfB@H@$ jDNuB@H@HB0B@H@$ jDNu A"B@H@HABAtҁрdЈӁрQ$ jDNur`rHQHPC9A aPONuHM8<o"JP[@"o 2a hk0g hMJ@j M`M߸p`0`Q oBP`O@//?6>MHGGCA 0jD@aAC aT`arAC av P?b CFa6SG`A6"$RGJDoGn| Fo| o00CC?SFpԂӁ@Q` pԂӁ@*(6ԂӁ@ԂӁ@ԅӄC<0QBJjR! :fg0`1RPOpAL@Nu"oHQaXONuH|~trp  g  g -Wg +f 0m 9oX .ghg If Nf Ffp`p o0 ]H` 0m 9n @la`RF` .f 0m 9n @laSF`G EfJDg"LUR@JDfJEj&zRӅdR@`JfJf BYBBTO`.a 2""//?A0aNC o$aO JgPLNuԂӁ@*(6ԂӁ@ԂӁ@ԅӄCvG0ԇӃCNu o?jD@ @c0<?>@2AA@AC,0 ]HOgCbC OdaJGf>J_kNu?@@@@ @@P@$@@ @4ɿ@iŭ+p@xIϦAGɀCQ~ގFMHvuu Z;]=]u%`R HHz `&p`R````` ` ``2NqNqNqJ@jR@fJjFFF@JCjRCfJjFFFCC@@;DLxNuaddCT9zg 4HHzl`C.9zg 4CG?/p<6>܇׀HAHBHDHE>܇׀?<BCHCHF.HG܇׀.HG܇׀.HG܇׀.HG܇׀.HGև.HGևр?<6HCHFp>܇׀>܇׀>և(".Jkއ9{gJg j c a0JfJg9{g9{fJkt`Jk`h/"HA.HGpށ@H@HG0BGHBHE2tށـׂ݂p"Jk އل݆׃SANu b c0a b f$JfgJk؄݆׃SAR׀fRA` Jk؄݆׃SA Ae "$Hza` ҁQ !1LNudivCA/ / ? AaA0 ]HNu4CG?bfb RGd6|/|$F,HF.h.BGHG҇~`"BAHA,HFpHAHB024 6<?~Gj SWԅӄGd, Q,HF.h.BGHG҇~HA`"BAHB02BB6|FjSG҄FdHG>HG9{f,⎜bHFRFkHz``, c9{g~9{fJkb`lJkf`X//&HC0BCHCH@B@4rЂׁ"$dSGԅӄNu9{f╚kfg` JfJg`,HFRdR`,HF  @c"$Hza` ЀP !1L Nu5|$Ap" EP jW5|H j W$$$ jW5B j W$$$ jW5|h j Wf !R!R$ANu$(0r@Ag8"(jNufJf @DNuH@aJ@jR@fЀPDNu"(fJfJ@kDNuDNuDNu2""]INur2` r`r2""]INuap` ap`apHQ//aP.Nu6C`6*)<<HFFg6()kfJfU`SCڅلj0"$HFFgJjNuf4Jf0]Nu()fJfY`JfJf  Nu\HNuJkS@ԂӁjNu0<rtv`H@Frtv`<<6(FgF Cpn @b:H@@9{g 9{g 69z[Ck S@rt`rtv` @n0H@@rtv9{gv9{gl89z\Dj`t`PvxR@fЀP9{fg,` 9{g 9{gJ@k`J@j JgRdR !1.Nuv]H//?HW//0aPO0 ]H.Nu/ / o\H// ? o \H\I//!?!// ? //*?A{2DAZA g&CfH 1g"@?BPANAz0J@f0 @c 3"`3!` o4C0 O$ _"_Nu?akxigrr`l"<`dBCD@@ @>ortP`dPQSp`p"<t9{gz9{f9{glJCgh069z[CkT`X@@<o @b6CCSHH@B@9{fgJCfgRfRJPjA6"#BNua&kvifflH@B@NuD@R@ @or`$ᩳ "@B@`\ <9{gz9{f9{ghJf$ g`249zZBkP`P <`Hp`B"B@@?o @bHH@B@9{fgJf $ fgRJPj@Nua^fpNu@|@k <`D@ @cpNu JPjDNuH$fBA`PjDh 2< <`>2<@H@J@fAH@ @bQA @bYA @?bUAJ@kSAH@AԂQ0 B]HNuGLQF TEXTDATABSS$COMMON_SEGCOutput file : %s Size of image section :%6ld Number of symbols :%6ld Size of fixup section :%6ld Size of name section :%6ld Text segment size :%10ld Number of symbols :%6ld Data segment size :%10ld Bss segment size :%10ld   &,16;@DKQW^ejLou{Ƀɋɓɛɣɫɳɹɾ "'+16;AGN   U[agmsy~ʃʈʐʘEQUSETREGDCDCBASCIIASCIILASCIIZDSORGALIGNERROREVENTEXTCODEDATABSSOFFSETLCOMMGLOBLEXPORTIMPORTXDEFXREFALINEFLINEMC68000MC68010MC68020MC68030MC68040MC68851MC68881SUPERUSERINCLUDEPRINTTTLPAGELISTNOLISTIFIFFIFBIFNBIF1IF2IFEQIFNEIFLEIFLTIFGEIFGTELSEENDIFENDCENDMACROENDMREPTEXITMLOCALMODULEENDMODTEXT1TEXT2TEXT3DATA1DATA2DATA3BSS1BSS2BSS3OFFSET1OFFSET2OFFSET3%s %f˄ˡ˶>f̶̊(<Xt͞!?Wm{Τε8IiυϠϾ/HbЀМбп Invalid coprocessor id '%ld'Invalid option '-%c'Missing option characterMissing '%s' argumentMissing source file nameMore than one source specifiedAddressing mode for MC68020 onlyBackward assignment to location counterBad format in floating point numberCode generation in this segment not allowedCode not alignedConstant too longDisplacement out of rangeDivision by zeroDuplicate register in register listError directive: %sExpression must be constantImmediate data out of rangeIndex register scale must be 1, 2, 4 or 8Index register size must be word or longwordInvalid instruction argument(s)Invalid control character in input lineInvalid digitInvalid conditional directiveInvalid macro directiveLabel redefined: '%s'Line overflowMacro name redefines opcode or directiveMissing argumentMissing '%s'Opcode for %s onlyOpcode not supportedOperand size not allowedPrivileged instructionRelative address out of rangeRelocation errorString literal exceeds one lineSyntax error in argument(s)Syntax error in input lineSyntax error in register listUndefined symbol '%s'Unknown mnemonicUnknown size specification: '%s'Unterminated C-CommentValue not allowedCannot close output fileCannot create output fileCannot open include file '%s'Cannot open input file '%s'Internal error: %s%dOut of memoryRead errorSeek error on output fileToo many macro arguments or local labelsWrite error on output file %s %ld: %s WarningErrorFatal **++'`" * '`" . + PASM 68040 Macro Assembler Version Sep 20 1991 (C) 91 Pure Software Page %3d .LSTwb %08lX%c %02X %04X %08lX %04X%c%08lX%c%4ld%c***** %s%4ld%c%08lX%c %-20s %08lX ******** ExternalGlobal Local File %s EQUATECOMMONOFFSET%s Symbols: ======== %-20s %-8s %-8s %s NameValueScopeRelocation baseENDM ____%04ldPASM 68040 Assembler Pure Software Munich Copyright (C)1991 All Rights Reserved Version Sep 20 1991 Usage: PASM [options] file -1 68010 instructions -F No false condition listing -2 68020 instructions -I Additional include path -3 68030 instructions -M No macro line listing -4 68040 instructions -N Set output directory -5 68851 instructions -P Generate listing -8 68881 instructions -O Set output file name -A List all macro lines -S Supervisor instructions -B Generate DRI object file -U Undefined symbols external -C No include line listing -V Verbose message output -D Define symbol -Y Add debug information .S.O %d Error(s) %d Warning(s)~ v~vvvw v F   ~    v      ~     n^ DD ~~ vv   P@PP PP#"~@API##~PRPv@@P P B~~@RvB@B `einsPx}d e g l n b d o e c m k f j h i ` a @      HH!'+0@4B9=B GLQTVU`Qd\i^nRsTx_}US][VZPXYQ讁L@蹀L@ı H I!J"N#N#A$NP%& (' Nz)H*+p,%-+.0.5H/:D0>@0CNq"GF0ŀK@2PH@3TNp"Z^bglNt4pNs5t6xNw"|Nu"送T/U/W/Q/\/^/R/T/_/U/S/]/[/V/Z/P/X/Y/Nr7͐ѐQH@8J/N@9T:U:W:Q:\:^:R:#T:*_:1U:8S:?]:F[:MV:TZ:[P:aX:hY:oNv"J;uNX<z2=>"? > > >@@@@@@@@@@@@@@@@@@@ @@@@@$@+@1@7@=@C@I@O@T8?Y>^>d\AjfBpdBvDB}gB^AEAlBCCCCCCCCC C C C C CCCCC CCCC#C)C0C8C?CFCMCTC[CbCh ?m>s>{>>>>>>>>!>DEF#?=G%>@HIXAbB`B@BcBZAAAhB!&>(J,J1J7J=JCJIJOJTJY J_ Je Jk Jq JwJ|JJJJJJJJJJJJJJJJJ$>'>>0K>=(?> >>L"L*L3L<LELNLWL_Lg Lp Ly L L LLLLLLLLLLLLLLL LLL%L:M->5N:N?NDNINNNSNXN]NbNgNlNqNvN{NNOOOOOOOOO O O O O OOO0P$QR4P"S STU @V)W/X4X9X>XCXHXMXRXWX\ Xa Xf Xk Xp XuXzXYY(Z[[[[[[[[[ [ [ [ [ [[ [@@00  ABCDADDADDAADDIADDQADDXANDANDIASLASRBCCBCSBEQBGEBGTBHIBHSBLEBLOBLSBLTBMIBNEBPLBVCBVSBRABSRBCHGBCLRBSETBTSTBFCHGBFCLRBFEXTSBFEXTUBFFFOBFINSBFSETBFTSTBKPTCALLMCASCAS2CHKCHK2CMPCMPACMPICMPMCMP2DBCCDBCSDBEQDBFDBGEDBGTDBHIDBHSDBLEDBLODBLSDBLTDBMIDBNEDBPLDBTDBVCDBVSDBRADIVSDIVSLDIVUDIVULEOREORIEXGEXTEXTBILLEGALJMPJSRLEALINKLSLLSRMOVEMOVE16MOVEAMOVECMOVEMMOVEPMOVEQMOVESMULSMULUNBCDNEGNEGXNOPNOTPACKPEARESETROLRORROXLROXRRTDRTERTMRTRRTSSBCDSCCSCSSEQSFSGESGTSHISHSSLESLOSLSSLTSMISNESPLSVCSVSSTOPSUBSUBASUBISUBQSUBXSWAPTASTRAPTRAPCCTRAPCSTRAPEQTRAPFTRAPGETRAPGTTRAPHITRAPHSTRAPLETRAPLOTRAPLSTRAPLTTRAPMITRAPNETRAPPLTRAPTTRAPVCTRAPVSTRAPVUNLKUNPKFABSFACOSFADDFASINFATANFATANHFBFFBEQFBOGTFBOGEFBOLTFBOLEFBOGLFBORFBUNFBUEQFBUGTFBUGEFBULTFBULEFBNEFBTFBSFFBSEQFBGTFBGEFBLTFBLEFBGLFBGLEFBNGLEFBNGLFBNLEFBNLTFBNGEFBNGTFBSNEFBSTFCMPFCOSFCOSHFDABSFDADDFDDIVFDMOVEFDMULFDNEGFDSQRTFDSUBFDBFFDBEQFDBOGTFDBOGEFDBOLTFDBOLEFDBOGLFDBORFDBUNFDBUEQFDBUGTFDBUGEFDBULTFDBULEFDBNEFDBTFDBSFFDBSEQFDBGTFDBGEFDBLTFDBLEFDBGLFDBGLEFDBNGLEFDBNGLFDBNLEFDBNLTFDBNGEFDBNGTFDBSNEFDBSTFDIVFETOXFETOXM1FGETEXPFGETMANFINTFINTRZFLOG10FLOG2FLOGNFLOGNP1FMODFMOVEFMOVECRFMOVEMFMULFNEGFNOPFREMFRESTOREFSAVEFSABSFSADDFSDIVFSMOVEFSMULFSNEGFSSQRTFSSUBFSCALEFSFFSEQFSOGTFSOGEFSOLTFSOLEFSOGLFSORFSUNFSUEQFSUGTFSUGEFSULTFSULEFSNEFSTFSSFFSSEQFSGTFSGEFSLTFSLEFSGLFSGLEFSNGLEFSNGLFSNLEFSNLTFSNGEFSNGTFSSNEFSSTFSGLDIVFSGLMULFSINFSINCOSFSINHFSQRTFSUBFTANFTANHFTENTOXFTRAPFFTRAPEQFTRAPOGTFTRAPOGEFTRAPOLTFTRAPOLEFTRAPOGLFTRAPORFTRAPUNFTRAPUEQFTRAPUGTFTRAPUGEFTRAPULTFTRAPULEFTRAPNEFTRAPTFTRAPSFFTRAPSEQFTRAPGTFTRAPGEFTRAPLTFTRAPLEFTRAPGLFTRAPGLEFTRAPNGLEFTRAPNGLFTRAPNLEFTRAPNLTFTRAPNGEFTRAPNGTFTRAPSNEFTRAPSTFTWOTOXPBBSPBBCPBLSPBLCPBSSPBSCPBASPBACPBWSPBWCPBISPBICPBGSPBGCPBCSPBCCPDBBSPDBBCPDBLSPDBLCPDBSSPDBSCPDBASPDBACPDBWSPDBWCPDBISPDBICPDBGSPDBGCPDBCSPDBCCPFLUSHPFLUSHAPFLUSHRPFLUSHSPLOADRPLOADWPMOVEPMOVEFDPRESTOREPSAVEPSBSPSBCPSLSPSLCPSSSPSSCPSASPSACPSWSPSWCPSISPSICPSGSPSGCPSCSPSCCPTESTRPTESTWPVALIDPTRAPBSPTRAPBCPTRAPLSPTRAPLCPTRAPSSPTRAPSCPTRAPASPTRAPACPTRAPWSPTRAPWCPTRAPISPTRAPICPTRAPGSPTRAPGCPTRAPCSPTRAPCC/680106802068030680406885168881OPCEZ]`cfilorux{~                  " '+/36<AEIM P T X]bglqv{D0D1D2D3D4D5D6D7A0A1A2A3A4A5A6A7R0R1R2R3R4R5R6R7R8R9R10R11R12R13R14R15SPSRCCRUSPPCVBRSFCDFCCAARCACRISPMSPSSPZPCFP0FP1FP2FP3FP4FP5FP6FP7FPIARFPSRFPCRCRPSRPDRPTCMMUSRPCSRCALVALSCCACTT0TT1BAD0BAD1BAD2BAD3BAD4BAD5BAD6BAD7BAC0BAC1BAC2BAC3BAC4BAC5BAC6BAC7OPN;Source File: %s-D-I-O-N\OUT4294967295f x   "<2D   2:2 6 D     F      ,V  *< $ <26,& h >R<<<$ * :(D..(2". LV 8$ "  $   &  p T&Xp   >2<  >R  r*JD" &(& V4&     ":$     "0  .flP   (    , :   R  ^     *   (   4 "  *  P8(    ",6   f lN 4, 24 84 X   ( (:   ,  L$ ".66*L$ 28f  N(4HlL:h @r&4R8 "@<(D 2 > 0j Z V> 46R~d*H d&r"~Ю.|**f0^ :*X "fL   0FJv >`zT <^", <*( "hH , & Db 2, |T p4R,<*&8 4B @ (& .* JR 4 & t p Hj @@P\<8 *& JN"*Ҁ%A*  JrN%@.%C6%D2 JNLNuH(O6$HICx0]@gLS@g^S@g[@g`&C JNf" *6 J"jDN2 ** J"jLNC JNA0NΌ`C JN"LANJ@g29l"L *6$*6 j>N g&/* C_ASM.C Demoprogramm zum Aufruf von Assemblerroutinen aus C-Programmen und umgekehrt */ #include void SumMulFac( int x, int y ); /* definiert in ASM.S */ void fakult( int x ) { double y; int i; printf( "Die Fakultt von %d ist ", x ); if( x < 0 ) { puts( "nicht definiert" ); } else { for( i = 2, y = 1.0; i <= x; i++ ) y *= i; printf( "%lg\n", y ); } } int main( void ) { int x, y; puts( "Bitte zwei Integerzahlen eingeben:" ); scanf( "%d %d", &x, &y ); SumMulFac( x, y ); puts( "Bitte drcken" ); getchar(); return( 0 ); } p_Qxgt l|p }a|pY ||p Q9Xd|bpY l|p wSЪ܇ˬAƺ,fFpY lMҚ-O ܁¬BS A}=f L,GĜO,J!܀Ǭbi************************************** Program ten zostal sprowadzony do Polski przez Krata Soft w styczniu 1993 roku. Posiadamy 1400 dyskow z programami na Atari ST/STE/TT/Falcon. Znajdziecie nas na gieldzie "Elbud" w Krakowie przy ulicy Wadowickiej w kazda sobote i niedziele od godziny 8 do 13. Krata Soft ************************************** *************************************** * PROFFESIONAL SOFTWARE * * ATARI ST/STE/MEGA STE/TT/(FALCON) * * * * - MIDI * * - MUSIC * * - UTILS * * - GRAPHISC * * - GAMES * * - DEMOS, SOURCE CODES * * and more * * * * write to: * * PASKUD SOFTWARE * * 42-653 PIEKARY SL. * * ul. M.C.SKLODOWSKIEJ 127/1/13 * * phone: (032) 87-94-32 * * POLAND * *************************************** ************************************** Program ten zostal sprowadzony do Polski przez Krata Soft w styczniu 1993 roku. Posiadamy 1400 dyskow z programami na Atari ST/STE/TT/Falcon. Znajdziecie nas na gieldzie "Elbud" w Krakowie przy ulicy Wadowickiej w kazda sobote i niedziele od godziny 8 do 13. Krata Soft **************************************