home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-11-18 | 83.6 KB | 2,074 lines |
- Newsgroups: alt.lang.basic
- Path: sparky!uunet!mcsun!sun4nl!star.cs.vu.nl!jprins
- From: jprins@cs.vu.nl (Someone)
- Subject: Multi Window Editor / DOS Shell
- Message-ID: <Bxx08C.BBG@cs.vu.nl>
- Summary: Multi Window Editor / DOS Shell
- Keywords: editor, shell
- Sender: news@cs.vu.nl
- Organization: Fac. Wiskunde & Informatica, VU, Amsterdam
- Date: Wed, 18 Nov 1992 14:00:12 GMT
- Lines: 2061
-
-
- : This is a shar archive. Extract with sh, not csh.
- : This archive ends with exit, so do not worry about trailing junk.
- : --------------------------- cut here --------------------------
- PATH=/bin:/usr/bin:/usr/ucb
- echo Extracting 'readme'
- sed 's/^X//' > 'readme' << '+ END-OF-FILE ''readme'
- XGreetings,
- X
- XThis is my Multi Window Editor/ DOS Shell (so far).
- XI am having serious problems with allocating string space. At the moment I
- Xcannot process files any larger than about 25Kb, which is really demotivating
- Xfor me. I know I have to implement page swapping, but that seems so useless
- Xwhen working with pages of about 1Kb (slow).
- XThe basics are working fine, resizing, moving etc. windows, dos window..
- XTo start this at runtime enter: qb /l q4t /run pedit.asc
- XCompiling into an executable could be done when including the q4t library.
- X-> q4tool.lib is obtained from simtel20!!
- X
- XCommand Summary:
- X
- XAlt-W Window Menu
- XAlt-R Resize window
- XAlt-M Move window
- XAlt-C Close window
- XAlt-0 Open/Activate window 0 = DOS Shell window
- XAlt-<1-4> Open/Activate window 1
- XAlt-O Options Menu
- XAlt-F File Menu
- XAlt-L Load file
- XAlt-S Save file
- X
- XHm.. maybe I left a few out.. but.. ok.
- X
- XWHY am I posting? Maybe someone clever could point out how to go further
- Xin a simple manner (or not), maybe it's just a nice idea but not very
- Xpractical, I don't know, and maybe someone could pick up a few hints (ehr..)
- X
- XRegards, Jeroen.
- X
- + END-OF-FILE readme
- chmod 'u=rw,g=,o=' 'readme'
- set `wc -c 'readme'`
- count=$1
- case $count in
- 1161) :;;
- *) echo 'Bad character count in ''readme' >&2
- echo 'Count should be 1161' >&2
- esac
- echo Extracting 'pedit.cfg'
- sed 's/^X//' > 'pedit.cfg' << '+ END-OF-FILE ''pedit.cfg'
- X>
- X 1
- X 3
- X 1
- X 4
- X 79
- X 14
- X 4
- X 6
- X 110
- X 7
- X 2
- XDOS Shell
- XPEDIT.SWP
- X 40
- X 1
- X 41
- X 24
- XNONAME01.TXT
- XNONAME01.TXT
- X 4
- X 4
- X 51
- X 20
- XNONAME02.TXT
- XNONAME02.TXT
- X 14
- X 8
- X 44
- X 17
- XNONAME03.TXT
- XNONAME03.TXT
- X 12
- X 6
- X 27
- X 17
- XNONAME04.TXT
- XNONAME04.TXT
- X 10
- X 11
- X 37
- X 13
- X
- X
- + END-OF-FILE pedit.cfg
- chmod 'u=rw,g=r,o=r' 'pedit.cfg'
- set `wc -c 'pedit.cfg'`
- count=$1
- case $count in
- 549) :;;
- *) echo 'Bad character count in ''pedit.cfg' >&2
- echo 'Count should be 549' >&2
- esac
- echo Extracting 'pedit.asc'
- sed 's/^X//' > 'pedit.asc' << '+ END-OF-FILE ''pedit.asc'
- XDECLARE SUB wordleft (nr!)
- XDECLARE SUB wordright (nr!)
- XDECLARE FUNCTION letter! (c$)
- XDECLARE SUB beginofline (nr!)
- XDECLARE SUB endofline (nr!)
- XDECLARE SUB rewriteline (nr!, lin!, ypos%)
- XDECLARE SUB loadinteractive (nr!)
- XDECLARE SUB saveinteractive (nr!)
- XDECLARE SUB savefile (nr!, filename$, linestart!, lineend!)
- XDECLARE FUNCTION extractfilenames! (nr!, c$)
- XDECLARE SUB menufile (nr!)
- XDECLARE FUNCTION fieldinput$ (title$, tx%, lx%)
- XDECLARE SUB dosprompt (writeprompt!)
- XDECLARE SUB saveconfig (f$)
- XDECLARE SUB closewindow (nr!)
- XDECLARE SUB showstatus ()
- XDECLARE SUB checkfatal ()
- XDECLARE SUB pgdn (nr!)
- XDECLARE SUB pgup (nr!)
- XDECLARE SUB cursorup (nr!)
- XDECLARE SUB cursorright (nr!, skip!)
- XDECLARE SUB cursordown (nr!)
- XDECLARE SUB resizewindow (nr!)
- XDECLARE SUB refresh ()
- XDECLARE SUB movewindow (nr!)
- XDECLARE SUB outlinewindow (nr!)
- XDECLARE SUB moveright (nr!)
- XDECLARE SUB moveup (nr!)
- XDECLARE SUB moveleft (nr!)
- XDECLARE SUB movedown (nr!)
- XDECLARE SUB readconfig (f$)
- XDECLARE SUB cursorleft (nr!)
- XDECLARE SUB readconfigfile ()
- XDECLARE SUB loadfile (nr!, filename$, lineno!, scroll!)
- XDECLARE SUB scrollup (nr!, steps!)
- XDECLARE SUB backspace (nr!, wipe!, skip!)
- XDECLARE SUB scrollleft (nr!, steps!)
- XDECLARE SUB openwindow (windwnr!)
- XDECLARE SUB scrolldown (nr!, steps!)
- XDECLARE SUB scrollright (nr!, steps!)
- XDECLARE SUB rewritewindow (nr!)
- XDECLARE SUB nextline (nr!, insert!)
- XDECLARE SUB dosshell ()
- XDECLARE SUB delchar (nr!)
- XDECLARE SUB curs (nr!, visible!)
- XDECLARE SUB writechar (nr!, char$)
- XDECLARE SUB menuwindow (nr!)
- XDECLARE SUB escape ()
- XDECLARE SUB menuoptions ()
- XDECLARE SUB openwindow (windwnr!)
- XDECLARE SUB activatewindow (windwnr!)
- XREM $INCLUDE: 'q4t.bi'
- X
- X' type declarations
- X
- XCONST maxwin = 4
- XTYPE windwtype
- X titel AS STRING * 12 'title on top of window
- X filename AS STRING * 80 'full pathname of the file
- X tx AS INTEGER 'top x coordinate
- X ty AS INTEGER 'top y coordinate
- X lx AS INTEGER 'width of window
- X ly AS INTEGER 'height of window
- X x AS INTEGER 'real x cursor position
- X y AS INTEGER 'real y cursor position
- X leftmargin AS INTEGER 'real x startpoint in editbuffer
- X topmargin AS INTEGER 'real y startpoint in editbuffer
- X textx AS INTEGER 'relative x cursor position
- X texty AS INTEGER 'relative y cursor position
- X lasty AS INTEGER 'actual number of lines in buffer
- X display AS INTEGER '1 if window is currently displayed
- X mem AS INTEGER 'total memory usage of contents
- XEND TYPE
- XDIM windw(0 TO maxwin) AS windwtype
- XDIM scrnbuf(1 TO 1) AS STRING * 4000
- XDIM regel$(0 TO maxwin, 500)
- XCOMMON SHARED windw() AS windwtype, scrnbuf() AS STRING * 4000, regel$(), back%, sysback%, sysfore%, sysborder%, sysframe%, editback%, editfore%, editborder%, editframe%, shadow%, active, statusline, pagesize, prompt$, cfg$
- X
- X' setup system
- X
- XON ERROR GOTO setuperror
- Xp = INSTR(COMMAND$, "-")
- XIF p > 0 THEN
- X q = INSTR(p + 1, COMMAND$, " ")
- X IF q = 0 THEN q = LEN(COMMAND$)
- X cfg$ = MID$(COMMAND$, p + 1, q - p)
- X c$ = LEFT$(COMMAND$, p - 1) + RIGHT$(COMMAND$, LEN(COMMAND$) - q)
- XELSE
- X cfg$ = "pedit.cfg"
- X c$ = COMMAND$
- XEND IF
- XCALL readconfig(cfg$)
- Xpagesize = (FRE(0) - 10000) / maxwin
- X
- X' read commandline arguments
- X
- Xnr = extractfilenames(1, c$)
- X
- X' display windows
- X
- XLOCATE 1, 1, 0
- XCOLOR 0, back%, back%
- XCLS
- XIF nr > 0 THEN
- X FOR t = 1 TO nr
- X CALL openwindow(t)
- X ON ERROR GOTO loaderror
- X CALL loadfile(t, windw(t).filename, 1, 0)
- Xnextfile:
- X NEXT t
- X active = nr
- XELSE
- X CALL openwindow(1)
- X active = 1
- XEND IF
- X
- X' welcome screen if no arguments passed
- X
- XIF COMMAND$ = "" THEN
- X CALL putscrn(scrnbuf(1))
- X CALL dowindow(16, 20, 9, 60, sysborder%, sysback%, sysframe%, shadow%, "Press any key to begin", 1)
- X CALL prtscrn("Welcome to PEDIT V2.0 !", 19, 39, sysfore%)
- X CALL prtscrn("(c) 1992 by Prinssoft Corporation. All rights reserved.", 22, 23, sysfore% - 8)
- X c$ = INPUT$(1)
- X CALL getscrn(scrnbuf(1))
- XEND IF
- X
- XCALL dosprompt(0)
- XCALL curs(active, 1)
- X
- Xmain:
- X
- XON ERROR GOTO resumer
- XCALL checkfatal
- XDO
- X c$ = INKEY$
- X IF active >= 0 THEN
- X IF LEFT$(c$, 1) <> CHR$(0) THEN
- X SELECT CASE LEFT$(c$, 1)
- X CASE CHR$(27)
- X CALL escape
- X CASE CHR$(32) TO CHR$(255)
- X CALL writechar(active, LEFT$(c$, 1))
- X CASE CHR$(13)
- X CALL curs(active, 0)
- X CALL nextline(active, 1)
- X IF active = 0 THEN CALL dosshell
- X CASE CHR$(8)
- X CALL backspace(active, 1, 1)
- X CASE ELSE
- X END SELECT
- X ELSE
- X SELECT CASE RIGHT$(c$, 1)
- X CASE CHR$(72) 'cursor-up
- X CALL cursorup(active)
- X CASE CHR$(75) 'cursor-left
- X CALL backspace(active, 0, 1)
- X CASE CHR$(77) 'cursor-right
- X CALL cursorright(active, 1)
- X CASE CHR$(80) 'cursor-down
- X CALL cursordown(active)
- X CASE CHR$(73) 'pgup
- X CALL pgup(active)
- X CASE CHR$(81) 'pgdn
- X CALL pgdn(active)
- X CASE CHR$(71) 'home
- X CALL beginofline(active)
- X CASE CHR$(79) 'end
- X CALL endofline(active)
- X CASE CHR$(115) 'ctrl-left
- X CALL wordleft(active)
- X CASE CHR$(116) 'ctrl-right
- X CALL wordright(active)
- X CASE CHR$(46) 'alt-c
- X CALL closewindow(active)
- X IF active = -1 THEN GOTO exitif
- X CASE CHR$(24) 'alt-o
- X CALL menuoptions
- X CASE CHR$(17) 'alt-w
- X CALL menuwindow(active)
- X IF active = -1 THEN GOTO exitif
- X CASE CHR$(50) 'alt-m
- X CALL movewindow(active)
- X CASE CHR$(19) 'alt-r
- X CALL resizewindow(active)
- X CASE CHR$(33) 'alt-f
- X CALL menufile(active)
- X CASE CHR$(38) 'alt-l
- X CALL loadinteractive(active)
- X CASE CHR$(31) 'alt-s
- X CALL saveinteractive(active)
- X CASE CHR$(120) TO CHR$(120 + maxwin - 1)
- X CALL curs(active, 0)
- X active = ASC(RIGHT$(c$, 1)) - 119
- X CALL activatewindow(active)
- X CASE CHR$(129)
- X CALL curs(active, 0)
- X active = 0
- X CALL activatewindow(active)
- X CASE ELSE
- X REM IF RIGHT$(c$, 1) <> "" THEN PRINT ASC(RIGHT$(c$, 1))
- X END SELECT
- X END IF
- X IF statusline = 1 THEN CALL showstatus
- X ELSE
- X IF c$ = CHR$(27) THEN CALL escape
- X SELECT CASE RIGHT$(c$, 1)
- X CASE CHR$(120) TO CHR$(120 + maxwin - 1)
- X active = ASC(RIGHT$(c$, 1)) - 119
- X CALL activatewindow(active)
- X CASE CHR$(129)
- X active = 0
- X CALL activatewindow(active)
- X CASE ELSE
- X END SELECT
- X END IF
- Xexitif:
- XLOOP
- X
- Xresumer:
- XRESET
- XCALL checkfatal
- XCALL putscrn(scrnbuf(1))
- XIF sysback% = 0 AND sysfore% = 0 THEN
- X sysback% = 4
- X sysfore% = 75
- XEND IF
- XSELECT CASE ERR
- XCASE 53
- X msg$ = "Could not open file!"
- XCASE 5
- X msg$ = "System would not accept function call!"
- XCASE 9
- X msg$ = "System buffer sizes are too small!"
- XCASE 64
- X msg$ = "System command is not accepted!"
- XCASE 62
- X msg$ = "Syntax error in config file!"
- XCASE ELSE
- X msg$ = "Internal system failure (" + STR$(ERR) + " )"
- XEND SELECT
- XCALL dowindow(20, 30, 5, 50, sysborder%, sysback%, sysframe%, shadow%, "Internal failure", 0)
- Xxpos% = 56 - LEN(msg$) / 2
- XCALL prtscrn(msg$, 22, xpos%, sysfore%)
- Xc$ = INPUT$(1)
- XCALL getscrn(scrnbuf(1))
- XRESUME main
- X
- Xsetuperror:
- XPRINT "Sorry.. I could not open configurationfile " + cfg$
- XPRINT "You can give an alternative path with pedit -<filespec>"; ""
- XEND
- X
- Xloaderror:
- XRESUME nextfile
- X
- XSUB activatewindow (nr)
- X
- XCALL openwindow(nr)
- XCALL rewritewindow(nr)
- XCALL curs(nr, 1)
- X
- XEND SUB
- X
- XSUB backspace (nr, wipe, skip)
- X
- XIF wipe = 1 THEN
- X temp$ = regel$(nr, windw(nr).texty)
- X IF windw(nr).textx > LEN(temp$) AND LEN(temp$) > 0 THEN
- X regel$(nr, windw(nr).texty) = LEFT$(temp$, LEN(temp$) - 1)
- X ELSE
- X IF windw(nr).textx > 1 THEN
- X regel$(nr, windw(nr).texty) = LEFT$(temp$, windw(nr).textx - 2) + RIGHT$(temp$, LEN(temp$) - windw(nr).textx + 1)
- X ELSE
- X IF windw(nr).texty > 1 THEN
- X windw(nr).textx = LEN(regel$(nr, windw(nr).texty - 1)) + 1
- X regel$(nr, windw(nr).texty - 1) = regel$(nr, windw(nr).texty - 1) + regel$(nr, windw(nr).texty)
- X IF windw(nr).texty <= windw(nr).lasty THEN
- X FOR i = windw(nr).texty TO windw(nr).lasty
- X regel$(nr, i) = regel$(nr, i + 1)
- X NEXT i
- X windw(nr).lasty = windw(nr).lasty - 1
- X END IF
- X CALL rewritewindow(nr)
- X END IF
- X END IF
- X END IF
- XEND IF
- XIF (windw(nr).x > windw(nr).tx + 1 + skip) OR (windw(nr).x = windw(nr).tx + 1 + skip AND windw(nr).leftmargin = skip) THEN
- X CALL curs(nr, 0)
- X windw(nr).x = windw(nr).x - skip
- X windw(nr).textx = windw(nr).textx - skip
- X lin = windw(nr).texty
- X CALL rewriteline(nr, lin, windw(nr).y)
- XELSE ' we are at the left border of the window
- X IF windw(nr).leftmargin > skip THEN ' we have more text waiting
- X CALL scrollleft(nr, skip)
- X windw(nr).textx = windw(nr).textx - skip
- X ELSE
- X IF windw(nr).texty > 1 THEN ' we can go a line back
- X CALL curs(nr, 0)
- X IF windw(nr).y > windw(nr).ty + 1 THEN 'we are not at
- X windw(nr).y = windw(nr).y - 1 'top of window
- X ELSE
- X CALL scrollup(nr, 1)
- X END IF
- X windw(nr).texty = windw(nr).texty - 1
- X length = LEN(regel$(nr, windw(nr).texty))
- X IF wipe = 0 THEN windw(nr).textx = length + 1
- X IF length < windw(nr).lx - 2 OR windw(nr).textx < windw(nr).lx - 2 THEN
- X windw(nr).x = windw(nr).tx + windw(nr).textx
- X ELSE ' we have to scroll right as well
- X windw(nr).x = windw(nr).tx + windw(nr).lx - 2
- X CALL scrollright(nr, windw(nr).textx - (windw(nr).lx - 2))
- X END IF
- X END IF
- X END IF
- XEND IF
- XCALL curs(nr, 1)
- X
- XEND SUB
- X
- XSUB beginofline (nr)
- X
- XCALL curs(nr, 0)
- Xwindw(nr).textx = 1
- Xwindw(nr).x = windw(nr).tx + 1
- Xwindw(nr).leftmargin = 1
- XCALL rewritewindow(nr)
- XCALL curs(nr, 1)
- X
- XEND SUB
- X
- XSUB checkfatal
- X
- XIF FRE(0) < 4000 THEN
- X CALL dowindow(18, 16, 7, 64, sysborder%, sysback%, sysframe%, shadow%, "Fatal Error", 0)
- X CALL prtscrn("Out of memory", 20, 42, sysfore% + 128)
- X CALL prtscrn("I will crash upon resume!", 22, 36, sysfore%)
- X CALL prtscrn("Press a key to flush buffers and quit", 23, 30, sysfore%)
- X c$ = INPUT$(1)
- X FOR i = 1 TO maxwin
- X lineend = windw(i).lasty
- X CALL savefile(i, windw(i).filename, 1, lineend)
- X NEXT i
- X END
- XEND IF
- XIF FRE(-2) < 0 THEN
- X CALL putscrn(scrnbuf(1))
- X CALL dowindow(18, 30, 7, 50, sysborder%, sysback%, sysframe%, shadow%, "Fatal Error", 0)
- X CALL prtscrn("Out of stack space", 20, 45, sysfore% + 128)
- X CALL prtscrn("I may crash upon further difficulties!", 22, 36, sysfore%)
- X CALL prtscrn("I recommend you to save your files and restart", 23, 32, sysfore%)
- X c$ = INPUT$(1)
- X CALL getscrn(scrnbuf(1))
- XEND IF
- X
- XEND SUB
- X
- XSUB closewindow (nr)
- X
- Xwindw(nr).display = 0
- XIF nr = active THEN
- X FOR i = active TO 0 STEP -1
- X IF windw(i).display = 1 THEN EXIT FOR
- X NEXT i
- X IF i = -1 THEN
- X FOR i = active + 1 TO maxwin
- X IF windw(i).display = 1 THEN EXIT FOR
- X NEXT i
- X IF i = maxwin + 1 THEN i = -1
- X END IF
- X active = i
- XEND IF
- XCALL refresh
- X
- XEND SUB
- X
- XSUB curs (nr, visible)
- X
- XLOCATE windw(nr).y, windw(nr).x, visible, 11, 12
- X
- XEND SUB
- X
- XSUB cursordown (nr)
- X
- XIF windw(nr).texty < windw(nr).lasty THEN
- X CALL curs(nr, 0)
- X windw(nr).texty = windw(nr).texty + 1
- X IF windw(nr).textx > LEN(regel$(nr, windw(nr).texty)) + 1 THEN
- X windw(nr).textx = LEN(regel$(nr, windw(nr).texty)) + 1
- X IF windw(nr).leftmargin > 1 THEN
- X temp = LEN(regel$(nr, windw(nr).texty - 1)) - LEN(regel$(nr, windw(nr).texty))
- X IF temp > windw(nr).leftmargin THEN CALL scrollleft(nr, temp)
- X END IF
- X windw(nr).x = windw(nr).tx + windw(nr).textx - windw(nr).leftmargin + 1
- X END IF
- X IF windw(nr).y < windw(nr).ty + windw(nr).ly - 2 THEN
- X windw(nr).y = windw(nr).y + 1
- X ELSE
- X CALL scrolldown(nr, 1)
- X END IF
- X CALL curs(nr, 1)
- XEND IF
- X
- XEND SUB
- X
- XSUB cursorright (nr, skip)
- X
- XCALL curs(nr, 0)
- Xwindw(nr).textx = windw(nr).textx + skip
- XIF windw(nr).textx > LEN(regel$(nr, windw(nr).texty)) + 1 THEN
- X IF windw(nr).texty < windw(nr).lasty THEN
- X CALL nextline(nr, 0)
- X ELSE
- X windw(nr).textx = windw(nr).textx - skip
- X END IF
- XELSE
- X IF windw(nr).x > windw(nr).tx + windw(nr).lx - 2 - skip THEN
- X CALL scrollright(nr, skip)
- X ELSE
- X windw(nr).x = windw(nr).x + skip
- X END IF
- XEND IF
- XCALL curs(nr, 1)
- X
- XEND SUB
- X
- XSUB cursorup (nr)
- X
- XIF windw(nr).texty > 1 THEN
- X CALL curs(nr, 0)
- X windw(nr).texty = windw(nr).texty - 1
- X IF windw(nr).textx > LEN(regel$(nr, windw(nr).texty)) + 1 THEN
- X windw(nr).textx = LEN(regel$(nr, windw(nr).texty)) + 1
- X IF windw(nr).leftmargin > 1 THEN
- X temp = LEN(regel$(nr, windw(nr).texty + 1)) - LEN(regel$(nr, windw(nr).texty))
- X IF temp > windw(nr).leftmargin THEN CALL scrollleft(nr, temp)
- X END IF
- X windw(nr).x = windw(nr).tx + windw(nr).textx - windw(nr).leftmargin + 1
- X END IF
- X IF windw(nr).y > windw(nr).ty + 1 THEN
- X windw(nr).y = windw(nr).y - 1
- X ELSE
- X CALL scrollup(nr, 1)
- X END IF
- X CALL curs(nr, 1)
- XEND IF
- X
- XEND SUB
- X
- XSUB dosprompt (writeprompt)
- X
- XIF writeprompt = 1 THEN
- X FOR i = 1 TO LEN(prompt$)
- X CALL writechar(0, MID$(prompt$, i, 1))
- X NEXT i
- XELSE
- X regel$(0, windw(0).texty) = prompt$
- X windw(0).textx = windw(0).textx + LEN(prompt$)
- X windw(0).x = windw(0).x + LEN(prompt$)
- XEND IF
- X
- XEND SUB
- X
- XSUB dosshell
- X
- XON ERROR GOTO resumer
- XIF LEFT$(regel$(0, windw(0).texty - 1), LEN(prompt$)) = prompt$ THEN
- X cmd$ = RIGHT$(regel$(0, windw(0).texty - 1), LEN(regel$(0, windw(0).texty - 1)) - LEN(prompt$))
- X IF LCASE$(LEFT$(cmd$, 2)) = "cd" AND LEN(cmd$) > 3 THEN
- X CHDIR RIGHT$(cmd$, LEN(cmd$) - 3)
- X ELSE
- X IF LEN(cmd$) = 2 AND MID$(cmd$, 2, 1) = ":" THEN
- X SHELL cmd$
- X ELSE
- X SHELL cmd$ + " > " + windw(0).filename
- X END IF
- X lineno = windw(nr).texty
- X CALL loadfile(0, windw(0).filename, lineno, 1)
- X END IF
- X CALL nextline(0, 1)
- X CALL dosprompt(1)
- X CALL curs(0, 1)
- XEND IF
- X
- XEND SUB
- X
- XSUB endofline (nr)
- X
- XCALL curs(nr, 0)
- Xwindw(nr).textx = LEN(regel$(nr, windw(nr).texty)) + 1
- XIF windw(nr).textx < windw(nr).lx - 2 THEN
- X windw(nr).x = windw(nr).tx + windw(nr).textx
- XELSE
- X windw(nr).x = windw(nr).tx + windw(nr).lx - 2
- X CALL scrollright(nr, windw(nr).textx - (windw(nr).lx - 2))
- XEND IF
- XCALL curs(nr, 1)
- X
- XEND SUB
- X
- XSUB escape
- X
- XCALL putscrn(scrnbuf(1))
- XCALL dowindow(20, 50, 5, 30, sysborder%, sysback%, sysframe%, shadow%, "Exit", 0)
- XCALL prtscrn("Discard all changes (y/n)?", 22, 52, sysfore%)
- XIF LCASE$(INPUT$(1)) = "y" THEN
- X COLOR 7, 0, 0
- X CLS
- X END
- XEND IF
- XCALL getscrn(scrnbuf(1))
- X
- XEND SUB
- X
- XFUNCTION extractfilenames (nr, c$)
- X
- XDO WHILE (c$ <> "")
- X IF INSTR(c$, " ") > 0 THEN
- X temp$ = LEFT$(c$, INSTR(c$, " ") - 1)
- X ELSE
- X temp$ = c$
- X END IF
- X windw(nr).filename = temp$
- X FOR t = LEN(temp$) TO 1 STEP -1
- X IF MID$(temp$, t, 1) = "\" OR MID$(temp$, t, 1) = "/" THEN EXIT FOR
- X NEXT t
- X temp2$ = RIGHT$(temp$, LEN(temp$) - t)
- X l = LEN(temp2$)
- X IF l > 12 THEN temp2$ = LEFT$(temp2$, 12)
- X windw(nr).titel = SPACE$(INT((12 - l) / 2)) + temp2$ + SPACE$(FIX((12 - l) / 2))
- X IF INSTR(c$, " ") > 0 THEN
- X c$ = RIGHT$(c$, LEN(c$) - LEN(temp$) - 1)
- X ELSE
- X c$ = ""
- X END IF
- X nr = nr + 1
- X IF nr > maxwin THEN EXIT DO
- XLOOP
- Xextractfilenames = nr - 1
- X
- XEND FUNCTION
- X
- XFUNCTION fieldinput$ (title$, tx%, lx%)
- X
- XCALL dowindow(19, tx%, 5, lx%, sysborder%, sysback%, sysframe%, shadow%, title$, 0)
- Xi = tx% + 2
- XDO WHILE i < tx% + lx% - 2
- X c$ = INPUT$(1)
- X SELECT CASE c$
- X CASE CHR$(13)
- X EXIT DO
- X CASE CHR$(8)
- X IF LEN(temp$) > 0 THEN temp$ = LEFT$(temp$, LEN(temp$) - 1)
- X CASE ELSE
- X temp$ = temp$ + c$
- X i = i + 1
- X END SELECT
- X CALL prtscrn(temp$ + " ", 21, tx% + 2, sysfore%)
- XLOOP
- Xfieldinput$ = temp$
- X
- XEND FUNCTION
- X
- XFUNCTION letter (c$)
- X
- XIF (c$ >= CHR$(48) AND c$ <= CHR$(57)) OR (c$ >= CHR$(65) AND c$ <= CHR$(90)) OR (c$ >= CHR$(97) AND c$ <= CHR$(122)) THEN letter = 1 ELSE letter = 0
- X
- XEND FUNCTION
- X
- XSUB loadfile (nr, filename$, lineno, scroll)
- X
- Xbottom = windw(nr).ty + windw(nr).ly - 3
- XOPEN filename$ FOR INPUT AS #1
- XWHILE NOT EOF(1) AND windw(nr).mem < pagesize
- Xtemp = FRE(0)
- XLINE INPUT #1, regel$(nr, lineno)
- XIF FRE(0) < 4000 THEN CALL checkfatal
- Xwindw(nr).mem = windw(nr).mem + temp - FRE(0)
- Xlineno = lineno + 1
- XIF scroll = 1 THEN
- X IF windw(nr).y > bottom THEN
- X windw(nr).topmargin = windw(nr).topmargin + 1
- X ELSE
- X windw(nr).y = windw(nr).y + 1
- X END IF
- XEND IF
- XWEND
- XCLOSE #1
- XIF scroll = 1 THEN windw(nr).texty = lineno
- Xwindw(nr).lasty = lineno
- Xwindw(nr).leftmargin = 1
- XCALL rewritewindow(nr)
- X
- XEND SUB
- X
- XSUB loadinteractive (nr)
- X
- XON ERROR GOTO resumer
- XCALL putscrn(scrnbuf(1))
- Xname$ = UCASE$(fieldinput$("Enter Filename(s)", 3, 77))
- XCALL getscrn(scrnbuf(1))
- XIF name$ <> "" THEN
- X FOR i = nr TO extractfilenames(nr, name$)
- X CALL openwindow(i)
- X lineno = windw(i).texty
- X CALL loadfile(i, windw(i).filename, lineno, 0)
- X NEXT i
- X active = i - 1
- X CALL curs(active, 1)
- XEND IF
- X
- XEND SUB
- X
- XSUB menufile (nr)
- X
- XCALL putscrn(scrnbuf(1))
- XCALL dowindow(14, 65, 11, 15, sysborder%, sysback%, sysframe%, shadow%, "File", 0)
- XCALL prtscrn("Load Alt-l", 16, 67, sysfore%)
- XCALL prtscrn("Save Alt-s", 17, 67, sysfore%)
- XCALL prtscrn("save Block", 18, 67, sysfore%)
- XCALL prtscrn("Change name", 20, 67, sysfore%)
- XCALL prtscrn("New", 22, 67, sysfore%)
- XSELECT CASE LCASE$(INPUT$(1))
- XCASE "l"
- X CALL getscrn(scrnbuf(1))
- X CALL loadinteractive(nr)
- X EXIT SUB
- XCASE "c"
- X name$ = UCASE$(fieldinput$("Enter New Filename(s)", 3, 77))
- X CALL getscrn(scrnbuf(1))
- X IF name$ <> "" THEN
- X FOR i = nr TO extractfilenames(nr, name$)
- X CALL activatewindow(i)
- X NEXT i
- X active = i - 1
- X END IF
- X EXIT SUB
- XCASE "s"
- X CALL getscrn(scrnbuf(1))
- X CALL saveinteractive(nr)
- X
- XCASE "n"
- X CALL getscrn(scrnbuf(1))
- X CALL curs(nr, 0)
- X FOR i = 1 TO windw(nr).lasty
- X regel$(nr, i) = ""
- X NEXT i
- X windw(nr).lasty = 1
- X windw(nr).leftmargin = 1
- X windw(nr).topmargin = 1
- X windw(nr).texty = 1
- X windw(nr).textx = 1
- X windw(nr).x = windw(nr).tx + 1
- X windw(nr).y = windw(nr).ty + 1
- X CALL rewritewindow(nr)
- X CALL curs(nr, 1)
- X EXIT SUB
- XCASE ELSE
- XEND SELECT
- XCALL getscrn(scrnbuf(1))
- X
- XEND SUB
- X
- XSUB menuoptions
- X
- XCALL putscrn(scrnbuf(1))
- XCALL dowindow(4, 55, 20, 25, sysborder%, sysback%, sysframe%, shadow%, "Environment Options", 0)
- XCALL prtscrn("1 root background", 6, 57, back%)
- XCALL prtscrn("2 system foreground", 8, 57, sysfore%)
- XCALL prtscrn("3 system background", 9, 57, sysback%)
- XCALL prtscrn("4 system border", 10, 57, sysback% * 16 + sysborder%)
- XCALL prtscrn("5 system frame style", 11, 57, sysfore%)
- XCALL prtscrn("6 edit foreground", 13, 57, editfore%)
- XCALL prtscrn("7 edit background", 14, 57, editback%)
- XCALL prtscrn("8 edit border", 15, 57, editback% * 16 + editborder%)
- XCALL prtscrn("9 edit frame style", 16, 57, sysfore%)
- XCALL prtscrn("shell Prompt", 18, 57, sysfore%)
- XCALL prtscrn("Toggle statusline", 19, 57, sysfore%)
- XCALL prtscrn("sHadow style", 20, 57, sysfore%)
- XCALL prtscrn("Save environment", 22, 57, sysfore%)
- XSELECT CASE LCASE$(INPUT$(1))
- XCASE "1"
- X CALL dowindow(19, 35, 5, 40, sysborder%, sysback%, sysframe%, shadow%, "Root background", 0)
- X DO
- X CALL prtscrn("Cursor to select, Escape to accept", 21, 37, back%)
- X c$ = INKEY$
- X SELECT CASE c$
- X CASE CHR$(0) + CHR$(72)
- X IF back% < 7 THEN back% = back% + 1
- X CASE CHR$(0) + CHR$(80)
- X IF back% > 0 THEN back% = back% - 1
- X CASE CHR$(27)
- X EXIT DO
- X CASE ELSE
- X END SELECT
- X LOOP
- XCASE "2"
- X CALL dowindow(19, 35, 5, 40, sysborder%, sysback%, sysframe%, shadow%, "System foreground", 0)
- X DO
- X CALL prtscrn("Cursor to select, Escape to accept", 21, 37, sysfore%)
- X c$ = INKEY$
- X SELECT CASE c$
- X CASE CHR$(0) + CHR$(72)
- X IF sysfore% < 127 THEN sysfore% = sysfore% + 1
- X CASE CHR$(0) + CHR$(80)
- X IF sysfore% > 0 THEN sysfore% = sysfore% - 1
- X CASE CHR$(27)
- X EXIT DO
- X CASE ELSE
- X END SELECT
- X LOOP
- XCASE "3"
- X CALL dowindow(19, 35, 5, 40, sysborder%, sysback%, sysframe%, shadow%, "System background", 0)
- X DO
- X CALL prtscrn("Cursor to select, Escape to accept", 21, 37, sysback%)
- X c$ = INKEY$
- X SELECT CASE c$
- X CASE CHR$(0) + CHR$(72)
- X IF sysback% < 7 THEN sysback% = sysback% + 1
- X CASE CHR$(0) + CHR$(80)
- X IF sysback% > 0 THEN sysback% = sysback% - 1
- X CASE CHR$(27)
- X EXIT DO
- X CASE ELSE
- X END SELECT
- X LOOP
- XCASE "4"
- X CALL dowindow(19, 35, 5, 40, sysborder%, sysback%, sysframe%, shadow%, "System border", 0)
- X DO
- X CALL prtscrn("Cursor to select, Escape to accept", 21, 37, sysback% * 16 + sysborder%)
- X c$ = INKEY$
- X SELECT CASE c$
- X CASE CHR$(0) + CHR$(72)
- X IF sysborder% < 7 THEN sysborder% = sysborder% + 1
- X CASE CHR$(0) + CHR$(80)
- X IF sysborder% > 0 THEN sysborder% = sysborder% - 1
- X CASE CHR$(27)
- X EXIT DO
- X CASE ELSE
- X END SELECT
- X LOOP
- XCASE "5"
- X CALL dowindow(19, 35, 5, 40, sysborder%, sysback%, sysframe%, shadow%, "System frame style", 0)
- X DO
- X CALL prtscrn("Frame style = " + CHR$(sysframe% + 48), 21, 37, sysback% * 16 + sysborder%)
- X c$ = INKEY$
- X SELECT CASE c$
- X CASE CHR$(0) + CHR$(72)
- X IF sysframe% < 5 THEN sysframe% = sysframe% + 1
- X CASE CHR$(0) + CHR$(80)
- X IF sysframe% > 0 THEN sysframe% = sysframe% - 1
- X CASE CHR$(27)
- X EXIT DO
- X CASE ELSE
- X END SELECT
- X LOOP
- XCASE "6"
- X CALL dowindow(19, 35, 5, 40, sysborder%, sysback%, sysframe%, shadow%, "Edit foreground", 0)
- X DO
- X CALL prtscrn("Cursor to select, Escape to accept", 21, 37, editfore%)
- X c$ = INKEY$
- X SELECT CASE c$
- X CASE CHR$(0) + CHR$(72)
- X IF editfore% < 127 THEN editfore% = editfore% + 1
- X CASE CHR$(0) + CHR$(80)
- X IF editfore% > 0 THEN editfore% = editfore% - 1
- X CASE CHR$(27)
- X EXIT DO
- X CASE ELSE
- X END SELECT
- X LOOP
- XCASE "7"
- X CALL dowindow(19, 35, 5, 40, sysborder%, sysback%, sysframe%, shadow%, "Edit background", 0)
- X DO
- X CALL prtscrn("Cursor to select, Escape to accept", 21, 37, editback%)
- X c$ = INKEY$
- X SELECT CASE c$
- X CASE CHR$(0) + CHR$(72)
- X IF editback% < 7 THEN editback% = editback% + 1
- X CASE CHR$(0) + CHR$(80)
- X IF editback% > 0 THEN editback% = editback% - 1
- X CASE CHR$(27)
- X EXIT DO
- X CASE ELSE
- X END SELECT
- X LOOP
- XCASE "8"
- X CALL dowindow(19, 35, 5, 40, sysborder%, sysback%, sysframe%, shadow%, "Edit border", 0)
- X DO
- X CALL prtscrn("Cursor to select, Escape to accept", 21, 37, editback% * 16 + editborder%)
- X c$ = INKEY$
- X SELECT CASE c$
- X CASE CHR$(0) + CHR$(72)
- X IF editborder% < 7 THEN editborder% = editborder% + 1
- X CASE CHR$(0) + CHR$(80)
- X IF editborder% > 0 THEN editborder% = editborder% - 1
- X CASE CHR$(27)
- X EXIT DO
- X CASE ELSE
- X END SELECT
- X LOOP
- XCASE "9"
- X CALL dowindow(19, 35, 5, 40, sysborder%, sysback%, sysframe%, shadow%, "Edit frame style", 0)
- X DO
- X CALL prtscrn("Frame style = " + CHR$(editframe% + 48), 21, 37, sysback% * 16 + sysborder%)
- X c$ = INKEY$
- X SELECT CASE c$
- X CASE CHR$(0) + CHR$(72)
- X IF editframe% < 5 THEN editframe% = editframe% + 1
- X CASE CHR$(0) + CHR$(80)
- X IF editframe% > 0 THEN editframe% = editframe% - 1
- X CASE CHR$(27)
- X EXIT DO
- X CASE ELSE
- X END SELECT
- X LOOP
- XCASE "h"
- X CALL dowindow(19, 35, 5, 40, sysborder%, sysback%, sysframe%, shadow%, "Shadow Style", 0)
- X DO
- X SELECT CASE shadow%
- X CASE 0
- X msg$ = "None "
- X CASE 1
- X msg$ = "Left Solid "
- X CASE 2
- X msg$ = "Right Solid "
- X CASE 3
- X msg$ = "Left Grid (default)"
- X CASE 4
- X msg$ = "Right Grid "
- X END SELECT
- X CALL prtscrn(msg$, 21, 37, sysback% * 16 + sysborder%)
- X c$ = INKEY$
- X SELECT CASE c$
- X CASE CHR$(0) + CHR$(72)
- X IF shadow% < 4 THEN shadow% = shadow% + 1
- X CASE CHR$(0) + CHR$(80)
- X IF shadow% > 0 THEN shadow% = shadow% - 1
- X CASE CHR$(27)
- X EXIT DO
- X CASE ELSE
- X END SELECT
- X LOOP
- X CALL refresh
- XCASE "p"
- X prompt$ = fieldinput$("New prompt", 50, 15)
- XCASE "t"
- X IF statusline = 1 THEN
- X statusline = 0
- X CALL getscrn(scrnbuf(1))
- X CALL prtscrn(STRING$(9, 205), windw(active).ty + windw(active).ly - 1, windw(active).tx + windw(active).lx - 10, editback% * 16 + editborder%)
- X EXIT SUB
- X ELSE
- X statusline = 1
- X END IF
- XCASE "s"
- X CALL dowindow(19, 50, 5, 15, sysborder%, sysback%, sysframe%, shadow%, "Save", 0)
- X CALL prtscrn("Saving..", 21, 53, sysfore%)
- X CALL saveconfig(cfg$)
- XCASE ELSE
- XEND SELECT
- XCALL getscrn(scrnbuf(1))
- X
- XEND SUB
- X
- XSUB menuwindow (nr)
- X
- XCALL putscrn(scrnbuf(1))
- XCALL dowindow(11, 60, 14, 20, sysborder%, sysback%, sysframe%, shadow%, "Window", 0)
- XCALL prtscrn("Move Alt-M", 13, 62, sysfore%)
- XCALL prtscrn("Resize Alt-R", 14, 62, sysfore%)
- XCALL prtscrn("maXimize", 16, 62, sysfore%)
- XCALL prtscrn("mInimize", 17, 62, sysfore%)
- XCALL prtscrn("Open/Act Alt-<nr>", 19, 62, sysfore%)
- XCALL prtscrn("Close Alt-C", 20, 62, sysfore%)
- XCALL prtscrn("reFresh display", 22, 62, sysfore%)
- XSELECT CASE LCASE$(INPUT$(1))
- XCASE "o", "a"
- X CALL dowindow(19, 50, 5, 15, sysborder%, sysback%, sysframe%, shadow%, "Activate", 0)
- X CALL prtscrn("Window Nr?", 21, 52, sysfore%)
- X c$ = INPUT$(1)
- X CALL getscrn(scrnbuf(1))
- X IF c$ >= "1" AND c$ <= CHR$(maxwin + 48) THEN
- X CALL curs(nr, 0)
- X active = ASC(c$) - 48
- X CALL activatewindow(active)
- X END IF
- XCASE "m"
- X CALL getscrn(scrnbuf(1))
- X CALL movewindow(nr)
- XCASE "r"
- X CALL getscrn(scrnbuf(1))
- X CALL resizewindow(nr)
- XCASE "x"
- X CALL getscrn(scrnbuf(1))
- X windw(nr).x = windw(nr).x - (windw(nr).tx - 3)
- X windw(nr).y = windw(nr).y - (windw(nr).ty - 1)
- X windw(nr).tx = 3
- X windw(nr).ty = 1
- X windw(nr).lx = 78
- X windw(nr).ly = 24
- X CALL refresh
- XCASE "i"
- X windw(nr).topmargin = windw(active).texty
- X windw(nr).x = windw(active).tx + 1
- X windw(nr).y = windw(active).ty + 1
- X windw(nr).lx = 18
- X windw(nr).ly = 3
- X CALL refresh
- XCASE "c"
- X CALL closewindow(nr)
- XCASE "f"
- X CALL refresh
- XCASE ELSE
- X CALL getscrn(scrnbuf(1))
- XEND SELECT
- X
- XEND SUB
- X
- XSUB movewindow (nr)
- X
- XCALL putscrn(scrnbuf(1))
- XCALL outlinewindow(nr)
- XDO
- X c$ = INKEY$
- X IF LEFT$(c$, 1) <> CHR$(0) THEN
- X IF LEFT$(c$, 1) = CHR$(27) THEN EXIT DO
- X ELSE
- X SELECT CASE RIGHT$(c$, 1)
- X CASE CHR$(75)
- X IF windw(nr).tx > 3 THEN
- X CALL getscrn(scrnbuf(1))
- X windw(nr).tx = windw(nr).tx - 1
- X windw(nr).x = windw(nr).x - 1
- X CALL outlinewindow(nr)
- X END IF
- X CASE CHR$(77)
- X IF windw(nr).tx + windw(nr).lx < 81 THEN
- X CALL getscrn(scrnbuf(1))
- X windw(nr).tx = windw(nr).tx + 1
- X windw(nr).x = windw(nr).x + 1
- X CALL outlinewindow(nr)
- X END IF
- X CASE CHR$(72)
- X IF windw(nr).ty > 1 THEN
- X CALL getscrn(scrnbuf(1))
- X windw(nr).ty = windw(nr).ty - 1
- X windw(nr).y = windw(nr).y - 1
- X CALL outlinewindow(nr)
- X END IF
- X CASE CHR$(80)
- X IF windw(nr).ty + windw(nr).ly < 25 THEN
- X CALL getscrn(scrnbuf(1))
- X windw(nr).ty = windw(nr).ty + 1
- X windw(nr).y = windw(nr).y + 1
- X CALL outlinewindow(nr)
- X END IF
- X CASE ELSE
- X END SELECT
- X END IF
- XLOOP
- XCALL refresh
- X
- XEND SUB
- X
- XSUB nextline (nr, insert)
- X
- XIF insert = 1 THEN
- X temp$ = regel$(nr, windw(nr).texty)
- X FOR i = windw(nr).lasty + 1 TO windw(nr).texty + 2 STEP -1
- X regel$(nr, i) = regel$(nr, i - 1)
- X NEXT i
- X IF windw(nr).textx > LEN(temp$) THEN
- X regel$(nr, i) = ""
- X ELSE
- X regel$(nr, i - 1) = LEFT$(temp$, windw(nr).textx - 1)
- X regel$(nr, i) = RIGHT$(temp$, LEN(temp$) - windw(nr).textx + 1)
- X END IF
- X windw(nr).lasty = windw(nr).lasty + 1
- XEND IF
- Xwindw(nr).x = windw(nr).tx + 1
- Xwindw(nr).textx = 1
- Xwindw(nr).texty = windw(nr).texty + 1
- XIF windw(nr).y < windw(nr).ty + windw(nr).ly - 2 THEN
- X windw(nr).y = windw(nr).y + 1
- X CALL rewritewindow(nr)
- XELSE
- X CALL scrolldown(nr, 1)
- XEND IF
- XIF windw(nr).leftmargin > 1 THEN CALL scrollleft(nr, windw(nr).leftmargin + 1)
- XCALL curs(nr, 1)
- X
- XEND SUB
- X
- XSUB openwindow (nr)
- X
- XCALL dowindow(windw(nr).ty, windw(nr).tx, windw(nr).ly, windw(nr).lx, editborder%, editback%, editframe%, shadow%, windw(nr).titel, 2)
- Xwindw(nr).display = 1
- X
- XEND SUB
- X
- XSUB outlinewindow (nr)
- X
- XCALL putscrn(scrnbuf(1))
- Xocolor% = editback% * 16 + 15 - editborder%
- Xtop$ = CHR$(218) + STRING$((((windw(nr).lx - 2) / 2) - LEN(windw(nr).titel) / 2), 196) + windw(nr).titel + STRING$(FIX(((windw(nr).lx - 2) / 2) - LEN(windw(nr).titel) / 2), 196) + CHR$(191)
- Xbot$ = CHR$(192) + STRING$(windw(nr).lx - 2, 196) + CHR$(217)
- XCALL prtscrn(top$, windw(nr).ty, windw(nr).tx, ocolor%)
- XCALL prtscrn(bot$, windw(nr).ty + windw(nr).ly - 1, windw(nr).tx, ocolor%)
- XFOR y% = windw(nr).ty + 1 TO windw(nr).ty + windw(nr).ly - 2
- X CALL prtscrn(CHR$(179), y%, windw(nr).tx, ocolor%)
- X CALL prtscrn(CHR$(179), y%, windw(nr).tx + windw(nr).lx - 1, ocolor%)
- XNEXT y%
- X
- XEND SUB
- X
- XSUB pgdn (nr)
- X
- XCALL curs(nr, 0)
- Xsteps = windw(nr).ly - 2
- XIF windw(nr).texty + steps <= windw(nr).lasty THEN
- X CALL scrolldown(nr, steps)
- X windw(nr).texty = windw(nr).texty + steps
- XEND IF
- XCALL curs(nr, 1)
- X
- XEND SUB
- X
- XSUB pgup (nr)
- X
- XCALL curs(nr, 0)
- Xsteps = windw(nr).ly - 2
- XIF windw(nr).topmargin - steps >= 1 THEN
- X CALL scrollup(nr, steps)
- X windw(nr).texty = windw(nr).texty - steps
- XELSE
- X CALL scrollup(nr, windw(nr).topmargin - 1)
- X windw(nr).texty = 1
- X windw(nr).y = windw(nr).ty + 1
- XEND IF
- XCALL curs(nr, 1)
- X
- XEND SUB
- X
- XSUB readconfig (f$)
- X
- XOPEN f$ FOR INPUT AS #1
- XINPUT #1, prompt$
- XINPUT #1, statusline
- XINPUT #1, shadow%
- XINPUT #1, back%
- XINPUT #1, sysback%
- XINPUT #1, sysfore%
- XINPUT #1, sysborder%
- XINPUT #1, sysframe%
- XINPUT #1, editback%
- XINPUT #1, editfore%
- XINPUT #1, editborder%
- XINPUT #1, editframe%
- XFOR t = 0 TO maxwin
- X INPUT #1, windw(t).titel
- X INPUT #1, windw(t).filename
- X INPUT #1, windw(t).tx
- X INPUT #1, windw(t).ty
- X INPUT #1, windw(t).lx
- X INPUT #1, windw(t).ly
- X windw(t).x = windw(t).tx + 1
- X windw(t).y = windw(t).ty + 1
- X windw(t).leftmargin = 1
- X windw(t).topmargin = 1
- X windw(t).textx = 1
- X windw(t).texty = 1
- X windw(t).lasty = 1
- X windw(t).mem = 1
- XNEXT t
- XCLOSE #1
- X
- XEND SUB
- X
- XSUB refresh
- X
- XLOCATE , , 0
- XCLS
- XFOR t = 0 TO maxwin
- X IF windw(t).display = 1 AND t <> active THEN
- X CALL activatewindow(t)
- X CALL curs(t, 0)
- X END IF
- XNEXT t
- XIF active >= 0 THEN IF windw(active).display = 1 THEN CALL activatewindow(active)
- X
- XEND SUB
- X
- XSUB resizewindow (nr)
- X
- XCALL putscrn(scrnbuf(1))
- XCALL outlinewindow(nr)
- XDO
- X c$ = INKEY$
- X IF LEFT$(c$, 1) <> CHR$(0) THEN
- X IF LEFT$(c$, 1) = CHR$(27) THEN EXIT DO
- X ELSE
- X SELECT CASE RIGHT$(c$, 1)
- X CASE CHR$(75)
- X IF windw(nr).lx > 18 THEN
- X CALL getscrn(scrnbuf(1))
- X windw(nr).lx = windw(nr).lx - 1
- X CALL outlinewindow(nr)
- X END IF
- X CASE CHR$(77)
- X IF windw(nr).tx + windw(nr).lx < 81 THEN
- X CALL getscrn(scrnbuf(1))
- X windw(nr).lx = windw(nr).lx + 1
- X CALL outlinewindow(nr)
- X END IF
- X CASE CHR$(72)
- X IF windw(nr).ly > 3 THEN
- X CALL getscrn(scrnbuf(1))
- X windw(nr).ly = windw(nr).ly - 1
- X CALL outlinewindow(nr)
- X END IF
- X CASE CHR$(80)
- X IF windw(nr).ty + windw(nr).ly < 25 THEN
- X CALL getscrn(scrnbuf(1))
- X windw(nr).ly = windw(nr).ly + 1
- X CALL outlinewindow(nr)
- X END IF
- X CASE ELSE
- X END SELECT
- X END IF
- XLOOP
- XCALL refresh
- X
- XEND SUB
- X
- XSUB rewriteline (nr, lin, ypos%)
- X
- Xwinwidth = windw(nr).lx - 2
- Xtemp$ = MID$(regel$(nr, lin), windw(nr).leftmargin, winwidth)
- XCALL prtscrn(temp$, ypos%, windw(nr).tx% + 1, editfore%)
- XIF LEN(temp$) < winwidth THEN CALL prtscrn(SPACE$(winwidth - LEN(temp$)), ypos%, windw(nr).tx% + LEN(temp$) + 1, editfore%)
- X
- XEND SUB
- X
- XSUB rewritewindow (nr)
- X
- XFOR i% = windw(nr).ty + 1 TO windw(nr).ty + windw(nr).ly - 2
- X winwidth = windw(nr).lx - 2
- X temp$ = MID$(regel$(nr, windw(nr).topmargin + (i% - windw(nr).ty) - 1), windw(nr).leftmargin, winwidth)
- X CALL prtscrn(temp$, i%, windw(nr).tx% + 1, editfore%)
- X IF LEN(temp$) < winwidth THEN CALL prtscrn(SPACE$(winwidth - LEN(temp$)), i%, windw(nr).tx% + LEN(temp$) + 1, editfore%)
- XNEXT i%
- X
- XEND SUB
- X
- XSUB saveconfig (f$)
- X
- XOPEN f$ FOR OUTPUT AS #1
- XPRINT #1, prompt$
- XPRINT #1, statusline
- XPRINT #1, shadow%
- XPRINT #1, back%
- XPRINT #1, sysback%
- XPRINT #1, sysfore%
- XPRINT #1, sysborder%
- XPRINT #1, sysframe%
- XPRINT #1, editback%
- XPRINT #1, editfore%
- XPRINT #1, editborder%
- XPRINT #1, editframe%
- XFOR t = 0 TO maxwin
- X PRINT #1, windw(t).titel
- X PRINT #1, windw(t).filename
- X PRINT #1, windw(t).tx
- X PRINT #1, windw(t).ty
- X PRINT #1, windw(t).lx
- X PRINT #1, windw(t).ly
- XNEXT t
- XCLOSE #1
- X
- XEND SUB
- X
- XSUB savefile (nr, filename$, linestart, lineend)
- X
- XOPEN filename$ FOR OUTPUT AS #1
- XFOR i = linestart TO lineend
- X PRINT #1, regel$(nr, i)
- XNEXT i
- XCLOSE #1
- X
- XEND SUB
- X
- XSUB saveinteractive (nr)
- X
- XCALL putscrn(scrnbuf(1))
- XCALL dowindow(19, 50, 5, 15, sysborder%, sysback%, sysframe%, shadow%, "Save", 0)
- XCALL prtscrn("Saving..", 21, 53, sysfore%)
- Xlineend = windw(nr).lasty
- XCALL savefile(nr, windw(nr).filename, 1, lineend)
- XCALL getscrn(scrnbuf(1))
- X
- XEND SUB
- X
- XSUB scrolldown (nr, steps)
- X
- Xwindw(nr).topmargin = windw(nr).topmargin + steps
- XCALL rewritewindow(nr)
- X
- XEND SUB
- X
- XSUB scrollleft (nr, steps)
- X
- Xwindw(nr).leftmargin = windw(nr).leftmargin - steps
- XIF windw(nr).leftmargin < 1 THEN windw(nr).leftmargin = 1
- XCALL rewritewindow(nr)
- X
- XEND SUB
- X
- XSUB scrollright (nr, steps)
- X
- Xwindw(nr).leftmargin = windw(nr).leftmargin + steps
- XCALL rewritewindow(nr)
- X
- XEND SUB
- X
- XSUB scrollup (nr, steps)
- X
- Xwindw(nr).topmargin = windw(nr).topmargin - steps
- XIF windw(nr).topmargin < 1 THEN windw(nr).topmargin = 1
- XCALL rewritewindow(nr)
- X
- XEND SUB
- X
- XSUB showstatus
- X
- Xtemp1$ = RIGHT$(STR$(windw(active).texty), LEN(STR$(windw(active).texty)) - 1)
- Xtemp2$ = RIGHT$(STR$(windw(active).textx), LEN(STR$(windw(active).textx)) - 1)
- XCALL prtscrn(STRING$(4 - LEN(temp1$), 48) + temp1$ + ":" + STRING$(4 - LEN(temp2$), 48) + temp2$, windw(active).ty + windw(active).ly - 1, windw(active).tx + windw(active).lx - 10, editback% * 16 + editborder%)
- X
- XEND SUB
- X
- XSUB wordleft (nr)
- X
- XIF windw(nr).textx = 1 THEN
- X CALL cursorup(nr)
- X CALL endofline(nr)
- XEND IF
- Xtemp$ = regel$(nr, windw(nr).texty)
- XFOR i = windw(nr).textx - 1 TO 2 STEP -1
- X IF letter(MID$(temp$, i, 1)) = 1 AND letter(MID$(temp$, i - 1, 1)) = 0 THEN EXIT FOR
- XNEXT i
- XIF i > 1 THEN
- X CALL backspace(nr, 0, windw(nr).textx - i)
- XELSE
- X CALL beginofline(nr)
- XEND IF
- X
- XEND SUB
- X
- XSUB wordright (nr)
- X
- Xtemp$ = regel$(nr, windw(nr).texty)
- XFOR i = windw(nr).textx + 1 TO LEN(temp$)
- X IF letter(MID$(temp$, i - 1, 1)) = 0 AND letter(MID$(temp$, i, 1)) = 1 THEN EXIT FOR
- XNEXT i
- XIF i <= LEN(temp$) THEN
- X CALL cursorright(nr, i - windw(nr).textx)
- XELSE
- X CALL cursordown(nr)
- X CALL beginofline(nr)
- XEND IF
- X
- XEND SUB
- X
- XSUB writechar (nr, char$)
- X
- Xtemp$ = regel$(nr, windw(nr).texty)
- XIF windw(nr).textx > LEN(temp$) THEN
- X regel$(nr, windw(nr).texty) = temp$ + char$
- X CALL prtscrn(char$, windw(nr).y, windw(nr).x, editfore%)
- XELSE
- X regel$(nr, windw(nr).texty) = LEFT$(temp$, windw(nr).textx - 1) + char$ + RIGHT$(temp$, LEN(temp$) - windw(nr).textx + 1)
- X lin = windw(nr).texty
- X CALL rewriteline(nr, lin, windw(nr).y)
- XEND IF
- Xwindw(nr).textx = windw(nr).textx + 1
- XIF windw(nr).x > windw(nr).tx + windw(nr).lx - 3 THEN
- X CALL scrollright(nr, 1)
- XELSE
- X windw(nr).x = windw(nr).x + 1
- XEND IF
- XCALL curs(nr, 1)
- X
- XEND SUB
- X
- + END-OF-FILE pedit.asc
- chmod 'u=rw,g=r,o=r' 'pedit.asc'
- set `wc -c 'pedit.asc'`
- count=$1
- case $count in
- 42576) :;;
- *) echo 'Bad character count in ''pedit.asc' >&2
- echo 'Count should be 42576' >&2
- esac
- echo Extracting 'q4t.bi'
- sed 's/^X//' > 'q4t.bi' << '+ END-OF-FILE ''q4t.bi'
- X'----------------------------------------------------------------------------
- X' ** Q4T.BI **
- X' The $INCLUDE file needed for the operation of Q4T.QLB and Q4T.LIB
- X' Written by R. J. Crouch - April 1990
- X' Copyright - 1990 - CareWare
- X'----------------------------------------------------------------------------
- X
- XDECLARE FUNCTION Ctr! (strg$)
- XDECLARE SUB Delay (lenght!, Forced%)
- X
- XTYPE RegType
- X ax AS INTEGER
- X bx AS INTEGER
- X cx AS INTEGER
- X dx AS INTEGER
- X bp AS INTEGER
- X si AS INTEGER
- X di AS INTEGER
- X flags AS INTEGER
- X ds AS INTEGER
- X es AS INTEGER
- XEND TYPE
- X
- + END-OF-FILE q4t.bi
- chmod 'u=rw,g=r,o=r' 'q4t.bi'
- set `wc -c 'q4t.bi'`
- count=$1
- case $count in
- 702) :;;
- *) echo 'Bad character count in ''q4t.bi' >&2
- echo 'Count should be 702' >&2
- esac
- echo Extracting 'q4t.lib.uu'
- sed 's/^X//' > 'q4t.lib.uu' << '+ END-OF-FILE ''q4t.lib.uu'
- Xbegin 644 q4t.lib
- XM\ T #0 $ ( 9 !=E.EQD96UO7'%B7&%B<V]L=71E+F%S;5>(
- XM# HPAA8G-O;'5T96*( P" GE>6+ !D1'4D]54 U!0E-/3%5415]415A4
- XM!$1!5$$$0T]$101?0E-3!5]$051!49@' $@, ,% 028!P!( '! $-F <
- XM2 !@0!#IH& +_ O\#6XP( 5")%-%1P BD \ $(04)33TQ55$4 #Y
- XMB 0 *(!T: 0 $ %A:6U)0_S8 /\WRVJ<!@#$!Q8! 7N* @ = "
- XM%P 593I<9&5M;UQQ8EQI;G1R<'0N87-M&8@* "C!FEN=')P="2( P" GE>6
- XM)0 !D1'4D]54 1$051!!$-/1$4%7T1!5$$+24Y44E!47U1%6%0CF < 2 <!
- XM!@0!!I@' $@ 4# 1":! "_P)?D!X $)24Y415)255!4 "DE.5$52
- XM4E505%@- _B 0 *(!T: + 0$ %6+[(/$XL=&^@@ ZPM5B^R#Q.+'1OH*
- XM (EVY(E^XHQ>_)R/1OZ+=@B-?N:+3OK\%@?SI56+=@J+' K_= /I " ^R5T
- XM!8#[)G4.N @ 4+@"RE"X@\10ZP<SP%"XR@90BN.PS5 .N 4!:+Q 4& %"+
- XM1O0EU0]0BT;FBU[HBT[JBU;LBW;PBW[R@W[Z"'04@7[V__]T XY>]H%^^/__
- XM= ..1OB+;NZ=RU6+[(MN IR/1O3_=OZ=B4;FB5[HB4[JB5;LBT;>B4;NB7;P
- XMB7[RC%[VC$;XCE[\C7;F'@>+?@:+3OK\\Z6+=N2+?N*+Y5W*!@"+=@K'!/__
- XMBW;DBW[BCE[\B^5=R@8 ZYP/ (0^ $!\0#$9@ ! :@ S(H" !T @!D
- XM%V4Z7&1E;6]<<6)<:6YT.#9O;&0N87-MOH@, "C"&EN=#@V;VQDR8@# (">
- XM5Y8G &1$=23U50#4E.5#@V3TQ$7U1%6%0$1$%4001#3T1%!5]$051!R)@'
- XM $@> 0,% ?&8!P!( &! $.F@0 O\"7Y < !"$E.5#@V3TQ$ "4E.
- XM5#@V6$],1 T &V(! H@'1H"(! 0 58OL@\3@QT;X" #K"U6+[(/$X,=&
- XM^ H B7;BB7[@G(]&_HMV!N@ (E6_(E&^HMV".@ !Z.VHOPC7[DBT[X_!8'
- XM\Z4?58MV"HL<"O]T ^D (#[)70%@/LF=0ZX" !0N +*4+B#Q%#K!S/ 4+C*
- XM!E"*X[#-4 ZX !0%HO$!08 4(M&\B75#U"+1N2+7N:+3NB+5NJ+=NZ+?O"#
- XM?O@(=!2!?O3__W0#CE[T@7[V__]T XY&]HMN[)W+58OLBVX"G(]&\O]V_IV)
- XM1N2)7N:)3NB)5NJ+1MR)1NR)=NZ)?O",7O2,1O86'XUVY(Y&_(M^^HM.^/SS
- XMI8MVXHM^X(OE7<H& !8?BW8*QP3__XMVXHM^X(OE7<H& (M4 HL$P_^<'0"$
- XM)@ ! 1@!A#( 0$8 810 $! P'$> ! ;H WXH" !T ( 1
- XM ]A<VU<9V5T<V-R;BYA<VU>B L *,'9V5T<V-R;LV6)@ !D1'4D]54 Q'
- XM15130U).7U1%6%0$1$%4001#3T1%!5]$051![)@' $@[ ,% =68!P!( &
- XM! $.F@0 O\"7Y . !!T=E=%-C<FX "DB 0 *(!T: _ $ %6+[!X&
- XM5E>+7@:+#XMW KL ([#)J%)!#P#?@<\!W0)Z9"0NP"XZ9"0NP"PCL._ #S
- XMI%]>!Q]=R@( KZ & $@ .L1/: & $F .L$1(H" %S @!$
- XM#V%S;5QP=71S8W)N+F%S;46("P HP=P=71S8W)NM)8F &1$=23U50#%!5
- XM5%-#4DY?5$585 1$051!!$-/1$4%7T1!5$'3F < 2#T P4!TY@' $@ 8$
- XM 0Z:! "_P)?D X $'4'5T<V-R;@ &N(! H@'1H$$ 0 58OL'@96
- XM5XM>!HL/BW\"NP CL,FH4D$/ -^!SP'= GID)"[ +CID)"[ + >CML'O@
- XM\Z1?7@<?7<H" &F@!@ !( #K$SN@!@ !)@#K!$2* @ !<P " # *
- XM431724Y$+D)!4Z^("@ HP9Q-'=I;F1NB"0 !-:6-R;W-O9G0@475I8VM"
- XM05-)0R!#;VUP:6QE<B T+C 2B D (%"0T]--#%HB 8 *$Q0U8'EJH ="
- XM0U]#3T1%!4),04Y+!T)#7U9!4E,'0D-?4T5'4P9$14)465 &1$5"4UE-!T)#
- XM7T1!5$$'0E)?1$%400="4E]32UE3!D-/34U/3@="0U]$051!!TY-04Q,3T,(
- XM14Y-04Q,3T,%0D-?1E0%0D-?0TX%0D-?1%,&0D-?4T%"!4)#7U-!!R0D5%E0
- XM15,))"1364U"3TQ3!D1'4D]54 M1-%=)3D1?0T]$1;68!P!H:@<7 @%NF <
- XM: "0,![)@' &@ H# >N8!P!X + P':F < 2 8 # @!_I@' %@ T$
- XM ?>8!P!8 .! 'VF < 2 #P4!!)@' &@J ! % ;F8!P!H P 1!0'?F <
- XM2 $@4! 9@' $@$ !,% ?R8!P @ 5!P$DF < ( % 8!)IH8 !;_ O\#
- XM_P3_!?\&_P?_"/\)_PK_"_\,]IP+ $0! $!"0($ P7[C!, R1!0P $)$1!
- XM0P %8B1S96< _* ( P !,G 8 S $ 0&,H#0 0 8FQ1-%=)3D0@
- XM( #__X 0V)P7 ,08
- XMA 3$#H0%Q!"$",0@A G$#( * @!AC!$ !D(D14Y200 &0B1305-3 "N@4P !
- XM, #I "Y ": +@ %"-1O)0F@ "+=@J#/ !_ ^D (,\ ;@ '4!
- XM2(,\ [D '4!20O((\EU ^D (MV%HL$!?[_B4;PB4;NZ0 %YP. ,P'5@3$
- XM#(D ,P45@65H" "0 %P $-O<'ER:6=H="TQ.3DP+4-A<F5787)E #"<
- XM!@#$ HD$ N@!@ !; 1 -R@.0 !?P"+=@J#/ *X !U 4B#/ 2Y !U 4D+
- XMR"/)=0/I "+=A:+!(M^$HO8 P6)1O"#PP*+PXE&[LR@!@ !?0 U *>@!@ !
- XMFP 7 *>@0@ !M "+=AB+!(M^% ,%/1D N0 ?@%)@W[P ;@ 'T!2 O!BT[P
- XM@\$"@_E0N@ ?@%*"] CTG4#Z0 BW8*QP0 "2@!@ !Z0 ' &F,"0 &0B1&
- XM4T-. -6@*@ !\@"+=@J#/ -T ^D (MV&/\TBW86BP1(4+@! %": (E&
- XM[.D $6<!0#,'%8&&Z & '[ !L 0Z O $8 8MV"H,\!'0#Z0 BW88_S2+
- XM=A:+!(M^$@,%0%"X 0!0F@ ")1NSI #]G 4 S"%6!A:@!@ !(0$@ !>@
- XM"0 !0P''1NP !F@!@ !%@$P !*@!@ !00$% !*,(0 &0B1&24PR 9")$E.
- XM5#0 !D(D1DE35 &0B1-54DT "*@,P !2 &X$ "94E"+1NR: ,TT-@
- XMS3V: )H )0< @^( 4E": (E&ZHZ<%@#,"E8'Q!&)' #,%E8(
- XMS!M6"<PH5@K'H @ "1P " 07*@!@ !40 D >.@@0 !=P&+=A:#/ &X !]
- XM 4B+=AB#/ &Y !] 4D+R"/)= /I "+=A:+!(M^$@,%2#U0 +D 'X!28MV
- XM&(L$BWX4 P5(/1D N@ ?@%*"]$CTG0#Z0 BW8.BP0E!P#1X-'@T>#1X(MV
- XM$ ,$B4;HBW8,@SP N ?@%(@SP&N0 ?;B,$0 &0B1&0TA2 9")%-#050
- XM/:!\ 'T 0%)(\@CR74#Z0 @SP!= /I #'1N;: ,=&Y+\ QT;BP #'1N#9
- XM ,=&WL0 QT;<LP#'1MK$ ,=&V+, N+0 4)H 4+@ %": %"-1M10
- XMF@ "X !0N,, 4)H 4)H 4(U&T%": .D (:<(P#,0%8+
- XMQ$:)( #,2E8,S%16!<19B2 S&%6"\QG5@S,<58%K: * D@ $ @LEJ<
- XM!@#$ HDD .N@!@ !!0)E .V@= !; *+=@R#/ )T ^D ,=&YLD QT;DNP#'
- XM1N+( ,=&X+P QT;>S0#'1MRZ ,=&VLT QT;8N@"XM0!0F@ !0N 4)H
- XM 4(U&U%": +@ %"XQ@!0F@ !0F@ !0C4;04)H Z0
- XMCYPC ,PX5@O$/HD@ ,Q"5@S,3%8%Q%&)( #,658+S%]6#,QI5@7MH 8 74"
- XM90!]H'0 =P"BW8,@SP#= /I #'1N;5 ,=&Y+@ QT;BU #'1N"^ ,=&WLT
- XMQT;<LP#'1MK- ,=&V+, N+4 4)H 4+@ %": %"-1M10F@ "X
- XM !0N,8 4)H 4)H 4(U&T%": .D !6<(P#,.%8+Q#Z)( #,
- XM0E8,S$Q6!<11B2 S%E6"\Q?5@S,:58%[: & 'E F4 #:!T %, XMV#(,\
- XM!'0#Z0 QT;FU@#'1N2W ,=&XM, QT;@T #'1M[$ ,=&W+H QT;:Q #'1MBZ
- XM +BT %": %"X !0F@ !0C4;44)H N 4+C# %": %":
- XM %"-1M!0F@ #I ":G", S#A6"\0^B2 S$)6#,Q,5@7$48D@ ,Q9
- XM5@O,7U8,S&E6!>V@!@ !50-E )R@<0 !O .+=@R#/ 5T ^D ,=&YML QT;D
- XMVP#'1N+; ,=&X-L QT;>WP#'1MS; ,=&VMP QT;8VP"XW0!0F@ !0N
- XM4)H 4(U&U%": +@ %"XW@!0F@ !0F@ !0C4;04)H
- XM()PC ,PX5@O$/HD@ ,Q"5@S,3%8%Q%&)( #,658+S%]6#,QI5@7MH 8 6H"
- XMO0$OH 8 =H"30$OH 8 4H#W0 OH 8 ;H#;0 OH 8 <4#8@ OC D !D(D
- XM4U1220"]H($ 2D$_W;FF@ !0BW82BP0%_O]0_W;>B4;.F@ !0F@
- XM !0_W;DF@ !0F@ !0C4;*4)H _W;<F@ !0_W;.N" 4)H
- XM 4)H 4/]VV)H 4)H 4(U&QE": /]VXIH 4/]V
- XMSO]?G#4 S 16"\P95@W,'U8,S"A6"\PN5@S,.%8%S$!6"\Q-5@W,4U8,S%Q6
- XM"\QB5@S,;%8%S'16"Z*,"@ '4%)44T-23@ WH&P :8$=MJ: %":
- XM %#_=N": %": %"-1L)0F@ "-1LI0_W88_W86C4;H4)H
- XMBW84BP2+?A@#!07^_XE&P(L%0.D )"-1L90C4:^4/]V%HU&Z%": (M&
- XMOD!CG!T S -6#<P)5@S,$E8+S!A6#,PB5@7,-58.S&!6#AN@!@ !\P09 $F@
- XM(P !#@6)1KX[1L!^X(U&PE"-1KY0_W86C4;H4)H Z0 'IP% ,P85@X7
- XMH 8 ?T!+@,JH$< 2T%BW82_S2X( !0F@ !0C4:X4)H BW84BP2+
- XM?A@#!4B)1KR+!>D (U&N%"-1KY0_W86C4;H4)H BT:^0$6<#0#,"E8-
- XMS!16!<P[5@YXH 8 58%& #FH P 7 %B4:^.T:\?N"VH 8 2L%2P#>C D
- XM!D(D4U1$3 #(H%\ 7@%BW8*@SP ?P/I "+=AB+!(M^%(O8 P5(B4:V0XO#
- XMZ0 D+@" %"XL0!0F@ !0C4:R4)H C4:R4(U&L%"-1O!0C4;J4)H
- XM C4:R4)H BT:P0)F<$0#,*U8-S#56!<Q*5@[,4U8/GZ & &7!3H
- XM@Z!" '3!8E&L#M&MGZ_BW82_S2XL0!0F@ !0C4:L4)H C4:L4(U&
- XML%"-1NY0C4;J4)H C4:L4)H /9P1 ,P25@W,'%8%S#%6#LPZ5@\#
- XMH 8 8$%C@!%C D !D(D1DQ%3@#:H& 1$&_W8(F@ +P+D 'X!2?]V
- XM"(E.JIH !00 BW82.P2Y !] 4DC3JHCR74#Z0 BW8&@SP N =0%(
- XM@SP"N0 =0%)"\@CR74#Z0 BW88BP2)1JCI -G D S 16$,P75A#<H 8
- XM 6 &"P#HH!( 6T&BW88BP2+?A0#!4B)1JA.H 8 6L@#:H#( 7L&BW8&
- XM@SP!?P/I "-1M10_W8(F@ !0C4;04)H 4(U&I%": .D /6<
- XM#0#,$U8,S!U6#,PG5@5]H 8 80&(P"LH"0 :D&N 4/]V")H 4+@
- XM %": %"-1J10F@ #*G!< Q &)( #,"%8,Q Z)( #,$E8,S!Q6!:N@
- XM!@ !IP8@ (R,"0 &0B1&25,R .N@4 !R0:+=A:+!)H BW82BP2+V(U&
- XMI%")7J*: "M&HO?8F@ #--#8 ,TZP9H B4:@C4:D4(U&J%"-
- XM1J!0C4;H4)H DYP: ,P&5@?,&580S"-6!\0JB28 S#!6$<Q(5@X,H @
- XM"28 0.F@!@ !0@;1 $"@!@ !E@%]!4"@!@ !QP%,!4"@3 !%0>-1KA0
- XMF@ "-1L)0F@ "-1M!0F@ "-1M10F@ "-1L90F@ "-1O)0
- XMF@ "-1J10F@ "-1LI0F@ #+G"$ S 56#\P.5@_,%U8/S"!6#\PI
- XM5@_,,E8/S#M6#\Q$5@^7H 8 30 5@#/C D !D(D15A300#.H P 5T'F@
- XM #*% !WG 4 S %6$BJ@!@ !,0 R!^^0#P 0A$3U=)3D1/5S, +J@!P *
- XM #__P%0C D !D(D0T5.4 #9H D 64'F@ !0G 4 S %6$RF* @ !<P
- XM " $0 /87-M7'!R='-C<FXN87-M2(@+ "C!W!R='-C<FZWEC 9$
- XM1U)/55 ,4%)44T-23E]415A4"4-!4D1?1$%4001$051!!$-/1$4%7T1!5$$P
- XMF H $ &, ! $!M9@' $A< ,& ;.8!P!( '!0$,F@0 O\#7I . "
- XM!U!R=%-C<FX "-B 0 *(!T92K "& !D 0 : , &P $ !P !0 =
- XM 8 'P ' " "@ A P (P - "0 $ E !( )P 3 "@ %@ I !@ *@ : "P
- XM'0 M " +@ B "\ )P P "D ,@ K #, +@ T #, -0 V #8 .0 W #L .0 ^
- XM #H 0P [ $8 / !) #T 2P _ $T 0 !. $$ 40!" %( 1 !4 $4 50!& %8
- XM1P!7 $@ 6 !) %D @J!@ ( %6+[%<>5@:+7@B+/T^+7@J+!TB+7@R+#^,Z
- XMBW<"NP CL,F]R8 /XT>>X + FBQX (/C,(/[,'0#N "X)HL6 "#P@:+
- XM7@:+'X[ I":('4?B^0=>'U]=R@@ VIP9 ,@>4 %C ,0E4 %* ,0Q4 $0 ,1!
- XM4 %C !Z* @ !<P ( , I1-%1/3TPN0D%3HX@* "C!G$T=&]O
- XM;&*() $UI8W)O<V]F="!1=6EC:T)!4TE#($-O;7!I;&5R(#0N,!*("0
- XM@4)254XT,5*(!@ H3%#5@>6J@ !T)#7T-/1$4%0DQ!3DL'0D-?5D%24P="
- XM0U]314=3!D1%0E194 9$14)364T'0D-?1$%400="4E]$051!!T)27U-+65,&
- XM0T]-34].!T)#7T1!5$$'3DU!3$Q/0PA%3DU!3$Q/0P5"0U]&5 5"0U]#3@5"
- XM0U]$4P9"0U]304(%0D-?4T$')"1465!%4PDD)%-934)/3%,&1$=23U50"U$T
- XM5$]/3%]#3T1%J9@' &BP 1<" 2Z8!P!H ) P'LF < : "@,!ZY@' '@
- XM L# =J8!P!("@ ," 'ZF < 6 #00!]Y@' %@ X$ ?:8!P!( /!0$$
- XMF < :"P $ 4!MY@' &@# !$% =^8!P!( 2!0$!F < 2 0 $P4!_)@' "
- XM !4' 228!P @ 4!@$FFA@ %O\"_P/_!/\%_P;_!_\(_PG_"O\+_PSVG L
- XM1 $ 0$) @0#!?N,$P #)$%# 0D1$%# 5B)'-E9P#\H @ # $R<
- XM!@#, 0! 8R@- ! !B;5$T5$]/3" @
- XM /__@ #;G!< Q!B$!,0.A 7$$(0(Q""$"<0,@ H" &&,
- XM*0 &0B1305-3 9")$5.4D$ !D(D1DQ%3@ &0B1&24PR 9")$9)4S( B:!+
- XM $P +@ %"X !0F@ #I "Y ": ,TU!@ _W8(F@ ":
- XM ,TT-@ S3KIF@ ": (MV!LTU',T]BT8&Y)PM ,0!B0 Q 6+!@#,
- XM"58$S!16!<0;B1P S"%6!LPF5@?$+8D@ ,PS5@C,.%8'L: H D !< !#
- XM;W!Y<FEG:'0M,3DY,"U#87)E5V%R90 "!" 0(:<!@#$ HD$ N@!@ !
- XM00 !B,"0 &0B1%6%-! ,Z@# !=P": ,H$ '2<!0#, 58),Z & $^
- XM #\ W) * ! T-44D #F,'@ &0B1424U2 M-3U5315-405154P &0B1&
- XM0TU0 *2@7P !?P#I "Y ": )H B_#--02+=@C-- 3--5[RS3V-
- XM1O!0F@ "+=@:+!"/ =0/I "0F@ "+\,TU!,TU7NS-/<TU1O+--4;L
- XMS3V: ';?Z0 Z)P5 ,P'5@7,#%8*S"96"\PX5@K,4E8,LJ & &S "4
- XM@8P1 9")$E.2UD !D(D4T--4 =H"H =H F@ !0N 4)H =0/I
- XM ": %"-1NA0F@ #KVY")G!8 S %6#<0'B20 S M6#LP55@W,'U8$
- XMXJ ( DD KG 8 Q *)* #GH 8 >P $@!;H"L 0 !S34& "+=@C-
- XM-03-/9H =0/I ": (OPS34$S35>[,T]IIP. ,0#B2@ S Y6#,P8
- XM5@I>H @ "2@ ">@!@ !%0$0 #.,#0 *34]54T5#3$E#2P!NH!\ 2<!
- XMBT;P(\!U ^D (U&YE"-1N10C4;B4)H 9)P% ,P75@\7H 8 2\!$0 8
- XMH%, 4(!F@ !0C4;>4)H S35&\LTU1NS-/9H N =@%(B]B-
- XM1MY0N 4(E>W)H N = %("T;<"T;F"T;D"T;B(\!U ^EO__^<%@#,
- XM 58-S M6!,P:5@S$*XDD ,PR5@ZGH 8 =@ MP#*C D !D(D4U1$3 #(H!8
- XM 9$!C4;>4)H C4;H4)H =YP) ,P%5A#,#E80Y* & !H O* ,
- XM &C 9H R@0 1YP% ,P!5@DSH 8 8 *0&OD P $%1$5,05F" !M
- XMH < "@ __\!4(P) 9")$-%3E V: ) &K 9H $)P% ,P!5A$KB@(
- XM 7, @ T "U$T34]54T4N0D%35H@+ "C!W$T;6]U<V7UB"0
- XM !-:6-R;W-O9G0@475I8VM"05-)0R!#;VUP:6QE<B T+C 2B D (%"4E5.
- XM-#%2B 8 *$Q0U8'EJL ="0U]#3T1%!4),04Y+!T)#7U9!4E,'0D-?4T5'
- XM4P9$14)465 &1$5"4UE-!T)#7T1!5$$'0E)?1$%400="4E]32UE3!D-/34U/
- XM3@="0U]$051!!TY-04Q,3T,(14Y-04Q,3T,%0D-?1E0%0D-?0TX%0D-?1%,&
- XM0D-?4T%"!4)#7U-!!R0D5%E015,))"1364U"3TQ3!D1'4D]54 Q1-$U/55-%
- XM7T-/1$5<F < :'8)%P(!8)@' &@ D# >R8!P!H * P'KF < > "P,!
- XMVI@' $A\ P( 8B8!P!8 -! 'WF < 6 #@0!]I@' $@ \% 028!P!H
- XM*@ 0!0&YF < : , $04!WY@' $@ !(% 0&8!P!(! 3!0'\F < ( %0<!
- XM))@' " !0& 2::& 6_P+_ _\$_P7_!O\'_PC_"?\*_PO_#/:<"P!$ 0 !
- XM 0D"! ,%^XP3 ,D04, !"1$04, !6(D<V5G /R@" , 3)P& ,P
- XM! $!C* T $ &)M431-3U5312
- XM __^ +"<%P#$&(0$Q Z$!<00A C$((0)Q R "@( 88PD 9"
- XM)$1$24T !D(D4T%34P &0B1%3E)! E)3E1%4E)54%0 N*"! $P #/ 4/\V
- XM "X @!0N $!4+@ %": #/ 4/\V "X @!0N $!4+@ %": +@
- XM %"X !0F@ #I "Y ": (MV"L<$ "+=@C'! BW8&QP0 ,<&
- XM # ,=&]#, C4;T4+@ %"X !0F@ "A ") 9Q' ,0%BV Q!"+3@#,
- XM%%8$Q!V+8 #$*(MB ,PL5@3$,8D ,0UBW0 S#E6!<Q$5@;$7XL& ,1MBP8
- XMQ'&+%@#,=58'Q'J+& !^H" "0 %P $-O<'ER:6=H="TQ.3DP+4-A<F57
- XM87)E #"<!@#$ HD$ N@$ !K0!&\B/ =0/I "C "#G 8 Q J+> "-H 8
- XM ;0 P"BH" ;D H0 .T;R=0/I E 0 CP'4#Z0 BW8*QP0! -"<!@#$
- XM 8MX ):@!@ !S ' (:@& !U0"A E @ CP'4#Z0 BW8&QP0! ).<!@#$
- XM 8MX ):@!@ !X ' '*@& !Z0"A E! CP'4#Z0 BW8(QP0! 'N<!@#$
- XM 8MX ):@!@ !] ' %Z@"@ !_0#'!@ "+G 8 Q *+> "5H 8 <( /P!8
- XMH 8 7$ ! #DC D !D(D15A300#.H P 0,!F@ #*!@#EG 4 S %6"#2@
- XM!@ !;@"; %"0$0 0I-3U5314-,24-+< ]:"! $+ >D +D )H
- XMBW8(@SP'N ?@%(BW8*@SP/N0 ?@%)"\B+=@:!//\ N ?@%("\$CP'0#
- XMZ0 QP8 H QP8 QP8 BW8(BP31X-'@T>#1X-'@T>#1X-'@T>#1
- XMX-'@T>"+=@J+#-'AT>'1X='AT>'1X='A]9P4 ,P'5@;$/8L& ,1#BP@ Q$F+
- XM"@!3H"@ 8@!T>$#R(MV!@,,B\&C #'1O0S (U&]%"X !0N 4)H
- XM-YP4 ,0,BPP Q!B+!@#$'(L6 ,P@5@>RH 8 40!9@"NH 8 0\! @!'H P
- XM :P!F@ #*!@ \G 4 S %6"#2@!@ !# &F *:0$@ 0M-3U5314-54E-/
- XM4@X! -R@@0 !M 'I "Y ": (MV!HL$(\!U ^D (MV#H,\ +@ 'X!
- XM2(M^#(,] +D 'X!22/(BW8*@SP N ?@%((\&+=@B#/ "Y !^ 4DCR"/)
- XM=0/I "+=@Z+!-'@T>#1X 7X_XE&](L%T>#1X-'@!?C_B4;RBW8*BP31X-'@
- XMT3J<!0#,!U8&,* ? $Q N %^/^)1O"+=@B+!-'@T>#1X 7X_XE&[ND "6@
- XM!@ !!@)$ V@!P !3 +I AH 8 4H" P *H < 4\"Z0 'J & ') 8<
- XM"* D %2 HMV#HL$B4;TBW8,BP2)1O*+=@J+!(E&\(MV"(L$B4;N>Z & %0
- XM B YZ ^ %R L<& 0 (M&\J, (M&]*, (M&[J, (M&\*, ,=&[#,
- XMC4;L4+@ %"X !0F@ #'!@ "*G"T Q *+!@#$"HL* ,00BPP Q!:+
- XM$ #$'(L2 ,0HBP8 Q"R+%@#,,%8'Q#:+>@"ZH 8 4T"70"MH 8 ;@!"@"6
- XMH P :P"F@ #*"@ WG 4 S %6"#2@!@ !M0'] *:0$P 0Q-3U531458
- XM0TQ51$6W 0 %H($ ;0"Z0 N0 F@ "+=@:+!"/ =0/I "+=@Z#/ "X
- XM !^ 4B+?@R#/0"Y !^ 4DCR(MV"H,\ +@ 'X!2"/!BW8(@SP N0 ?@%)
- XM(\@CR74#Z0 BW8.BP31X-'@T> %^/^)1O2+!='@T>#1X 7X_XE&\HMV"HL$
- XMT>#1X-$YG 4 S =6!C"@'P !,0/@!?C_B4;PBW8(BP31X-'@T> %^/^)1N[I
- XM DH 8 08#1 ,H < 4P#Z0 (* & %* P, ": ' %/ ^D !V@!@ !
- XMR0*' >@) !4@.+=@Z+!(E&](MV#(L$B4;RBW8*BP2)1O"+=@B+!(E&[GJ@
- XM!@ !4 ,@ .:@5 !<@/'!@ " "+1O2C "+1O"C #'1NPS (U&[%"X !0
- XMN 4)H QP8 < BT;RHP BT;NHP QT;J,P"-1NI0N 4+@ %":
- XM ).<.P#$ HL& ,0*BPH Q!"+# #$'(L& ,0@BQ8 S"16!\0JBP8 Q#*+
- XM"@#$.(L, ,1$BP8 Q$B+%@#,3%8':: & %- W, EJ & &X @P DZ , '"
- XM YH R@H ()P% ,P!5@@TH 8 ;4"$P&.D!( $+34]54T5,24U)5%.W
- XM @ ^H%L <H#Z0 N0 F@ "+=@:+!"/ =0/I "+=@J#/ "X !^ 4B+
- XM?@B#/0"Y !^ 4DCR"/)=0/I "+!-'@T>#1X 7X_XE&](L%T>#1X-'@!?C_
- XMB4;RZ0 I)P% ,P'5@8PH 8 0 $'P VH < 2$$Z0 2J & $?! , ,Z '
- XM $D!.D $>@!@ !WP-& #&@% !)P2+=@J+!(E&](MV"(L$B4;R:J & $E
- XM!! (* L $W!,<& $ (M&\J, (M&]*, ,=&\#, C4;P4+@ %"X !0
- XMF@ !LG!X Q *+!@#$"HL* ,00BPP Q!R+!@#$((L6 ,PD5@?>H 8 2($
- XM.P#XH 8 <X#!@""H P 5\$F@ #*!@"&G 4 S %6"#2@!@ !RP.: /&0
- XM$@ 0M-3U5314Q/0T%41<T# $&,$0 &0B1&24PR 9")$9)4S( :J!R %G
- XM!.D +D )H QP8 , QT;T,P"-1O10N 4+@ %": (MV!HL$
- XM(\!U ^D *$ )H S30V #-- 8 )H BW8*B02A ": ,TT
- XM-@ S30& ": (MV"(D$Z0 :IQ& ,P'5@;$#8L& ,0;BP8 Q!^+%@#,
- XM(U8'Q#2+' #,-U8)Q#Z)' #$0XD@ ,Q&5@K$4(L: ,Q35@G$6HD< ,1?B2
- XMS&)6"B^@# )' !! " /R^@!@ !F 0[ (*@% !U02A "+=@J)!*$
- XM (MV"(D$ IP+ ,0!BQP Q F+&@![H 8 =,$$ !RH 8 6L$ @#HH P >4$
- XMF@ #*!@ G 4 S %6"#2@!@ !: 2# &J0% 0U-3U5315!/4TE424].
- XM:@0 XJ!- 'M!.D +D )H BW8&BP2)1O2#?O0 = /I #'!@ #'
- XM1O(S (U&\E"X !0N 4)H H0 BW8&B03'!@ #I ".G"( S =6
- XM!L0>BP8 Q"R+!@#$,(L6 ,PT5@?$.8L8 ,1"BWH @J & $'!2T (* Z $V
- XM!8-^] %T ^D ,<& A ,=&\#, C4;P4+@ %"X !0F@ "A "+=@:)
- XM!,<& .D ,Z<'@#$"XL& ,09BP8 Q!V+%@#,(58'Q":+& #$+XMZ ">@
- XM!@ !/04M .J,%0 &0B121$E- I)3E1%4E)54%18 )B@@@ !; 6#?O0"= /I
- XM #'!@ %0#'1NXS (U&[E"X !0N 4)H H0 0(E&[#/ 4/]V[+@"
- XM %"X 0%0N 4)H QP8 !8 O@ NP( UP*CD0"C,"C "[ @ #7 J.
- XM1 *+PZ, ,=&ZC, C4;J4+@ %"X !0F@ #^G$0 Q N+!@#$&8L& ,0=
- XMBQ8 S"%6!\0FBQ@ Q#N+3@#,/U8+Q$6+)@#$2HM. ,18BS@ Q&:++ #$<HLF
- XM ,1VBSH S'I6#,:@!P !Z@7I " H 8 7,%> !IH$L >T%@W[T W0#Z0
- XMQP8 !< O@ NP( UP*CD0"C,"C "[ @ #7 J.1 *+PZ, ,=&Z#, C4;H
- XM4+@ %"X !0F@ #I ".G", Q N+)@#$$(M. ,0>BS@ Q"R++ #$.(LF
- XM ,0\BSH S$!6#.B@!@ !] 4^ "*@@@ !- :#?O0$= /I #'!@ %0#'1N8S
- XM (U&YE"X !0N 4)H H0 0(E&Y#/ 4/]VY+@" %"X 0%0N 4)H
- XM QP8 !8 O@ NP( UP*CD0"C,"C "[ @ #7 J.1 *+PZ, ,=&XC,
- XMC4;B4+@ %"X !0F@ !CG$0 Q N+!@#$&8L& ,0=BQ8 S"%6!\0FBQ@
- XMQ#N+8@#,/U8+Q$6+)@#$2HMB ,18BS@ Q&:++ #$<HLF ,1VBSH S'I6#)Z@
- XM!P !L@;I "WH 8 3L&> "@H$L ;4&@W[T!70#Z0 QP8 !< O@ NP(
- XM UP*CD0"C,"C "[ @ #7 J.1 *+PZ, ,=&X#, C4;@4+@ %"X !0F@
- XM #I #3G", Q N+)@#$$(MB ,0>BS@ Q"R++ #$.(LF ,0\BSH S$!6#-2@
- XM!@ !O 8^ %F@!@ !- 7& 5F@!@ !:@60 5F@!@ !ZP4/ 5F@!@ !,@;( %F@
- XM!@ !LP9' %F@!@ !^@8 %F@!@ !\006 $Z@# !_ :: ,H" .N<!0#,
- XM 58(-* & 'N!!0"49 1 !"DU/55-%4D53153P! !4H%0 00'Z0 N0
- XMF@ "+=@K'! BW8(QP0 (MV!L<$ #'!@ P#'1O0S (U&]%"X !0
- XMN 4)H H0 )0$ (\!U ^D (MV"L<$ 0"AG!T S =6!L0BBP8 Q#"+
- XM!@#$-(L6 ,PX5@?$/8L8 'Z@!@ !2P<' "@& !5 >A E @ CP'4#Z0
- XMBW8&QP0! V<!@#$ 8L8 /:@!@ !7P<' .R@& !: >A E! CP'4#Z0
- XMBW8(QP0! /6<!@#$ 8L8 /:@!@ !<P<' -B@!@ !" <" $B@# !? >:
- XM ,H& &:<!0#, 58(-* & $%!WT T) 2 !"TU/55-%4T-23TQ,!P< [* _
- XM &$!^D +D )H QP8 #,UQT;T(0"-1O10N 4+@ %": (,^
- XM = /I "+=@;'! Z0 99P= ,P'5@;$#8LF ,0;BR8 Q!^+.@#,(U8,
- XMQ"F+3 !)H 8 ;,'"@"5H"< ;\'BW8&QP0! ,<& @ ,=&\C, C4;R4+@
- XM %"X !0F@ #!G!0 Q F+!@#$%XL& ,0;BQ8 S!]6![Z@!@ !O0<C '*@
- XM!@ !B <$ ,:@# !X@>: ,H" 2<!0#, 58(-* & &%!V, :I 2 !
- XM"TU/55-%4U1!5%53AP< 5XP1 9")%-423( !D(D1DU)1 !)H($ >H'Z0
- XMN0 F@ #'!@ ) #'1O0S (U&]%"X !0N 4)H N0 !H0 )0#_
- XMF??YB4;R4)H 4+@" %"X_W]0F@ !0C4;N4)H H0 )? B4;L
- XMBPX (/A#XO!B4;JN 4/]V[)H 4+@" %"X_W^.G#P S =6!L0-BP8
- XMQ!N+!@#$'XL6 ,PC5@?$*XL8 ,PX5@W,1E8.S%!6!<15BQ@ Q%^+& #$:HDD
- XM ,QQ5@UTH H "20 0 "X ^IP& ,0"B2@ YXP1 9")%-#050 !D(D4U1$
- XM3 IH&P 6<(4)H 4)H 4(U&YE": (U&YE#_=NJ: %"X
- XM @!0N/]_4)H 4)H 4(U&YE": (U&[E"-1N90F@ !0_W8&
- XMF@ "-1N90F@ "-1NY0F@ #]G"T S )6#LP(5@_,$E8%S!Y6#<PL
- XM5@[,,E8/S#Q6!<Q)5@_,4E8%S%M6$,QD5A .H 8 >X'$ !4H P <\(F@
- XM #* @ 6G 4 S %6"#2@!@ !ZP?J 'V0$P 0Q-3U53159%4E-)3T[M!P"M
- XMH%0 =<(Z0 N0 F@ "+=@:#/ &X !U 4B#/@ +D '4!22/((\EU
- XM ^D ,<& ! ,=&]#, C4;T4+@ %"X !0F@ #'!@ 0#I #(G"(
- XMS =6!L09BWH Q"V+!@#$.XL& ,0_BQ8 S$-6!\1)BWH _: & $ "24 *Z!&
- XM $G"8MV!H,\ +@ '4!2(,^ !N0 =0%)(\@CR74#Z0 QP8 ( QT;R
- XM,P"-1O)0N 4+@ %": ,<& *Z<'@#$#HMZ ,0BBP8 Q#"+!@#$
- XM-(L6 ,PX5@?$/HMZ '*@!@ !)0E" .F@!@ !10DB .F@!@ !VP@$ '*@# !
- XM:0F: ,H" 'N<!0#, 58(-* & '8")< XI 3 !#$U/55-%5DE324),
- XM1=H( ->@!P * #__P%0C D !D(D0T5.4 #9H D 7$)F@ !"G 4 S %6
- XM$2N* @ !<P /&M 0
- XM
- XM
- XM
- XM
- XM
- XM
- XM
- XM
- XM '%6 $.Q "(F
- XM/8["M[PW$P AQE/,4D E6D?>,A;8LVDG !_K"S2"$%"4T],551% 0 "6%B
- XM<V]L=71E(0$ T-44FP!!41%3$%9; $(1$]724Y$3U=E '1V5T4V-R;DD
- XM"&=E='-C<FXA20 "$E.5#@V3TQ$*@ "6EN=#@V;VQD(2H "4E.5#@V6$],
- XM1"H "4E.5$524E505 X "DE.5$524E505%@. ':6YT<G!T(0X "DU/55-%
- XM0TQ)0TO. 0 +34]54T5#55)33U+. 0Q-3U5314580TQ51$7. 0 +34]54T5,
- XM24U)5%/. 0M-3U5314Q/0T%41<X!#4U/55-%4$]3251)3T[. 0I-3U5315)%
- XM4T54S@$ "TU/55-%4T-23TQ,S@$+34]54T535$%455/. 0Q-3U53159%4E-)
- XM3T[. 0 ,34]54T5625-)0DQ%S@$ !U!R=%-C<FY/ 0AP<G1S8W)N(4\! =0
- XM=71S8W)N5P (<'5T<V-R;B%7 (<31M;W5S92'. 0 '<31T;V]L(6P!!W$T
- XM=VEN9"%E
- XM
- XM \D( "0 ! "@ #@ J "H + !) "X 5P P &4 ,@!/ 38 ; $X
- XA ,X!/ $ !@ $ " ! $
- X
- Xend
- + END-OF-FILE q4t.lib.uu
- chmod 'u=rw,g=,o=' 'q4t.lib.uu'
- set `wc -c 'q4t.lib.uu'`
- count=$1
- case $count in
- 19166) :;;
- *) echo 'Bad character count in ''q4t.lib.uu' >&2
- echo 'Count should be 19166' >&2
- esac
- echo Extracting 'q4t.qlb.uu'
- sed 's/^X//' > 'q4t.qlb.uu' << '+ END-OF-FILE ''q4t.qlb.uu'
- Xbegin 644 q4t.qlb
- XM35J8 3( 90%@ /____]-!0 4^L- !L"'@ $ * !-!3 304X $T%0 !-
- XM!4@ 3050 $T%6 !-!6 305H $T%< !-!7@ 306 $T%B !-!9 3068 $T%
- XMH !-!:@ 306P $T%N !-!< 307( $T%T !-!=@ 307@ $T%Z !-!? 307X
- XM $T% %-!0@!3040 4T%& %-!2 !304H 4T%, %-!3@!305 4T%2 %-!5 !
- XM3058 4T%8 %-!6@!305P 4T%>@%-!8(!306* 4T%D@%-!9H!306B 4T%J@%-
- XM!;(!306Z 4T%P@%-!<H!3072 4T%X@%-!>H!307R 4T%^@%-!0("304* DT%
- XM$@)-!1H"304B DT%*@)-!3("304Z DT%0@)-!4H"3052 DT%6@)-!6("305J
- XM DT%<@)-!7H"306" DT%B@)-!9("306: DT%H@)-!:H"306R DT%N@)-!<("
- XM307* DT%T@)-!=H"307B DT%Z@)-!?("307\ DT%! --!0P#3044 TT%' --
- XM!20#304L TT%- --!3P#305$ TT%3 --!50#305< TT%9 --!6P#305T TT%
- XM? --!80#306, TT%E --!9P#306D TT%K --!;0#306\ TT%Q --!<P#3074
- XM TT%W --!>0#307L TT%] --!?P#304$!$T%# 1-!10$304<!$T%) 1-!2P$
- XM304T!$T%/ 1-!0, 304. $T%$ !-!1( 3046 $T%' !-!08 2P4Y -8 1@#6
- XM ! !U@ [ =8 5 '6 & !U@!E =8 <@'6 #8"U@! M8 2@+6 %<"U@!= M8
- XM9P+6 *8"U@"P M8 N@+6 ,<"U@#- M8 UP+6 !8#U@ @ ]8 *@/6 #<#U@ ]
- XM ]8 1P/6 (8#U@"0 ]8 F@/6 *<#U@"M ]8 MP/6 /8#U@ !-8 "@36 !<$
- XMU@ =!-8 )P36 "\$U@!$!-8 2@36 %,$U@!9!-8 8P36 &L$U@!X!-8 ?@36
- XM (<$U@"-!-8 EP36 )\$U@"K!-8 L036 +H$U@# !-8 R@36 -T$U@ (!=8
- XM* 76 #D%U@!#!=8 :@76 *4%U@"O!=8 Q 76 ,T%U@#G!=8 \076 8&U@ /
- XM!M8 %P;6 "H&U@"0!M8 F@;6 *0&U@"S!M8 O0;6 ,<&U@#1!M8 Y ;6 .X&
- XMU@#[!M8 $P?6 !P'U@ E!]8 +@?6 #<'U@! !]8 20?6 %('U@!;!]8 8 ?6
- XM &@'U@ * $L%.P!- 48 30%3 $T!6 !- 64 30%J $T!>@!- 8@ 30&- $T!
- XMIP!- ;D 30'3 $T!W0!- >< 30'Q $T!^P!- 1 !30$: 4T!0 %- 44!30%/
- XM 4T!7@%- 78!30&8 4T!H0%- :8!30&N 4T!#@!+!48 : %> &@!:P!H 78
- XM: &G &@!!@%H 10!: &J 6@!KP%H ;T!: &D F@!KP)H ;T": &8 V@!P -H
- XM <4#: '3 V@!701H 6($: %P!&@!C 1H : $: &O!&@!O 1H <L$: 'H!&@!
- XM]@1H 2,%: %9!6@!CP5H :T%: 'H!6@!+P9H 5<&: %U!F@!L 9H ?<&: '_
- XM!F@!#0=H 3X': %_!V@!C0=H :D': '@!V@!Y0=H ?,': $/"&@!) AH 3((
- XM: $\"&@!70AH 6L(: %Q"&@!>PAH 8<(: &5"&@!FPAH :4(: &R"&@!NPAH
- XM <0(: '-"&@!T@AH > (: $<"6@!80EH 6P): %T"6@!"@ Q!0X ,042 #$%
- XM-0"1 #X D0!( )$ 40"1 @!, B C *@(P #(", Z C 0@(P $H", "/
- XM Y$ 2P21 -0", M S 40,P %D#, !F S F ,P /\#, !:!# F 0P *<$
- XM, #\!# 204P $X%, )!C
- XM
- XM !5B^P>!E97BUX&BP^+=P*[ ".PR:A200\ WX'/ =T">L1D+L
- XMN.L$D+L L([#OP \Z1?7@<?7<H" !5B^P>!E97BUX&BP^+?P*[ ".PR:A
- XM200\ WX'/ =T">L3D+L N.L$D+L L!Z.VP>^ #SI%]>!Q]=R@( %6+[%<>
- XM5@:+7@B+/T^+7@J+!TB+7@R+#^,ZBW<"NT CL,F]R9* /XT>>X + FBQX0
- XM (/C,(/[,'0#N "X)HL68P"#P@:+7@:+'X[ I":('4?B^0=>'U]=R@@ 6%I;
- XM4E#_-LD _S?+58OL@\3BQT;Z" #K"U6+[(/$XL=&^@H B7;DB7[BC%[\G(]&
- XM_HMV"(U^YHM.^OP6!_.E58MV"HL<"O]T ^FQ (#[)70%@/LF=0ZX" !0N +*
- XM4+B#Q%#K!S/ 4+C*!E"*X[#-4 ZXJ@!0%HO$!08 4(M&]"75#U"+1N:+7NB+
- XM3NJ+5NR+=O"+?O*#?OH(=!2!?O;__W0#CE[V@7[X__]T XY&^(MN[IW+58OL
- XMBVX"G(]&]/]V_IV)1N:)7NB)3NJ)5NR+1MZ)1NZ)=O")?O*,7O:,1OB.7OR-
- XM=N8>!XM^!HM.^OSSI8MVY(M^XHOE7<H& (MV"L<$__^+=N2+?N*.7OR+Y5W*
- XM!@ 58OL@\3@QT;X" #K"U6+[(/$X,=&^ H B7;BB7[@G(]&_HMV!NCP (E6
- XM_(E&^HMV".CD !Z.VHOPC7[DBT[X_!8'\Z4?58MV"HL<"O]T ^FQ (#[)70%
- XM@/LF=0ZX" !0N +*4+B#Q%#K!S/ 4+C*!E"*X[#-4 ZXQ !0%HO$!08 4(M&
- XM\B75#U"+1N2+7N:+3NB+5NJ+=NZ+?O"#?O@(=!2!?O3__W0#CE[T@7[V__]T
- XM XY&]HMN[)W+58OLBVX"G(]&\O]V_IV)1N2)7N:)3NB)5NJ+1MR)1NR)=NZ)
- XM?O",7O2,1O86'XUVY(Y&_(M^^HM.^/SSI8MVXHM^X(OE7<H& !8?BW8*QP3_
- XM_XMVXHM^X(OE7<H& (M4 HL$P\, .R:V '(@_P;P /]&]LO_#O _T[V>!6#
- XMQ */!DPSCP9*,_\N2C-5B^SI* %5B^SI$@&/!DHSCP9,,_\.\ #_#A,!C6;Z
- XM7UZ/!NX 7?\N2C.+Q"O!<M M"@!RRSL&M@!RQ8\&2C./!DPS58OL_S;N %97
- XM45 KX8DN[@#_!O _P83 8O\!AX'T>E!,\#SJP?_+DHS %:+W8O+BQ\['NX
- XM=?:+V3/)BU\$F)8>CMNM'U[#!H[")HL.(@ 'B\0KP7(R+0H <BT[!K8 <B>/
- XM!E SCP92,U6+[/\V[@!65U$SP% KX8DN[@#_!O _P83 ?\N4#-5B^SI7 !5
- XMB^SJ) (P %8>4+ *Z(S_CMN6,]N+TUFM"\!T%CO!<P\[PW(+DZUU!#O"=NN2
- XMZ^BMZ^4?"]N27L, NP"4Z;< LS8]LS0]LPL]LP4]LP,]LP<]LTD]LP8R_^F;
- XM +L'D.OX@<=^ 2[_%<N!P8 !B]DN_R?_'L( 7\/_+KX G@#S ^<#PP55!4P"
- XM#P.$ X<#M@)7OP Z]Q7OP( Z]97OP0 Z]!7OP8 Z\I7OP@ Z\17OPH Z[Y7
- XMOPP Z[A7OPX Z[)7OQ ZZQ7OQ( ZZ97OQ0 ZZ!7OQ8 ZYI7OQ@ ZY17OQH
- XMZXY7OQP ZXA7OQX ZX)7OR Z7O_5[\B .ET_U>_) #I;?]7OR8 Z6;_5[\H
- XM .E?_U>_*@#I6/^[ #J>@$P +L$ .IZ 3 NP@ ZGH!, "[# #J>@$P +L0
- XM .IZ 3 NQ0 ZGH!, !5B^PSP.A*_L<&!@$" (D>" &A"@& /@X! '5*"N1U
- XM1L8@'_BUX&BT<"BU<$HP(!B18$ 5+HA?ZC# %:'H[:BQX. !^+7P2'R^,:
- XMBUX&BR^+Q2M&^"M&]BM&]BT* (O@4E'I"?Y=R@( 58OL!HM>!@O;= :#?P(
- XM=07'1@9&,[,,_W8&FHD#, +P'4$"])T*5'H^@!;4(X&TP"#PP@FQ$<$C,+H
- XMZ "26"O0=@H][#-U"(/Z!G<#,\"9DS/ !UW* @!5B^R#[ 2+1@8+TG0HL5]1
- XMB]RY 0!348O<4U":8@&1 (/$!HO8BP^+7P* /RYU \8'7T/B]8U>_,=' @
- XM4%.:7P&1 +,(4)J) S "])U&8U>_%.:A ,P :.!M, ,]LF.U<.!W,"DYF-
- XM7OSH7/Z+Y5W* @"S"CVS#%6+[%97!C+_4_]V!IJA 9$ 6U"6,\"9C@;3 (L,
- XMBW0")HL?@^L(@\,()H,_ '09)HM_ E%6\Z9>677K)C@%=>8FQ$<$C,*+RUOH
- XM"_X'7UY=R@( C-DKT;$$T^(#PL.Q [@H,^B7 .C7 ,M7!O8&Z0 "= B:YP,P
- XM .CC !X'N= TO\0T*\\SP-'I\ZMS :J.!M, )HL6( FBQX> ":.!AP ,_\+
- XMTG0/N0" \ZN,P8#%$([!2G7QB\O1Z?.K<P&JN.PSNO(SB\HKR(/Y!G<6FC0"
- XM, +P'0'DXO" ]/K!KCL,[KR,Z.Z *,, (D6O !!@ [I *X.C/H P '7\M6
- XM5S+MEK@# %%64(O<4U.:AP,P %N#1P(#Z#K_EE.:AP,P .@P_Y<[]W0.@^\$
- XMBP4+10)T\O\=Z^Y87@/P6>+(7U[#!KL0 #L>7 !W#(Y' K1)S2PP3K[L<&
- XM7 , ?#5E<&'HL^UP"#/ML '10,\!0FK8", "+#M4 "]N<= 0KWX?9H=L
- XM'@>.V#/VT>GSI7,!I)UT"@/R _J+RRO.\Z0&'XX&TP FBQ8: ":+'A@ )HX&
- XM%@".'N, Z)H ZPJ:' (P )I5!3 'P=?7L-04U%25E<&'J'5 O =$2+R#/2
- XMN]D Z*#\"\!T-HX&VP S_XLVUP!!T>GSI8X&TP FBQ8: ":A& [PG4$"\!T
- XM)(O(N^$ Z'#\"\!U"+O9 .AM_.L0B]F+#N, )HX>%@".P>@D !\'7UY:65M8
- XMRX,^VP = :[V0#H1?R#/N, '0&N^$ Z#C\RS/V,_\+TG06N0" \Z6,P8#%
- XM$([!C-F Q1".V4IUZHO+T>GSI7,!I,.:1 (P ,L
- XM +@!3,TA #-/^S-/^W-/_\OS3__,,T__S&:-P"1 ,T_
- XM_S*:00"1 ,O-/_\SFDH D0#-/_\TFE, D0#-/_\U S3\ S3\&
- XMS3\'S3\)S3\/S3\3S3\4S3\RS3\SS3\TS3\US3\VS3\WS3\XS3\YS3] S3]!
- XMS3]"S3]%S3]&S3]'S3](S3])S3]*S3]+S3].S3]0S3]1S3]2S3]3S3]6S3]7
- XMS3]8S3]9S3]:S3];S3]BS3]CS3]DS3]ES3]FS3]HS3]IS3]JS3]KS3]LS3]N
- XMS3]PS3]QS3]RS3]SS3]TS3]US3]VS3]WS3]YS3^&S3^'S3^,S3^-S3^/S3^0
- XMS3^1S3^3S3^4S3^5S3^6S3^7S3^8S3^CS3^DS3^ES3^FS3^GS3^MS3^NS3^Q
- XMS3^RS3^SS3^TS3^US3^VS3^[S3^\S3_!S3_"S3_#S3_$S3_%S3_&S3_+S3_,
- XMS3_-S3_.S3_1S3_2S3_3S3_6S3_7S3_8S3_9S3_:S3_;S3_<S3_=S3_>S3_?
- XMS3_@S3_AS3_BS3_FS3_GS3_JS3_KS3_NS3_RS3_US3_YS3_ZS3__!,T__P7-
- XM/_\'S3__",T__PG-/_\*S3__#<T__P[-/_\; ,T__Q7-/_\6S3__
- XM%\T__QC-/_\9S3__<__QS-/_\=S3__'LT__Q_-/_\@S3__(<T__R+-/_\C
- XMS3__),T__R7-/_\FS3__)\T__RC-/_\IS3__*LT__RO-/_\LS3__+<T__RX
- XM #-/P'-/P+-/P/-/P7-/PS-/Q'-/Q+-/Q7-/QC-/QG-/QK-
- XM/QO-/QS-/QW-/Q[-/Q_-/R#-/R'-/R+-/R/-/R3-/R7-/R;-/R?-/RC-/RG-
- XM/RK-/RO-/RS-/RW-/R[-/R_-/S#-/S'-/SK-/SO-/SS-/SW-/S[-/S_-/T/-
- XM/T3-/TS-/TW-/T_-/U3-/U7-/US-/UW-/U[-/U_-/V?-/V_-/WC-/W[-/W_-
- XM/X#-/X'-/X+-/X/-/X3-/X7-/Y+-/YG-/YK-/Z#-/ZG-/ZK-/ZO-/ZS-/Z_-
- XM/[#-/[?-/[C-/[G-/[K-/\?-/\C-/\G-/\K-/\_-/]#-/]3-/]7-/_\&S3__
- XM#\T__Q#-/_\1S3__$LT__Q/-/_\4S3__-LT__S?-/_\XS3__.<T__SKJ/ (P
- XM !5B^Q65P:#?@H =3B_# "+5@B+1@9(=0?H4P!R)^M(BS9< $AT$3OW= V+
- XM1 *)1@Y6Z#H 7G,P@\8$@?Y< ',$"])U!KC__YGK'8O:@\,/T=NQ ]/KM$C-
- XM(7+IDHD$B50"B39< #/ !U]>B^5=RXM.#HOW.4P"= R#Q@2!_EP =?+YZRR+
- XMV@,<<B:+TX[!._=U"#D>O !S$^L6@\,/T=O1Z]'KT>NT2LTA<@62AP2+T<-5
- XMB^P6'^I4 3 8FQ1-%=)3D0@( DC1@,_(S 8#,
- XM- #__X 0Z3('N58 FFL , "X #10C4;R4)I? 9$ BW8*@SP
- XM?P/I) / &X !U 4B#/ .Y !U 4D+R"/)=0/I$0"+=A:+! 7^_XE&\(E&
- XM[NDU (MV"H,\ K@ '4!2(,\!+D '4!20O((\EU ^D7 (MV%HL$BWX2B]@#
- XM!8E&\(/# HO#B4;NBW88BP2+?A0#!3T9 +D 'X!28-^\ &X !] 4@+P8M.
- XM\(/! H/Y4+H 'X!2@O0(])U ^D' (MV"L<$ "+=@J#/ -T ^D; (MV&/\T
- XMBW86BP1(4+@! %":MP"1 (E&[.DP (MV"H,\!'0#Z2 BW88_S2+=A:+!(M^
- XM$@,%0%"X 0!0FK< D0")1NSI!0#'1NP +@0 )E24(M&[)H( I$ S30V'#3-
- XM/9HD I$ FA0"D0 E!P"#X@!24)H% 9$ B4;JBW86@SP!N ?0%(BW88@SP!
- XMN0 ?0%)"\@CR70#Z7T%BW86BP2+?A(#!4@]4 "Y !^ 4F+=AB+!(M^% ,%
- XM2#T9 +H 'X!2@O1(])T ^E,!8MV#HL$)0< T>#1X-'@T>"+=A #!(E&Z(MV
- XM#(,\ +@ 'X!2(,\!KD 'T!22/((\EU ^DN X,\ 70#Z64 QT;FV@#'1N2_
- XM ,=&XL QT;@V0#'1M[$ ,=&W+, QT;:Q #'1MBS +BT %":=0"1 %"X(#10
- XMFF(!D0!0C4;44)I? 9$ N" T4+C# %":=0"1 %":8@&1 %"-1M!0FE\!D0#I
- XMO0&+=@R#/ )T ^EE ,=&YLD QT;DNP#'1N+( ,=&X+P QT;>S0#'1MRZ ,=&
- XMVLT QT;8N@"XM0!0FG4 D0!0N" T4)IB 9$ 4(U&U%":7P&1 +@@-%"XQ@!0
- XMFG4 D0!0FF(!D0!0C4;04)I? 9$ Z4T!BW8,@SP#= /I90#'1N;5 ,=&Y+@
- XMQT;BU #'1N"^ ,=&WLT QT;<LP#'1MK- ,=&V+, N+4 4)IU )$ 4+@@-%":
- XM8@&1 %"-1M10FE\!D0"X(#10N,8 4)IU )$ 4)IB 9$ 4(U&T%":7P&1 .G=
- XM (MV#(,\!'0#Z64 QT;FU@#'1N2W ,=&XM, QT;@T #'1M[$ ,=&W+H QT;:
- XMQ #'1MBZ +BT %":=0"1 %"X(#10FF(!D0!0C4;44)I? 9$ N" T4+C# %":
- XM=0"1 %":8@&1 %"-1M!0FE\!D0#I;0"+=@R#/ 5T ^EB ,=&YML QT;DVP#'
- XM1N+; ,=&X-L QT;>WP#'1MS; ,=&VMP QT;8VP"XW0!0FG4 D0!0N" T4)IB
- XM 9$ 4(U&U%":7P&1 +@@-%"XW@!0FG4 D0!0FF(!D0!0C4;04)I? 9$ _W;F
- XMFG4 D0!0BW82BP0%_O]0_W;>B4;.FHD!D0!0FF(!D0!0_W;DFG4 D0!0FF(!
- XMD0!0C4;*4)I? 9$ _W;<FG4 D0!0_W;.N" 4)J) 9$ 4)IB 9$ 4/]VV)IU
- XM )$ 4)IB 9$ 4(U&QE":7P&1 /]VXIIU )$ 4/]VSO]VVIJ) 9$ 4)IB 9$
- XM4/]VX)IU )$ 4)IB 9$ 4(U&PE":7P&1 (U&RE#_=AC_=A:-1NA0F@H !P"+
- XM=A2+!(M^& ,%!?[_B4; BP5 Z1D D(U&QE"-1KY0_W86C4;H4)H* < BT:^
- XM0(E&OCM&P'[@C4;"4(U&OE#_=A:-1NA0F@H !P#I2P"+=A+_-+@@ %":B0&1
- XM %"-1KA0FE\!D0"+=A2+!(M^& ,%2(E&O(L%Z1@ C4:X4(U&OE#_=A:-1NA0
- XMF@H !P"+1KY B4:^.T:\?N"+=@J#/ !_ ^F. (MV&(L$BWX4B]@#!4B)1K9#
- XMB\/I.@"0N ( 4+BQ %":B0&1 %"-1K)0FE\!D0"-1K)0C4:P4(U&\%"-1NI0
- XMF@H !P"-1K)0FGH!D0"+1K! B4:P.T:V?K^+=A+_-+BQ %":B0&1 %"-1JQ0
- XMFE\!D0"-1JQ0C4:P4(U&[E"-1NI0F@H !P"-1JQ0FGH!D0#_=@B:DP"1 O
- XMN0 ?@%)_W8(B4ZJFI, D0 %! "+=A([!+D 'T!22-.JB/)=0/IT0"+=@:#
- XM/ "X !U 4B#/ *Y !U 4D+R"/)=0/I"P"+=AB+!(E&J.D. (MV&(L$BWX4
- XM P5(B4:HBW8&@SP!?P/I(P"-1M10_W8(FF(!D0!0C4;04)IB 9$ 4(U&I%":
- XM7P&1 .D@ +@@-%#_=@B:8@&1 %"X(#10FF(!D0!0C4:D4)I? 9$ BW86BP2:
- XM" *1 (MV$HL$B]B-1J10B5ZBFI, D0 K1J+WV)H( I$ S30V)C3-.L&:$ *1
- XM (E&H(U&I%"-1JA0C4:@4(U&Z%":"@ ' (U&N%":>@&1 (U&PE":>@&1 (U&
- XMT%":>@&1 (U&U%":>@&1 (U&QE":>@&1 (U&\E":>@&1 (U&I%":>@&1 (U&
- XMRE":>@&1 )H\ # RA0 FB, D0 !B;5$T5$]/3" @ "B-&8S\C,
- XM !@,P # T /__@ "X,#10N&PS4)I? 9$ Z3\
- XMN0 FFL , #--09,-/]V")J3 )$ F@@"D0#--#90-,TZZ9H0 I$ F@@"D0"+
- XM=@;--1S-/8M&!IH\ # R@0 Z2D!N1H FFL , ":FP&1 (OPS34$BW8(S30$
- XMS35>\LT]C4;P4)J'!V@!BW8&BP0CP'4#Z24 D)J; 9$ B_#--03--5[LS3W-
- XM-4;RS35&[,T]FN4!D0!VW^FW )K, )$ 4+A4-%":U0&1 '4#Z1( FLP D0!0
- XMC4;H4)I? 9$ Z]N0S34&6#2+=@C--03-/9KE 9$ =0/I$ ":FP&1 (OPS34$
- XMS35>[,T]BT;P(\!U ^D1 (U&YE"-1N10C4;B4)IP &@!FLP D0!0C4;>4)I?
- XM 9$ S35&\LTU1NS-/9KE 9$ N =@%(B]B-1MY0N%0T4(E>W)K5 9$ N
- XM= %("T;<"T;F"T;D"T;B(\!U ^EO_XU&WE":>@&1 (U&Z%":>@&1 )H\ #
- XMR@0 FB, D0!B;5$T34]54T4@ "R-' S\C, !@,P & T
- XM /__@ SP%#_-M SN ( 4+@! 5"XOC-0FFP D0 SP%#_-M SN (
- XM4+@! 5"XTC-0FFP D0"X8#10N.0S4)I? 9$ Z9L N00 FFL , "+=@K'!
- XMBW8(QP0 (MV!L<$ #'!G8S P#'1O0S (U&]%"X=C-0N(8S4)H" X H8@S
- XMB4;R(\!U ^D# */H,Z'H,SM&\G4#Z3\ )0$ (\!U ^D' (MV"L<$ 0"AZ#,E
- XM @ CP'4#Z0< BW8&QP0! *'H,R4$ "/ =0/I!P"+=@C'! $ QP;H,P FCP
- XM, #*!@#II@"Y @"::P P (MV"(,\1O"+=@B+
- XM!(E&[L<&=C,0 (M&\J-Z,XM&]*-\,XM&[J. ,XM&\*.",\=&[#, C4;L4+AV
- XM,U"XAC-0F@( #@#'!NHS ":/ P ,H* .D3 ;D, )IK # BW8&BP0CP'4#
- XMZ8< BW8.@SP N ?@%(BWX,@ST N0 ?@%)(\B+=@J#/ "X !^ 4@CP8MV
- XM"(,\ +D 'X!22/((\EU ^E$ (MV#HL$T>#1X-'@!?C_B4;TBP71X-'@T> %
- XM^/^)1O*+=@J+!-'@T>#1X 7X_XE&\(MV"(L$T>#1X-'@!?C_B4;NZ0, Z7,
- XMZ2 BW8.BP2)1O2+=@R+!(E&\HMV"HL$B4;PBW8(BP2)1N['!G8S" "+1O2C
- XM>C.+1O"C?#/'1NPS (U&[%"X=C-0N(8S4)H" X QP9V,P< BT;RHWHSBT;N
- XMHWPSQT;J,P"-1NI0N'8S4+B&,U": @ . )H\ # R@H Z9H N08 FFL , "+
- XM=@:+!"/ =0/I1@"+=@J#/ "X !^ 4B+?@B#/0"Y !^ 4DCR"/)=0/I'P"+
- XM!-'@T>#1X 7X_XE&](L%T>#1X-'@!?C_B4;RZ0, Z3L Z1 BW8*BP2)1O2+
- XM=@B+!(E&\L<&=C,$ (M&\J-Z,XM&]*-\,\=&\#, C4;P4+AV,U"XAC-0F@(
- XM#@":/ P ,H& .F# +D" )IK # QP9V,P, QT;T,P"-1O10N'8S4+B&,U":
- XM @ . (MV!HL$(\!U ^D[ *&,,YH( I$ S30V?#3-- : -)H0 I$ BW8*B02A
- XMBC.:" *1 ,TT-GPTS30&@#2:$ *1 (MV"(D$Z1 H8PSBW8*B02ABC.+=@B)
- XM!)H\ # R@8 Z10"N18 FFL , "+=@:+!(E&](-^] !T ^DM ,<&=C, ,=&
- XM\C, C4;R4+AV,U"XAC-0F@( #@"AB#.+=@:)!,<&ZC, .G& 8-^] %T ^DM
- XM ,<&=C,A ,=&\#, C4;P4+AV,U"XAC-0F@( #@"AB#.+=@:)!,<&ZC, .F0
- XM 8-^] )T ^EX ,<&=C,5 ,=&[C, C4;N4+AV,U"XAC-0F@( #@"AB#- B4;L
- XM,\!0_W;LN ( 4+@! 5"XOC-0FC(#D0#'!I8S%@"^OC.[ @ #7 J.1 *,P*.H
- XM,[L" -<"HY$ HO#HYPSQT;J,P"-1NI0N)8S4+BJ,U":#P . .D/ 8-^] -T
- XM ^D^ ,<&EC,7 +Z^,[L" -<"HY$ HS HZ@SNP( UP*CD0"B\.CG#/'1N@S
- XM (U&Z%"XEC-0N*HS4)H/ X Z<@ @W[T!'0#Z7@ QP9V,Q4 QT;F,P"-1N90
- XMN'8S4+B&,U": @ . *&(,T")1N0SP%#_=N2X @!0N $!4+C2,U":,@.1 ,<&
- XMEC,6 +[2,[L" -<"HY$ HS HZ@SNP( UP*CD0"B\.CG#/'1N(S (U&XE"X
- XMEC-0N*HS4)H/ X Z4< @W[T!70#Z3X QP:6,Q< OM(SNP( UP*CD0"C,"C
- XMJ#.[ @ #7 J.1 *+PZ.<,\=&X#, C4;@4+B6,U"XJC-0F@\ #@#I ":/ P
- XM ,H" .E] +D" )IK # BW8*QP0 (MV",<$ "+=@;'! QP9V,P, QT;T
- XM,P"-1O10N'8S4+B&,U": @ . *&(,R4! "/ =0/I!P"+=@K'! $ H8@S)0(
- XM(\!U ^D' (MV!L<$ 0"AB#,E! CP'4#Z0< BW8(QP0! )H\ # R@8 Z6,
- XMN00 FFL , #'!I8S,S7'1O0A (U&]%"XEC-0N*HS4)H/ X @SZ\,P!T ^D*
- XM (MV!L<$ #I(P"+=@;'! $ QP9V,R QT;R,P"-1O)0N'8S4+B&,U": @ .
- XM )H\ # R@( Z>H N1 FFL , #'!G8S) #'1O0S (U&]%"X=C-0N(8S4)H"
- XM X N0 !H8@S)0#_F??YB4;R4)I] 9$ 4+@" %"X_W]0FID D0!0C4;N4)I?
- XM 9$ H8@S)? B4;LBPZ(,X/A#XO!B4;JN(0T4/]V[)I] 9$ 4+@" %"X_W]0
- XMFID D0!0FF(!D0!0C4;F4)I? 9$ C4;F4/]VZII] 9$ 4+@" %"X_W]0FID
- XMD0!0FF(!D0!0C4;F4)I? 9$ C4;N4(U&YE":8@&1 %#_=@::7P&1 (U&YE":
- XM>@&1 (U&[E":>@&1 )H\ # R@( Z9< N00 FFL , "+=@:#/ &X !U 4B#
- XM/NHS +D '4!22/((\EU ^DE ,<&=C,! ,=&]#, C4;T4+AV,U"XAC-0F@(
- XM#@#'!NHS 0#I0@"+=@:#/ "X !U 4B#/NHS ;D '4!22/((\EU ^DB ,<&
- XM=C," ,=&\C, C4;R4+AV,U"XAC-0F@( #@#'!NHS ":/ P ,H" )HC )$
- XM !<S &L!, !C 3 NP P $P!83T)83T584$)84$580T)8
- XM0T5824)8245#3TU-3TX& $ S
- XM
- XM
- XM
- XM 7 0T0V]P>7)I9VAT+3$Y.3 M0V%R95=A
- XM<F4 " 00$ )#0@L@ $ 7 #0T0V]P>7)I9VAT+3$Y.3 M0V%R
- XM95=A<F4 @0@ $ %@T 7 &0T0V]P>7)I9VAT+3$Y.3 M
- XM0V%R95=A<F4 00 @#\! (@T+@ #__P$
- XM__\! /__ 0 -8 !- 0 : $
- XM ZA D0 "=6PB '0!]@( "307(" " " $ 0 22 Y$
- XM 0!(!$,$D0 ! % $C .1 $ 5@00 )$ 0!<!#, U@ ! &4$!@ - $ ;@1#
- XM!)$ 0!W!'@#D0 ! ($$0 !- 0$ A03P 9$ 0"1!! D0 ! )P$= .1 $
- XMJ@1P Y$ 0"V! \ #@ ! ,$$MP)H 0$ S02" $T! 0#3!$4 D0 ! -\$*@"1
- XM $ Z 1. )$ 0#R!(P#D0 ! /D$.P"1 $ !07:"&@! 0 2!28 D0 ! !P%
- XM @ . $ )@4R )$ 0 O!2X D0 ! #L%< !H 0$ 1@4&!C 0!0!0P P !
- XM %@%"@ > $ 804. 6@! 0!M!<T#: $! 'D%%P > $ @P5J!&@! 0"1!>T'
- XM: $! )X%\@$P $ J 6W 6@! 0"U!? $: $! , %!P=H 0$ S 4 0#4
- XM!0H !P ! -P%AP=H 0 @#H!= T (" .T%RP @( \048,P " @#Z!<0T
- XM (" $&RP @( !@8" 0 " @ /!@P! (" !@&!@$ @( (08* 0 " @ J
- XM!M, (" #4& @( / :> "!0!%!G:8 " % &=P @( 5P8" "
- XM @!D!EP (" &P @( =09< " @!_!EX (" (D&J @( D@:J
- XM " @"<!JP (" *8&"@ @( L@9K " @"\!@8 (" ,4&" @(
- XMS@:X " @#9!J (" .$&@@ @( [ 9_ " @#Z!H (" @';P
- XM @( #@>O " @ 6!X0 (" !X'@@ @( )@>& " @ O!W\ (" #D'
- XM@ @( 0P>! " @!,!W\ (" %@'K@ @( 8@>P " @!K!Z( ("
- XM '0'?0 @( >@=[ " @"#!WD (" (X'F@ @( E@>< " # )X'
- XM , JP<, , P"X!PH !P # ,4'!@ - , TP<" X P#?!PH '@ #
- XM .T'" P , \@< )$ P#X!P U@ # 0( !- 0, $ @ &@! P ="
- XM (# "8( @, +@@ " P S" @ ,04# #D("@ T!0, /@@$ #4% P!"
- XM" 0 -04# $4(! U!0, 20@$ #4% P!-" 0 -04# % (! U!0, 5 @$ #4%
- XM P!8" 0 -04# %L(! U!0, 7P@ #8% P!G" -@4$ &\( V!0, =@@
- XM #8%! !^" P /@4$ (8( @ _!0, CP@" #\% P"5" 0 4# )L( !)!0,
- XMH0@$ $L% P"H" 0 2P4# *X(! !,!0, L@@$ $P% P"U" 0 3 4# +D( !-
- XM!0, OP@ $T% !?8G)K8W1L %]E>&5C=F4 7V5X:70 7VUA:6X 1$]724Y$
- XM3U< 04)33TQ55$4 7W-P87=N=F4 7U1%6%1?14Y$ $-44@!?5$585%]35$%2
- XM5 !?7V%U;'-T87)T %]?0D1E4F5G4W1A8VL 7U]"4F5G4W1A8VL 24Y415)2
- XM55!46 !-3U5314Q)34E44P!$14Q!60!?7V%M<V=?97AI= !?7V-H:W-T:P!?
- XM7V-I;G1$258 7U]E>&ET %]?1DU31U]415A4 $U/55-%5DE324),10!?7V9P
- XM<F5S970 24Y415)255!4 %]?9G!T<F%P %]?;G5L;&-H96-K $U/55-%0TQ)
- XM0TL 4V5T545V96YT %!U='-C<FX 24Y4.#9/3$0 34]54T5#55)33U( 34]5
- XM4T5,3T-!5$4 24Y4.#983TQ$ $U/55-%4$]3251)3TX 34]54T5615)324].
- XM %]?0E)53D524@!-3U5314580TQ51$4 34]54T5215-%5 !-3U5315-#4D],
- XM3 !'97138W)N %!25%-#4DX 34]54T535$%455, 7V5N9 D04, 8E]53%9A
- XM<G, 7V5D871A "1$04, 8E]E<G)A9'( 8E]E<G)L:6X 8E]E<G)M;V0 8E]E
- XM<G)N=6T 8E]53%-Y;5-E9P!35$M(45$ 7V5N=FER;VX 7U]A8W)T=7-E9 !?
- XM97)R;F\ 7U]A86QT<W1K;W9R %]?86)R:W 7U]A8G)K=&( 7U]A8G)K=&)E
- XM %]?86-F:6YF;P!?7V%C;61L;@!?7V%C;61S96< 7U]A96YV<V5G %]?865X
- XM:71?<G1N %]?86EN=&1I=@!?7V%S:7ID<P!?7V%T;W!S< !?7V)P0D-?4T%"
- XM %]?8VAI;&0 7U]D;W-E<G)N;P!?7V1O<W9E<FUA:F]R %]?9&]S=F5R;6EN
- XM;W( 7U]F86, 7U]I;G1N;P!?7VYF:6QE %]?;W-E<G( 7U]O<V9I;&4 7U]O
- XM<VUA:F]R %]?;W-M:6YO<@!?7V]S;6]D90!?7V]S=F5R<VEO;@!?7V]V;&9L
- XM86< 7U]O=FQV96, 7U]P9VUP='( 7U]P<W 7U]P<W!A9'( 7U]U;6%S:W9A
- XM; !?7U]A<F=C %]?7V%R9W8 1T544T-23E]415A4 %!55%-#4DY?5$585 !0
- XM4E130U).7U1%6%0 04)33TQ55$5?5$585 !)3E124%1?5$585 !)3E0X-D],
- XM1%]415A4 $-/1$4 7U1%6%0 431724Y$7T-/1$4 43143T],7T-/1$4 431-
- XM3U5315]#3T1% $9!4E]$051! $9!4E]"4U, 3E5,3 !?1$%400!?0E-3 %A)
- XM0@!820!8244 6%!" %A0 %A010!80T( 6$, 6$-% $)27T1!5$$ 0E)?4TM9
- XM4P!#3TU-3TX 0D-?1$%400!.34%,3$]# $5.34%,3$]# $)#7T94 $)#7T-.
- XM $)#7T13 $)#7U-!0@!"0U]300!83T( 6$\ 6$]% %-404-+ %-934)/3
- X! $)#
- X
- Xend
- + END-OF-FILE q4t.qlb.uu
- chmod 'u=rw,g=,o=' 'q4t.qlb.uu'
- set `wc -c 'q4t.qlb.uu'`
- count=$1
- case $count in
- 17142) :;;
- *) echo 'Bad character count in ''q4t.qlb.uu' >&2
- echo 'Count should be 17142' >&2
- esac
- exit 0
-